[elpa] externals/fontaine 095524dc79 1/4: Add support for more faces: mode lines, header line, line numbers

2024-02-19 Thread ELPA Syncer
branch: externals/fontaine
commit 095524dc79740f0e2b61073c7af99c5da11e7cd6
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add support for more faces: mode lines, header line, line numbers

Thanks to Ashlin Eldridge for suggesting the inclusion of mode line
and line number faces. This was done in issue 4:
.
---
 README.org  |  94 --
 fontaine.el | 112 +++-
 2 files changed, 179 insertions(+), 27 deletions(-)

diff --git a/README.org b/README.org
index fdbbc61ee4..2aa87dd3bf 100644
--- a/README.org
+++ b/README.org
@@ -71,12 +71,17 @@ Fontaine lets the user specify presets of font 
configurations and set
 them on demand on graphical Emacs frames.  The user option
 ~fontaine-presets~ holds all such presets.
 
-Presets consist of a list of properties that govern the family, weight,
-and height of the faces ~default~, ~fixed-pitch~, ~fixed-pitch-serif~,
-~variable-pitch~, ~bold~, and ~italic~.  Each preset is identified by a
-user-defined symbol as the car of a property list.  It looks like this
-(check the default value of ~fontaine-presets~ for how everything is
-pieced together):
+[ The support for the mode line, header line, and line number faces is
+  part of {{{development-version}}}. ]
+
+Presets consist of a list of properties that govern the family,
+weight, and height of the faces ~default~, ~fixed-pitch~,
+~fixed-pitch-serif~, ~variable-pitch~, ~mode-line-active~ (and
+~mode-line~ for older Emacs version), ~mode-line-inactive~,
+~header-line~, ~line-number~, ~bold~, and ~italic~. Each preset is
+identified by a user-defined symbol as the car of a property list. It
+looks like this (check the default value of ~fontaine-presets~ for how
+everything is pieced together):
 
 #+begin_src emacs-lisp
 (regular
@@ -85,15 +90,35 @@ pieced together):
  :default-family "Monospace"
  :default-weight regular
  :default-height 100
+
  :fixed-pitch-family nil ; falls back to :default-family
  :fixed-pitch-weight nil ; falls back to :default-weight
  :fixed-pitch-height 1.0
+
  :fixed-pitch-serif-family nil ; falls back to :default-family
  :fixed-pitch-serif-weight nil ; falls back to :default-weight
  :fixed-pitch-serif-height 1.0
+
  :variable-pitch-family "Sans"
  :variable-pitch-weight nil
  :variable-pitch-height 1.0
+
+ :mode-line-active-family nil ; falls back to :default-family
+ :mode-line-active-weight nil ; falls back to :default-weight
+ :mode-line-active-height 1.0
+
+ :mode-line-inactive-family nil ; falls back to :default-family
+ :mode-line-inactive-weight nil ; falls back to :default-weight
+ :mode-line-inactive-height 1.0
+
+ :header-line-family nil ; falls back to :default-family
+ :header-line-weight nil ; falls back to :default-weight
+ :header-line-height 1.0
+
+ :line-number-family nil ; falls back to :default-family
+ :line-number-weight nil ; falls back to :default-weight
+ :line-number-height 1.0
+
  :bold-family nil ; use whatever the underlying face has
  :bold-weight bold
  :italic-family nil
@@ -187,6 +212,8 @@ The user option ~fontaine-presets~ may look like this 
(though check its
 default value before you make any edits):
 
 #+begin_src emacs-lisp
+;; NOTE this example does not include all the properties that
+;; `fontaine-presets' accepts.
 (setq fontaine-presets
   '((regular
  :default-family "Hack"
@@ -287,6 +314,9 @@ multiple presets, such as the =regular= and =large= we have 
illustrated
 thus far.  Here is how verbose presets can be expressed succinctly:
 
 #+begin_src emacs-lisp
+;; NOTE this example does not include all the properties that
+;; `fontaine-presets' accepts.
+
 ;; Notice the duplication of properties and how we will avoid it.
 (setq fontaine-presets
   '((regular
@@ -545,28 +575,20 @@ Remember to read the relevant doc strings.
 ;; Iosevka Comfy Wide   == like Iosevka Comfy, but wider
 ;; Iosevka Comfy Wide Fixed == like Iosevka Comfy Fixed, but wider
 (setq fontaine-presets
-  '((tiny
- :default-family "Iosevka Comfy Wide Fixed"
- :default-height 70)
-(small
- :default-family "Iosevka Comfy Fixed"
- :default-height 90)
-(regular
- :default-height 100)
+  '((small
+ :default-family "Iosevka Comfy Motion"
+ :default-height 80
+ :variable-pitch-family "Iosevka Comfy Duo")
+(regular) ; like this it uses all the fallback values and is named 
`regular'
 (medium
- :default-height 110)
-(large
  :default-weight semilight
- :default-height 140
+ :default-height 115
  :bold-weight extrabold)
+(large
+ :inherit medium
+ :default-height 150)
 (presentation
- :default-weight semilight
- :default-height 170
- :bold-weight extrabold)
-(jumbo
- :default-we

[elpa] externals/fontaine fa76f238b5 4/4: Add support for the tab-bar and tab-line faces

2024-02-19 Thread ELPA Syncer
branch: externals/fontaine
commit fa76f238b5b039ad3a6f507c11a3934dd55016cb
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add support for the tab-bar and tab-line faces
---
 README.org  | 30 --
 fontaine.el | 46 ++
 2 files changed, 70 insertions(+), 6 deletions(-)

diff --git a/README.org b/README.org
index dbb8c3b6ce..3272a563bf 100644
--- a/README.org
+++ b/README.org
@@ -71,17 +71,17 @@ Fontaine lets the user specify presets of font 
configurations and set
 them on demand on graphical Emacs frames.  The user option
 ~fontaine-presets~ holds all such presets.
 
-[ The support for the mode line, header line, and line number faces is
-  part of {{{development-version}}}. ]
+[ The support for the mode line, header line, line number, tab bar,
+  and tab line faces is part of {{{development-version}}}. ]
 
 Presets consist of a list of properties that govern the family,
 weight, and height of the faces ~default~, ~fixed-pitch~,
 ~fixed-pitch-serif~, ~variable-pitch~, ~mode-line-active~ (and
 ~mode-line~ for older Emacs version), ~mode-line-inactive~,
-~header-line~, ~line-number~, ~bold~, and ~italic~. Each preset is
-identified by a user-defined symbol as the car of a property list. It
-looks like this (check the default value of ~fontaine-presets~ for how
-everything is pieced together):
+~header-line~, ~line-number~, ~tab-bar~, ~tab-line~, ~bold~, and
+~italic~. Each preset is identified by a user-defined symbol as the
+car of a property list. It looks like this (check the default value of
+~fontaine-presets~ for how everything is pieced together):
 
 #+begin_src emacs-lisp
 (regular
@@ -119,6 +119,14 @@ everything is pieced together):
  :line-number-weight nil ; falls back to :default-weight
  :line-number-height 1.0
 
+ :tab-bar-family nil ; falls back to :default-family
+ :tab-bar-weight nil ; falls back to :default-weight
+ :tab-bar-height 1.0
+
+ :tab-line-family nil ; falls back to :default-family
+ :tab-line-weight nil ; falls back to :default-weight
+ :tab-line-height 1.0
+
  :bold-family nil ; use whatever the underlying face has
  :bold-weight bold
  :italic-family nil
@@ -619,10 +627,20 @@ Remember to read the relevant doc strings.
  :line-number-weight nil ; falls back to :default-weight
  :line-number-height 0.9
 
+ :tab-bar-family nil ; falls back to :default-family
+ :tab-bar-weight nil ; falls back to :default-weight
+ :tab-bar-height 1.0
+
+ :tab-line-family nil ; falls back to :default-family
+ :tab-line-weight nil ; falls back to :default-weight
+ :tab-line-height 1.0
+
  :bold-family nil ; use whatever the underlying face has
  :bold-weight bold
+
  :italic-family nil
  :italic-slant italic
+
  :line-spacing nil)))
 
 ;; Recover last preset or fall back to desired style from
diff --git a/fontaine.el b/fontaine.el
index e43b45cfea..b2806372f5 100644
--- a/fontaine.el
+++ b/fontaine.el
@@ -99,6 +99,14 @@
  :line-number-weight nil ; falls back to :default-weight
  :line-number-height 1.0
 
+ :tab-bar-family nil ; falls back to :default-family
+ :tab-bar-weight nil ; falls back to :default-weight
+ :tab-bar-height 1.0
+
+ :tab-line-family nil ; falls back to :default-family
+ :tab-line-weight nil ; falls back to :default-weight
+ :tab-line-height 1.0
+
  :bold-family nil ; use whatever the underlying face has
  :bold-weight bold
  :italic-family nil
@@ -169,6 +177,14 @@ The properties in detail:
   all fall back to the respective default values, as described
   above.
 
+- The `:tab-bar-family', `:tab-bar-weight', and `:tab-bar-height'
+  apply to the `tab-bar' face.  They all fall back to the
+  respective default values, as described above.
+
+- The `:tab-line-family', `:tab-line-weight', and
+  `:tab-line-height' apply to the `tab-line' face.  They all fall
+  back to the respective default values, as described above.
+
 - The `:bold-family' and `:italic-family' are the font families
   of the `bold' and `italic' faces, respectively.  Only set them
   if you want to override that of the underlying face.
@@ -257,6 +273,14 @@ Caveats or further notes:
   ((const :tag "Line number regular weight" 
:line-number-weight) ,fontaine--weights-widget)
   ((const :tag "Line number height" :line-number-height) float)
 
+  ((const :tag "Tab bar font family" :tab-bar-family) string)
+  ((const :tag "Tab bar regular weight" :tab-bar-weight) 
,fontaine--weights-widget)
+  ((const :tag "Tab bar height" :tab-bar-height) float)
+
+  ((const :tag "Tab line font family" :tab-line-family) string)
+  ((const :tag "Tab line regular weight" :tab-line-weight) 
,fontaine--weights-widget)
+  ((const :tag "Tab line height" :tab-line-height) float)
+

[elpa] externals/fontaine eb8642ca80 3/4: Simplify the Commentary and point users to the manual

2024-02-19 Thread ELPA Syncer
branch: externals/fontaine
commit eb8642ca8070ea90be6aca69202d15b27b093505
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Simplify the Commentary and point users to the manual
---
 fontaine.el | 86 +++--
 1 file changed, 3 insertions(+), 83 deletions(-)

diff --git a/fontaine.el b/fontaine.el
index f20a4b9efd..e43b45cfea 100644
--- a/fontaine.el
+++ b/fontaine.el
@@ -29,89 +29,9 @@
 ;; them on demand on graphical Emacs frames.  The user option
 ;; `fontaine-presets' holds all such presets.
 ;;
-;; Presets consist of a list of properties that govern the family, weight,
-;; and height of the faces `default', `fixed-pitch', `variable-pitch',
-;; `bold', and `italic'.  Each preset is identified by a user-defined
-;; symbol as the car of a property list.  It looks like this (check the
-;; default value of `fontaine-presets' for how everything is pieced
-;; together):
-;;
-;; (regular
-;;  :default-family "Hack"
-;;  :default-weight normal
-;;  :default-height 100
-;;  :fixed-pitch-family "Fira Code"
-;;  :fixed-pitch-weight nil ; falls back to :default-weight
-;;  :fixed-pitch-height 1.0
-;;  :variable-pitch-family "Noto Sans"
-;;  :variable-pitch-weight normal
-;;  :variable-pitch-height 1.0
-;;  :bold-family nil ; use whatever the underlying face has
-;;  :bold-weight bold
-;;  :italic-family "Source Code Pro"
-;;  :italic-slant italic
-;;  :line-spacing 1)
-;;
-;; The doc string of `fontaine-presets' explains all properties in detail
-;; and documents some important caveats or information about font settings
-;; in Emacs.
-;;
-;; The command `fontaine-set-preset' applies the desired preset.  If there
-;; is only one available, it implements it outright.  Otherwise it produces
-;; a minibuffer prompt with completion among the available presets.  When
-;; called from Lisp, the `fontaine-set-preset' requires a PRESET argument,
-;; such as:
-;;
-;; (fontaine-set-preset 'regular)
-;;
-;; The default behaviour of `fontaine-set-preset' is to change fonts across
-;; all graphical frames.  The user can, however, limit the changes to a
-;; given frame.  For interactive use, this is done by invoking the command
-;; with a universal prefix argument (`C-u' by default), which changes fonts
-;; only in the current frame.  When used in Lisp, the FRAME argument can be
-;; a frame object (satisfies `framep') or a non-nil value: the former
-;; applies the effects to the given object, while the latter means the
-;; current frame and thus is the same as interactively supplying the prefix
-;; argument.
-;;
-;; The command `fontaine-set-face-font' prompts with completion for a face
-;; and then asks the user to specify the value of the relevant properties.
-;; Preferred font families can be defined in the user option
-;; `fontaine-font-families', otherwise Fontaine will try to find suitable
-;; options among the fonts installed on the system (not always reliable,
-;; depending on the Emacs build and environment it runs in).  The list of
-;; faces to choose from is the same as that implied by the
-;; `fontaine-presets'.  Properties to change and their respective values
-;; will depend on the face.  For example, the `default' face requires a
-;; natural number for its height attribute, whereas every other face needs
-;; a floating point (understood as a multiple of the default height).  This
-;; command is for interactive use only and is supposed to be used for
-;; previewing certain styles before eventually codifying them as presets.
-;;
-;; Changing the `bold' and `italic' faces only has a noticeable effect if
-;; the underlying theme does not hardcode a weight and slant but inherits
-;; from those faces instead (e.g. the `modus-themes').
-;;
-;; The `fontaine-set-face-font' also accepts an optional FRAME argument,
-;; which is the same as what was described above for `fontaine-set-preset'.
-;;
-;; The latest value of `fontaine-set-preset' is stored in a file whose
-;; location is defined in `fontaine-latest-state-file' (normally part of
-;; the `.emacs.d' directory).  Saving is done by the function
-;; `fontaine-store-latest-preset', which should be assigned to a hook
-;; (e.g. `kill-emacs-hook').  To restore that value, the user can call the
-;; function `fontaine-restore-latest-preset' (such as by adding it to their
-;; init file).
-;;
-;; For users of the `no-littering' package, `fontaine-latest-state-file' is
-;; not stored in their `.emacs.d', but in a standard directory instead:
-;; .
-;;
-;; As for the name of this package, it is the French word for
-;; "fountain" which, in turn, is what the font or source is.  However,
-;; I will not blame you if you can only interpret it as a descriptive
-;; backronym: Fonts, Ornaments, and Neat Typography Are Irrelevant in
-;; Non-graphical Emacs.
+;; Consult the manual for all the available features.  An

[elpa] externals/fontaine updated (185784c354 -> fa76f238b5)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/fontaine.

  from  185784c354 Update development links
   new  095524dc79 Add support for more faces: mode lines, header line, 
line numbers
   new  22485ac84a Update an outdated comment
   new  eb8642ca80 Simplify the Commentary and point users to the manual
   new  fa76f238b5 Add support for the tab-bar and tab-line faces


Summary of changes:
 README.org  | 120 ++
 fontaine.el | 244 +++-
 2 files changed, 247 insertions(+), 117 deletions(-)



[elpa] externals/fontaine 22485ac84a 2/4: Update an outdated comment

2024-02-19 Thread ELPA Syncer
branch: externals/fontaine
commit 22485ac84abcef24c2b35a60e7bdb71fadf3d2ed
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Update an outdated comment
---
 README.org | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/README.org b/README.org
index 2aa87dd3bf..dbb8c3b6ce 100644
--- a/README.org
+++ b/README.org
@@ -567,13 +567,7 @@ Remember to read the relevant doc strings.
 ;; Iosevka Comfy is my highly customised build of Iosevka with
 ;; monospaced and duospaced (quasi-proportional) variants as well as
 ;; support or no support for ligatures:
-;; .
-;;
-;; Iosevka Comfy== monospaced, supports ligatures
-;; Iosevka Comfy Fixed  == monospaced, no ligatures
-;; Iosevka Comfy Duo== quasi-proportional, supports ligatures
-;; Iosevka Comfy Wide   == like Iosevka Comfy, but wider
-;; Iosevka Comfy Wide Fixed == like Iosevka Comfy Fixed, but wider
+;; .
 (setq fontaine-presets
   '((small
  :default-family "Iosevka Comfy Motion"



[elpa] externals/org a8443f2c79: org-latex-to-html-convert-command: Enhance the docstring

2024-02-19 Thread ELPA Syncer
branch: externals/org
commit a8443f2c791388d9c1c57bac0eea2350cd027b1e
Author: Martin Edström 
Commit: Ihor Radchenko 

org-latex-to-html-convert-command: Enhance the docstring

* org.el (org-latex-to-html-convert-command): Add a note in the
docstring about proper shell-quoting.

It can trip you up because wrongly quoted input still works with some
math snippets, so the command may work during testing but not later
when you have different math snippets in play.

TINYCHANGE
---
 lisp/org.el | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 9470375590..ad2394ae3b 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -3267,7 +3267,7 @@ When using LaTeXML set this option to
  (string :tag "\nShell command")))
 
 (defcustom org-latex-to-html-convert-command nil
-  "Command to convert LaTeX fragments to HTML.
+  "Shell command to convert LaTeX fragments to HTML.
 This command is very open-ended: the output of the command will
 directly replace the LaTeX fragment in the resulting HTML.
 Replace format-specifiers in the command as noted below and use
@@ -3275,7 +3275,12 @@ Replace format-specifiers in the command as noted below 
and use
 %i: The LaTeX fragment to be converted.
 
 For example, this could be used with LaTeXML as
-\"latexmlc \\='literal:%i\\=' --profile=math --preload=siunitx.sty 
2>/dev/null\"."
+\"latexmlc \\='literal:%i\\=' --profile=math --preload=siunitx.sty 
2>/dev/null\".
+
+The LaTeX fragment is replaced as is, without escaping special shell
+syntax.  It may be necessary to use single-quotes around \\='%i\\=', not
+double-quotes.  Else a math fragment such as \"$y = 200$\" may be
+expanded to \" = 200\"."
   :group 'org-latex
   :package-version '(Org . "9.4")
   :type '(choice



[nongnu] elpa/cider 105847f6ac 2/2: Pick a codename for the next stable release

2024-02-19 Thread ELPA Syncer
branch: elpa/cider
commit 105847f6ac70e046ba18374883443ad8834c0406
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Pick a codename for the next stable release
---
 cider.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cider.el b/cider.el
index 282ba74f20..3b12fa6e2c 100644
--- a/cider.el
+++ b/cider.el
@@ -96,7 +96,7 @@
 (defconst cider-version "1.14.0-snapshot"
   "The current version of CIDER.")
 
-(defconst cider-codename "Santiago"
+(defconst cider-codename "Cogne"
   "Codename used to denote stable releases.")
 
 (defcustom cider-lein-command



[nongnu] elpa/cider updated (e6ad3ae810 -> 105847f6ac)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch elpa/cider.

  from  e6ad3ae810 Update changelog
   new  c5e575ed1b [Docs] Add more documentation about the clojure-ts-mode 
support
   new  105847f6ac Pick a codename for the next stable release


Summary of changes:
 README.md   | 15 ---
 cider.el|  2 +-
 doc/modules/ROOT/pages/caveats.adoc | 12 +++-
 3 files changed, 16 insertions(+), 13 deletions(-)



[nongnu] elpa/cider c5e575ed1b 1/2: [Docs] Add more documentation about the clojure-ts-mode support

2024-02-19 Thread ELPA Syncer
branch: elpa/cider
commit c5e575ed1bb8d86274f03bfbfb7eb670b353e12e
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

[Docs] Add more documentation about the clojure-ts-mode support
---
 README.md   | 15 ---
 doc/modules/ROOT/pages/caveats.adoc | 12 +++-
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md
index 1e11c3c26c..cac8504364 100644
--- a/README.md
+++ b/README.md
@@ -13,13 +13,13 @@ CIDER is the **C**lojure(Script) **I**nteractive 
**D**evelopment **E**nvironment
 that **R**ocks!
 
 CIDER extends Emacs with support for [interactive
-programming](https://docs.cider.mx/cider/usage/interactive_programming.html)
-in Clojure. The features are centered around `cider-mode`, an Emacs
-minor-mode that complements [clojure-mode][]. While `clojure-mode`
-supports editing Clojure source files, `cider-mode` adds support for
-interacting with a running Clojure process for compilation, code
-completion, debugging, definition and documentation lookup, running
-tests and so on.
+programming](https://docs.cider.mx/cider/usage/interactive_programming.html) in
+Clojure. The features are centered around `cider-mode`, an Emacs minor-mode 
that
+complements [clojure-mode][] and [clojure-ts-mode][]. While `clojure-mode` and
+`clojure-ts-mode` support editing Clojure source files, `cider-mode` adds
+support for interacting with a running Clojure process for compilation, code
+completion, debugging, definition and documentation lookup, running tests and 
so
+on.
 
 --
 
[![OpenCollective](https://opencollective.com/cider/backers/badge.svg)](#open-collective-backers)
@@ -270,4 +270,5 @@ Copyright © 2012-2024 Bozhidar Batsov, Artur Malabarba, Tim 
King, Phil Hagelber
 [Sly]: https://github.com/joaotavora/sly
 [Geiser]: https://github.com/jaor/geiser
 [clojure-mode]: https://github.com/clojure-emacs/clojure-mode
+[clojure-ts-mode]: https://github.com/clojure-emacs/clojure-ts-mode
 [inf-clojure]: https://github.com/clojure-emacs/inf-clojure
diff --git a/doc/modules/ROOT/pages/caveats.adoc 
b/doc/modules/ROOT/pages/caveats.adoc
index 93ec792004..53c6c0c829 100644
--- a/doc/modules/ROOT/pages/caveats.adoc
+++ b/doc/modules/ROOT/pages/caveats.adoc
@@ -84,16 +84,18 @@ the 
xref:basics/middleware_setup.adoc#setting-up-a-standalone-repl[standalone RE
 * Adjust the value of `cider-injected-nrepl-version` to the same nREPL version 
as the
 one that's bundled with Leiningen.
 
-== Clojure-ts-mode integration
+== clojure-ts-mode integration
 
-Cider has basic support for working with
+NOTE: `clojure-ts-mode` support was introduced in CIDER 1.14.
+
+CIDER has basic support for working with
 https://github.com/clojure-emacs/clojure-ts-mode[clojure-ts-mode] buffers, but 
it still depends on
 https://github.com/clojure-emacs/clojure-mode[clojure-mode] for certain 
functionality, like
-extracting information about clojure code out of the buffer. We hope to make 
clojure-ts-mode capable
-of providing cider with all the functionality it needs to interact with 
clojure buffers, but that
+extracting information about Clojure code out of the buffer. We hope to make 
`clojure-ts-mode` capable
+of providing CIDER with all the functionality it needs to interact with 
Clojure buffers, but that
 will take some time.
 
 Additionally, some features like
 xref:config/indentation.adoc#dynamic-indentation[`cider-dynamic-indentation`]
 and 
xref:config/syntax_highlighting.adoc#dynamic-syntax-highlighting[`cider-font-lock-dynamically`]
-are not supported by clojure-ts-mode.
+are not supported by `clojure-ts-mode`.



[elpa] externals/greader 697e77b5a6 3/7: greader-dict-add: fixed.

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 697e77b5a61b61437add19381afd6d58b292751d
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader-dict-add: fixed.

Now the function `greader-dict-add' returns an error if WORD and
REPLACEMENT are `equal-ignore-case'.
This is to prevent an infinite-loop in
`greader-dict-check-and-replace''s infrastructure.
---
 greader-dict.el | 4 
 1 file changed, 4 insertions(+)

diff --git a/greader-dict.el b/greader-dict.el
index fefb3a467d..0b0eaf6d8a 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -177,6 +177,10 @@ A value of 0 indicates saving immediately."
   "Add the WORD REPLACEMent pair to `greader-dictionary'.
 If you want to add a partial replacement, you should
 add `\*'to the end of the WORD string parameter."
+  ;; We prevent an infinite loop if disallowing that key and values
+  ;; are the same.
+  (when (string-equal-ignore-case word replacement)
+(user-error "key and value are the same, aborting"))
   (puthash word replacement greader-dictionary)
   (setq greader-dict--saved-flag nil)
   (cond



[elpa] externals/greader 83a156b0cf 6/7: greader: version 0.9.2.

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 83a156b0cff94e09a4033f32ebe5115dfb0fc31d
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader: version 0.9.2.
---
 greader.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/greader.el b/greader.el
index e6cadb72c7..81becff6c4 100644
--- a/greader.el
+++ b/greader.el
@@ -6,7 +6,7 @@
 ;; Author: Michelangelo Rodriguez 
 ;; Keywords: tools, accessibility
 
-;; Version: 0.9.1
+;; Version: 0.9.2
 
 ;; 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/filechooser updated (866304ab42 -> 4cdcf60179)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/filechooser.

  from  866304ab42 Save-window-excursion to fix #8
   new  ff76cc81f5 Update README.md
   new  c110b40c9b Added instructions for installing with NixOS
   new  1207c2ef96 Update installation instructions
   new  4cdcf60179 Update version number for ELPA


Summary of changes:
 README.md  | 63 +++---
 filechooser.el |  2 +-
 2 files changed, 61 insertions(+), 4 deletions(-)



[elpa] externals/greader 23a5510e79 1/7: greader: cosmetic fixes.

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 23a5510e7900173bf78978d7b4db7fb6be495d7b
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader: cosmetic fixes.
---
 greader-dict.el | 698 
 1 file changed, 349 insertions(+), 349 deletions(-)

diff --git a/greader-dict.el b/greader-dict.el
index 742503c13c..955bd8aa0f 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -223,6 +223,62 @@ Return nil if KEY is not present in `greader-dictionary'."
   "Return key related to WORD, nil otherwise."
   (setq word (string-trim word))
   (let ((key nil))
+(defun greader-dict-check-and-replace (text)
+  "Return the TEXT passed to it, eventually modified according to
+`greader-dictionary' and variants."
+  (with-temp-buffer
+   (setq greader-dictionary (buffer-local-value 'greader-dictionary
+
greader-dict--current-reading-buffer))
+   (insert text)
+   (goto-char (point-min))
+   (let ((inhibit-read-only t))
+ (re-search-forward "\\w" nil t)
+ (while (not (eobp))
+   (let*
+   ((key (greader-dict--get-key-from-word (downcase
+   (thing-at-point
+'word
+(modified-word
+ (concat (downcase (thing-at-point 'word))
+ greader-dict-match-indicator)))
+ (cond
+  ((equal (greader-dict-item-type key) 'word)
+   (greader-dict-substitute-word (string-remove-suffix
+  greader-dict-match-indicator
+  key)))
+  ((equal (greader-dict-item-type key) 'match)
+   (greader-dict-substitute-match key))
+  ((not (greader-dict-item-type key))
+   nil)))
+   (re-search-forward "\\W*\\w" nil 1))
+ (buffer-string
+
+(maphash
+ (lambda (k v)
+   (let* ((result (string-remove-suffix
+  greader-dict-match-indicator k))
+ (candidate-matches (string-split result "\\W" t)))
+(setq candidate-matches (sort candidate-matches
+  (lambda (s1 s2) (> (length s1)
+ (length
+  s2)
+(catch 'matched
+  (dolist (candidate candidate-matches)
+;; (message "%s" (concat "matching " candidate " against " word 
"..."))
+(when (string-match candidate word)
+  ;; (message "Matched!")
+  (unless key
+(setq key k)
+(throw 'matched key)))
+ greader-dictionary)
+key))
+
+;; This function checks that, in the string you pass to it, there are
+;; effectively words to be replaced. If so, use apis
+;; previously defined to adequately replace the words that
+;; could need it.
+;; This is the function to add to
+;; `greader-after-get-sentence-functions'.
 (defun greader-dict-check-and-replace (text)
   "Return the TEXT passed to it, eventually modified according to
 `greader-dictionary' and variants."
@@ -241,159 +297,103 @@ Return nil if KEY is not present in 
`greader-dictionary'."
 (modified-word
  (concat (downcase (thing-at-point 'word))
  greader-dict-match-indicator)))
- (cond
-  ((equal (greader-dict-item-type key) 'word)
-   (greader-dict-substitute-word (string-remove-suffix
-  greader-dict-match-indicator
-  key)))
-  ((equal (greader-dict-item-type key) 'match)
-   (greader-dict-substitute-match key))
-  ((not (greader-dict-item-type key))
-   nil)))
+ (save-excursion
+   (cond
+((equal (greader-dict-item-type key) 'word)
+ (greader-dict-substitute-word (string-remove-suffix
+greader-dict-match-indicator
+key)) (goto-char (point-min)))
+((equal (greader-dict-item-type key) 'match)
+ (greader-dict-substitute-match key)
+ (goto-char (point-min)))
+((not (greader-dict-item-type key))
+ nil
(re-search-forward "\\W*\\w" nil 1))
   (buffer-string
 
+;; This function saves the contents of the hash table.
+(defvar greader-dict-directory (concat user-emacs-directory
+  ".greader-dict/")
+  "The directory containing greader-dict files.")
+(defvar-local greader-dict-filename "greader-dict.global"
+  "File name where dictionary definitions are stored.")
+(defvar greader-dict--current-reading-buffer (current-buffer))
+;; We use t

[elpa] externals/greader 5595e4806f 4/7: greader-dict.el: cosmetic fixes.

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 5595e4806fb5e514e519a89cff2fe527a3988de2
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader-dict.el: cosmetic fixes.
---
 greader-dict.el | 23 +++
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/greader-dict.el b/greader-dict.el
index 0b0eaf6d8a..09e2be4277 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -666,18 +666,17 @@ If TYPE is `all', all items in the current dictionary 
will be included."
   (let ((matches nil))
 (maphash
  (lambda (k v)
-   (cond ((equal (greader-dict-item-type k) type)
- (let ((match (string-remove-suffix
-   greader-dict-match-indicator k)))
-   (when decorate
- (setq match (concat match " \(" (gethash k 
greader-dictionary) "\)")))
-   (push match matches)))
-((equal type 'all)
- (let ((match (string-remove-suffix
-   greader-dict-match-indicator k)))
-   (when decorate
- (setq match (concat match " \(" (gethash k 
greader-dictionary) "\)")))
-   (push match matches) greader-dictionary)
+   (cond
+   ((equal (greader-dict-item-type k) type)
+(let ((match (string-remove-suffix greader-dict-match-indicator k)))
+  (when decorate
+(setq match (concat match " \(" (gethash k greader-dictionary) 
"\)")))
+  (push match matches)))
+   ((equal type 'all)
+(let ((match (string-remove-suffix greader-dict-match-indicator k)))
+  (when decorate
+(setq match (concat match " \(" (gethash k greader-dictionary) 
"\)")))
+  (push match matches) greader-dictionary)
 (sort
  matches
  (lambda (s1 s2)



[elpa] externals/greader updated (23527d091b -> 497d037d81)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/greader.

  from  23527d091b greader-dict.el: fixed.
   new  23a5510e79 greader: cosmetic fixes.
   new  859ebebc3d greader-dict.el: modified.
   new  697e77b5a6 greader-dict-add: fixed.
   new  5595e4806f greader-dict.el: cosmetic fixes.
   new  cdbdf24695 greader-dict.el: Command `greader-dict-modify-key' added.
   new  83a156b0cf greader: version 0.9.2.
   new  497d037d81 greader: version 0.9.3


Summary of changes:
 greader-dict.el | 683 
 greader.el  |   2 +-
 2 files changed, 344 insertions(+), 341 deletions(-)



[elpa] externals/greader 497d037d81 7/7: greader: version 0.9.3

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 497d037d81d2a5a71f273c8bee3f4a54c2f7a087
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader: version 0.9.3

Fixed an enormous mistake" See the diff...
---
 greader-dict.el | 50 +-
 greader.el  |  2 +-
 2 files changed, 10 insertions(+), 42 deletions(-)

diff --git a/greader-dict.el b/greader-dict.el
index d3c0d257fb..eee2fc47b0 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -235,36 +235,6 @@ Return nil if KEY is not present in `greader-dictionary'."
   "Return key related to WORD, nil otherwise."
   (setq word (string-trim word))
   (let ((key nil))
-(defun greader-dict-check-and-replace (text)
-  "Return the TEXT passed to it, eventually modified according to
-`greader-dictionary' and variants."
-  (with-temp-buffer
-   (setq greader-dictionary (buffer-local-value 'greader-dictionary
-
greader-dict--current-reading-buffer))
-   (insert text)
-   (goto-char (point-min))
-   (let ((inhibit-read-only t))
- (re-search-forward "\\w" nil t)
- (while (not (eobp))
-   (let*
-   ((key (greader-dict--get-key-from-word (downcase
-   (thing-at-point
-'word
-(modified-word
- (concat (downcase (thing-at-point 'word))
- greader-dict-match-indicator)))
- (cond
-  ((equal (greader-dict-item-type key) 'word)
-   (greader-dict-substitute-word (string-remove-suffix
-  greader-dict-match-indicator
-  key)))
-  ((equal (greader-dict-item-type key) 'match)
-   (greader-dict-substitute-match key))
-  ((not (greader-dict-item-type key))
-   nil)))
-   (re-search-forward "\\W*\\w" nil 1))
- (buffer-string
-
 (maphash
  (lambda (k v)
(let* ((result (string-remove-suffix
@@ -309,17 +279,15 @@ Return nil if KEY is not present in `greader-dictionary'."
 (modified-word
  (concat (downcase (thing-at-point 'word))
  greader-dict-match-indicator)))
- (save-excursion
-   (cond
-((equal (greader-dict-item-type key) 'word)
- (greader-dict-substitute-word (string-remove-suffix
-greader-dict-match-indicator
-key)) (goto-char (point-min)))
-((equal (greader-dict-item-type key) 'match)
- (greader-dict-substitute-match key)
- (goto-char (point-min)))
-((not (greader-dict-item-type key))
- nil
+ (cond
+  ((equal (greader-dict-item-type key) 'word)
+   (greader-dict-substitute-word (string-remove-suffix
+  greader-dict-match-indicator
+  key)))
+  ((equal (greader-dict-item-type key) 'match)
+   (greader-dict-substitute-match key))
+  ((not (greader-dict-item-type key))
+   nil)))
(re-search-forward "\\W*\\w" nil 1))
   (buffer-string
 
diff --git a/greader.el b/greader.el
index 81becff6c4..9243eab76b 100644
--- a/greader.el
+++ b/greader.el
@@ -6,7 +6,7 @@
 ;; Author: Michelangelo Rodriguez 
 ;; Keywords: tools, accessibility
 
-;; Version: 0.9.2
+;; Version: 0.9.3
 
 ;; 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/greader cdbdf24695 5/7: greader-dict.el: Command `greader-dict-modify-key' added.

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit cdbdf246950bfb655fb36879318c053fef4ad577
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader-dict.el: Command `greader-dict-modify-key' added.

This command modifies a key itself, that is, without modifying the
associated value.
---
 greader-dict.el | 26 +-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/greader-dict.el b/greader-dict.el
index 09e2be4277..d3c0d257fb 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -681,7 +681,31 @@ If TYPE is `all', all items in the current dictionary will 
be included."
  matches
  (lambda (s1 s2)
(string-greaterp s2 s1)
-
+(defun greader-dict-modify-key (arg)
+  "Modify a key (_NOT_ a value associated with it!).
+While `greader-dict-add-entry can modify either keys or associated
+values, `greader-dict-modify-key' allows you to modify the key
+itself, without modifying the associated value.
+if prefix ARG is non-nil, then this command proposes only keys that
+are classified as matches."
+  (interactive "P")
+  (let ((key (read-string "key to modify: " nil nil (if arg
+   
(greader-dict--get-matches
+'match)
+ (greader-dict--get-matches
+  'all
+   (new-key nil))
+(unless key
+  (user-error "Key not valid"))
+(if-let ((backup-value (gethash key)))
+   (progn
+ (setq new-key (read-string (concat "substitute key " key "
+  with:") nil nil key))
+ (unless new-key
+   (user-error "Invalid replacement"))
+ (greader-dict-remove key)
+ (greader-dict-add new-key backup-value))
+  (user-error "Key not found"
 
 (provide 'greader-dict)
 ;;



[elpa] externals/filechooser ff76cc81f5 1/4: Update README.md

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit ff76cc81f5e1372e3c81b700a7de93bff79e0c39
Author: walseb 
Commit: Rahguzar 

Update README.md
---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 6904526da4..691f0f7a55 100644
--- a/README.md
+++ b/README.md
@@ -55,9 +55,9 @@ By default, `filechooser` uses a new frame for presenting the 
file selection dia
 ### File selection interface
 By default `completing-read` based interfaces are used for all operations. 
These interfaces are governed by the value of `filechooser-choose-file`, 
`filechooser-choose-files` and `filechooser-choose-directory`. The value of 
each of the these variables is a function that is called to do completion, see 
their doc strings for what is expected from these functions.
 
-The only builtin alternative to default values is `filechooser-dired`. You can 
use,
+The only builtin alternative to default values is `filechooser-with-dired`. 
You can use,
 ```emacs-lisp
-(setq filechooser-choose-files 'filechooser-dired)
+(setq filechooser-choose-files #'filechooser-with-dired)
 ```
 to change to a dired based selection for multiple files. In this mode the file 
chooser frame will have a dired buffer selected. To select files navigate to 
the desired directory. Mark the files to be selected and press `C-c C-c` to 
finish. `C-c C-k` aborts the selection process. Filters are available in this 
mode too and can be changed using `C-f`.
 



[elpa] externals/org 0dd2c5ea39: Merge branch 'bugfix'

2024-02-19 Thread ELPA Syncer
branch: externals/org
commit 0dd2c5ea399145fb716a1d070bf56c0495346639
Merge: a8443f2c79 d5b98bcfb5
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

Merge branch 'bugfix'
---
 lisp/org.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index ad2394ae3b..d7d6a98b13 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8938,7 +8938,7 @@ TYPE is the dynamic block type, as a string."
 (defun org-dynamic-block-define (type func)
   "Define dynamic block TYPE with FUNC.
 TYPE is a string.  FUNC is the function creating the dynamic
-block of such type."
+block of such type.  FUNC must be able to accept zero arguments."
   (pcase (assoc type org-dynamic-block-alist)
 (`nil (push (cons type func) org-dynamic-block-alist))
 (def (setcdr def func
@@ -8954,7 +8954,7 @@ is non-nil, call the dynamic block function 
interactively."
   (pcase (org-dynamic-block-function type)
 (`nil (error "No such dynamic block: %S" type))
 ((and f (pred functionp))
- (if interactive-p (call-interactively f) (funcall f)))
+ (if (and interactive-p (commandp f)) (call-interactively f) (funcall f)))
 (_ (error "Invalid function for dynamic block %S" type
 
 (defun org-dblock-update (&optional arg)



[elpa] externals-release/org updated (85aafac417 -> d5b98bcfb5)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals-release/org.

  from  85aafac417 ox-md.el: Fix adding blank lines between table rows in 
derived exporters
   new  d6c3ab08b4 org-dynamic-block-insert-dblock: Do not call 
non-commands interactively
   new  d5b98bcfb5 org-dynamic-block-define: Clarify that FUNC must accept 
zero arguments


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



[elpa] externals/filechooser c110b40c9b 2/4: Added instructions for installing with NixOS

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit c110b40c9b9c648e1ad8650135b11eb73c0afea2
Author: Sebastian Wålinder 
Commit: Rahguzar 

Added instructions for installing with NixOS
---
 README.md | 52 
 1 file changed, 52 insertions(+)

diff --git a/README.md b/README.md
index 691f0f7a55..79a8f5ce70 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,58 @@ to `~/.config/xdg-desktop-portal/portals.conf`. For older 
versions add your `$XD
 3. Copy the `org.gnu.Emacs.FileChooser.service` file 
`/usr/share/dbus-1/services/`.
 4. Restart `xdg-desktop-portal` by using `systemctl --user restart 
xdg-desktop-portal.service`.
 
+### NixOS
+Here's how to install this package on NixOS.
+
+`configuration.nix:`
+```
+{ pkgs, ... }:
+
+{
+  xdg.portal = {
+enable = true;
+xdgOpenUsePortal = true;
+
+extraPortals = [
+# Add any fallback portals here
+pkgs.xdg-desktop-portal-gtk
+
+# Won't be needed with more recent xdg-desktop-portal versions
+(import ./emacs-portal.nix { inherit pkgs; })
+  ];
+  config.common = {
+default = [ "gtk" ];
+
+"org.freedesktop.impl.portal.FileChooser" = "emacs";
+};
+  };
+}
+```
+
+`emacs-portal.nix:`
+```
+{ pkgs }:
+with pkgs;
+
+stdenv.mkDerivation {
+  pname = "Emacs portal";
+  version = "git";
+
+  src = fetchGit {
+  name = "filechooser";
+  url = "https://codeberg.org/rahguzar/filechooser";;
+  rev = "866304ab4244865108e12499f6e3be63e4981f92";
+};
+
+  installPhase = ''
+mkdir -p $out/share/dbus-1/services/;
+cp org.gnu.Emacs.FileChooser.service $out/share/dbus-1/services/;
+mkdir -p $out/share/xdg-desktop-portal/portals/;
+cp emacs.portal $out/share/xdg-desktop-portal/portals/;
+'';
+}
+```
+
 ## Usage
 Start an application that uses `xdg-desktop-portal`. An example which is my 
main use case is to launch `GTK_USE_PORTAL=1 firefox` and initiate a file 
selection dialogue. Unless you have changed the value of 
`filechooser-use-popup-frame, a minibuffer only Emacs frame will hopefully 
appear at this point. You can  select the file (or files depending on the 
request) by the same means you do usually in minibuffer.
 



[elpa] externals/greader 859ebebc3d 2/7: greader-dict.el: modified.

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 859ebebc3d4a7b9652f7eda6af467b060cf6ca6e
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader-dict.el: modified.

Now we use a different test when creating the hash-table.
It allows us to don't worry about "caseness" of the key.
---
 greader-dict.el | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/greader-dict.el b/greader-dict.el
index 955bd8aa0f..fefb3a467d 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -110,6 +110,14 @@
 ;; 
 ;;; Code:
 (require 'greader)
+
+;; THanks to the loved and alwais useful elisp reference.
+(defun string-hash-ignore-case (a)
+  (sxhash-equal (upcase a)))
+
+(define-hash-table-test 'ignore-case
+   'string-equal-ignore-case 'string-hash-ignore-case)
+
 (defvar-local  greader-dictionary nil)
 (defvar greader-dict-match-indicator "\%\*"
   "Regexp that will be used for match delimiter.")
@@ -625,7 +633,7 @@ as a word definition."
   :lighter " gr-dictionary"
   (cond
(greader-dict-mode
-(setq greader-dictionary (make-hash-table :test 'equal))
+(setq greader-dictionary (make-hash-table :test 'ignore-case))
 (setq greader-dict--current-reading-buffer (current-buffer))
 (greader-dict-read-from-dict-file)
 (add-hook 'greader-after-get-sentence-functions



[elpa] externals/filechooser 1207c2ef96 3/4: Update installation instructions

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit 1207c2ef96e0b12312437057eb7bff98c0a2c19e
Author: Rahguzar 
Commit: Rahguzar 

Update installation instructions
---
 README.md | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 79a8f5ce70..e126d600ca 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,9 @@ so that the frame filechooser uses appears above tiling 
windows.
 6. Although `OpenFile` and `SaveFile` methods have been tested by me, 
`SaveFiles` method is completely untested since I don't know a way to trigger 
it.
 
 ## Installation
-If despite these limitations you want to test the package:
+If despite these limitations you want to test the package you can use one of 
the following options:
+
+### Manual Installation
 1. Place `filechooser.el` file in the load path and generate the autoloads 
file for it.
 2. Configure `xdg-desktop-portal` to use Emacs based filechooser. For recent 
versions this can be done by adding
 ```
@@ -42,6 +44,9 @@ to `~/.config/xdg-desktop-portal/portals.conf`. For older 
versions add your `$XD
 3. Copy the `org.gnu.Emacs.FileChooser.service` file 
`/usr/share/dbus-1/services/`.
 4. Restart `xdg-desktop-portal` by using `systemctl --user restart 
xdg-desktop-portal.service`.
 
+### GNU ELPA
+`filechooser.el` is available on GNU ELPA and can be installed using `M-x 
package-install`. This will take care of step 1 in the instructions for manual 
install but the other step will have to be taken manually.
+
 ### NixOS
 Here's how to install this package on NixOS.
 



[elpa] externals-release/org d6c3ab08b4 1/2: org-dynamic-block-insert-dblock: Do not call non-commands interactively

2024-02-19 Thread ELPA Syncer
branch: externals-release/org
commit d6c3ab08b42a78dc521be678fdfc45b4552a9784
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-dynamic-block-insert-dblock: Do not call non-commands interactively

* lisp/org.el (org-dynamic-block-insert-dblock): When insert command
for a dynamic block is not interactive, do not try to call it
interactively.

Reported-by: chris 
Link: https://orgmode.org/list/5790810.DvuYhMxLoT@nixos
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index 231ed094b3..7194710887 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8796,7 +8796,7 @@ is non-nil, call the dynamic block function 
interactively."
   (pcase (org-dynamic-block-function type)
 (`nil (error "No such dynamic block: %S" type))
 ((and f (pred functionp))
- (if interactive-p (call-interactively f) (funcall f)))
+ (if (and interactive-p (commandp f)) (call-interactively f) (funcall f)))
 (_ (error "Invalid function for dynamic block %S" type
 
 (defun org-dblock-update (&optional arg)



[elpa] externals/filechooser 4cdcf60179 4/4: Update version number for ELPA

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit 4cdcf6017912d1b0825de27d18c5896746bcaf26
Author: Rahguzar 
Commit: Rahguzar 

Update version number for ELPA
---
 filechooser.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/filechooser.el b/filechooser.el
index 2d75670e21..ea71213fce 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -5,7 +5,7 @@
 ;; Author: rahguzar 
 ;; Maintainer: rahguzar 
 ;; Created: May 20, 2023
-;; Version: 0.1.1
+;; Version: 0.1.2
 ;; Keywords: convenience files tools unix
 ;; Homepage: https://codeberg.org/rahguzar/filechooser
 ;; Package-Requires: ((emacs "28.1") (compat "29.1"))



[elpa] externals/org updated (a8443f2c79 -> 0dd2c5ea39)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  a8443f2c79 org-latex-to-html-convert-command: Enhance the docstring
   new  d6c3ab08b4 org-dynamic-block-insert-dblock: Do not call 
non-commands interactively
   new  d5b98bcfb5 org-dynamic-block-define: Clarify that FUNC must accept 
zero arguments
   new  0dd2c5ea39 Merge branch 'bugfix'


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



[elpa] externals-release/org d5b98bcfb5 2/2: org-dynamic-block-define: Clarify that FUNC must accept zero arguments

2024-02-19 Thread ELPA Syncer
branch: externals-release/org
commit d5b98bcfb5ddaf89213c4b784c34fdcd3bb7ebfe
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-dynamic-block-define: Clarify that FUNC must accept zero arguments

* lisp/org.el (org-dynamic-block-define): Update the docstring.

Reported-by: chris 
Link: https://orgmode.org/list/5790810.DvuYhMxLoT@nixos
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index 7194710887..0fd5b27629 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8780,7 +8780,7 @@ TYPE is the dynamic block type, as a string."
 (defun org-dynamic-block-define (type func)
   "Define dynamic block TYPE with FUNC.
 TYPE is a string.  FUNC is the function creating the dynamic
-block of such type."
+block of such type.  FUNC must be able to accept zero arguments."
   (pcase (assoc type org-dynamic-block-alist)
 (`nil (push (cons type func) org-dynamic-block-alist))
 (def (setcdr def func



[nongnu] elpa/clojure-mode 87e8e8133a: Fix a typo

2024-02-19 Thread ELPA Syncer
branch: elpa/clojure-mode
commit 87e8e8133a0be8e82b3d1da4d1604ed438650c92
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Fix a typo
---
 README.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/README.md b/README.md
index b7a8c472f4..e1326801e2 100644
--- a/README.md
+++ b/README.md
@@ -166,7 +166,6 @@ Similarly we have the `clojure-indent-keyword-style`, which 
works in the followi
0)
 ```
 
-
 * `align-arguments` - Case (A) is indented like `always-align`, and
 case (B) is indented like a macro body.
 
@@ -175,7 +174,7 @@ Similarly we have the `clojure-indent-keyword-style`, which 
works in the followi
   [bar.baz])
 (:x
location
-   0)"
+   0)
 ```
 
  Indentation of macro forms



[elpa] externals/excorporate d01881c8c4: Shorten same-day time ranges

2024-02-19 Thread Thomas Fitzsimmons
branch: externals/excorporate
commit d01881c8c420a308e388ab394e5d45ba894907ef
Author: Benjamin Leis 
Commit: Thomas Fitzsimmons 

Shorten same-day time ranges

* excorporate-org.el (exco-org-insert-meeting-headline): Show a
time period for meetings whose start and end times occur on the
same day.  (Bug#68653)

Co-authored-by: Thomas Fitzsimmons 
---
 excorporate-org.el | 18 +-
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/excorporate-org.el b/excorporate-org.el
index 74dbe9d111..f6bdc10fe3 100644
--- a/excorporate-org.el
+++ b/excorporate-org.el
@@ -251,11 +251,19 @@ identifier."
  "TODO"
"DONE")))
 (insert (format "** %s %s\n" keyword subject))
-(org-schedule nil (format-time-string "<%Y-%m-%d %a %H:%M>"
- start-time))
-(forward-line -1)
-(end-of-line)
-(insert  "--" (format-time-string "<%Y-%m-%d %a %H:%M>" end-time))
+;; If the meeting times are on the same day use a time period
+;; otherwise use a range of days.
+(if (= (time-to-day-in-year start-time) (time-to-day-in-year end-time))
+   (org-schedule
+nil (format "<%s-%s>"
+(format-time-string "%Y-%m-%d %a %H:%M" start-time)
+(format-time-string "%H:%M" end-time)))
+  (progn
+(org-schedule nil (format-time-string "<%Y-%m-%d %a %H:%M>"
+ start-time))
+(forward-line -1)
+(end-of-line)
+(insert  "--" (format-time-string "<%Y-%m-%d %a %H:%M>" end-time
 (forward-line)
 (org-set-property "Identifier" (format "%S" item-identifier))
 (org-insert-time-stamp (current-time) t t "+ Retrieved " "\n")))



[elpa] externals/excorporate 8d1167ac47: Bump release to 1.1.2

2024-02-19 Thread Thomas Fitzsimmons
branch: externals/excorporate
commit 8d1167ac47aa88265546ee7a82fd49ff6f9c8d66
Author: Thomas Fitzsimmons 
Commit: Thomas Fitzsimmons 

Bump release to 1.1.2

* excorporate.el: Bump release to 1.1.2.
* NEWS, README: Document 1.1.2 change.
---
 NEWS   | 6 ++
 README | 4 
 excorporate.el | 2 +-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 6da276b2b1..255d728ae1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,11 @@
 GNU Emacs Excorporate NEWS -- history of user-visible changes.
 
+* New in Excorporate 1.1.2
+
+Released 2024-02-19:
+
+** In Org entries use shorter time ranges where possible
+
 * New in Excorporate 1.1.1
 
 Released 2023-05-29:
diff --git a/README b/README
index 18695e7e9e..bf0a4669cc 100644
--- a/README
+++ b/README
@@ -3,6 +3,10 @@ Excorporate provides Exchange integration for Emacs.
 Most Recent Improvements
 
 
+New in Excorporate 1.1.2, released 2024-02-19:
+
+** In Org entries use shorter time ranges where possible
+
 New in Excorporate 1.1.1, released 2023-05-29:
 
 ** Update documentation
diff --git a/excorporate.el b/excorporate.el
index 0f8e9dc2eb..618073ef4d 100644
--- a/excorporate.el
+++ b/excorporate.el
@@ -5,7 +5,7 @@
 ;; Author: Thomas Fitzsimmons 
 ;; Maintainer: Thomas Fitzsimmons 
 ;; Created: 2014-09-19
-;; Version: 1.1.1
+;; Version: 1.1.2
 ;; Keywords: calendar
 ;; Homepage: https://www.fitzsim.org/blog/
 ;; Package-Requires: ((emacs "24.1") (cl-lib "0.6.1") (fsm "0.2.1") 
(soap-client "3.2.0") (url-http-ntlm "2.0.4") (nadvice "0.3") (url-http-oauth 
"0.8.3"))



[elpa] externals/eev updated (0b602b0bc3 -> 0397f71d15)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/eev.

  from  0b602b0bc3 New file: eev-strange-functions.el.
   new  c17103af66 New file: eev-aliases.el.
   new  0397f71d15 Added more aliases to eev-aliases.el.


Summary of changes:
 VERSION  |   4 +-
 eev-aliases.el   | 115 +++
 eev-hydras.el|   4 +-
 eev-kl-here.el   |  15 ---
 eev-load.el  |   6 ++-
 eev-qrl.el   |   3 ++
 eev-strange-functions.el |  19 
 eev-tlinks.el|   2 +
 8 files changed, 150 insertions(+), 18 deletions(-)
 create mode 100644 eev-aliases.el



[elpa] externals/eev c17103af66 1/2: New file: eev-aliases.el.

2024-02-19 Thread ELPA Syncer
branch: externals/eev
commit c17103af666187ce3ff5292dd34be73b38c116f3
Author: Eduardo Ochs 
Commit: Eduardo Ochs 

New file: eev-aliases.el.
---
 VERSION  |  4 ++--
 eev-aliases.el   | 59 
 eev-kl-here.el   | 15 
 eev-load.el  |  6 +++--
 eev-strange-functions.el | 10 
 5 files changed, 80 insertions(+), 14 deletions(-)

diff --git a/VERSION b/VERSION
index c369b5ef64..f67671e0be 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Mon Feb 19 00:58:46 GMT 2024
-Sun Feb 18 21:58:46 -03 2024
+Mon Feb 19 13:27:58 GMT 2024
+Mon Feb 19 10:27:58 -03 2024
diff --git a/eev-aliases.el b/eev-aliases.el
new file mode 100644
index 00..9d1d4c9f88
--- /dev/null
+++ b/eev-aliases.el
@@ -0,0 +1,59 @@
+;;; eev-aliases.el -- aliases that don't start with the standard prefixes. -*- 
lexical-binding: nil; -*-
+
+;; Copyright (C) 2024 Free Software Foundation, Inc.
+;;
+;; This file is part of GNU eev.
+;;
+;; GNU eev 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.
+;;
+;; GNU eev 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, see <http://www.gnu.org/licenses/>.
+;;
+;; Author: Eduardo Ochs 
+;; Maintainer: Eduardo Ochs 
+;; Version:    20240219
+;; Keywords:   e-scripts
+;;
+;; Latest version: <http://anggtwu.net/eev-current/eev-aliases.el>
+;;   htmlized: <http://anggtwu.net/eev-current/eev-aliases.el.html>
+;;   See also: <http://anggtwu.net/eev-current/eev-beginner.el.html>
+;; <http://anggtwu.net/eev-intros/find-kla-intro.html>
+;;   (find-kla-intro)
+
+;;; Comment:
+
+;;
+
+;; «.1stclassvideos»   (to "1stclassvideos")
+
+
+
+;; «1stclassvideos»  (to ".1stclassvideos")
+;; From: (find-eev "eev-tlinks.el" "1c")
+(defalias '1c  'find-1stclassvideos)
+(defalias '1cl 'find-1stclassvideo-links)
+
+;; From: (find-eev "eev-kl-here.el" "aliases")
+
+;; From: (find-eev "eev-kla.el" "aliases")
+
+;; From: (find-templates-intro "4. Adding meat")
+
+
+
+
+
+(provide 'eev-aliases)
+
+;; Local Variables:
+;; coding:utf-8-unix
+;; no-byte-compile:   t
+;; End:
diff --git a/eev-kl-here.el b/eev-kl-here.el
index 2fc2e8b09d..91908f43f2 100644
--- a/eev-kl-here.el
+++ b/eev-kl-here.el
@@ -1,6 +1,6 @@
 ;;; eev-kl-here.el -- Kill link to here.  -*- lexical-binding: nil; -*-
 
-;; Copyright (C) 2023 Free Software Foundation, Inc.
+;; Copyright (C) 2023-2024 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GNU eev.
 ;;
@@ -19,7 +19,7 @@
 ;;
 ;; Author: Eduardo Ochs 
 ;; Maintainer: Eduardo Ochs 
-;; Version:20231229
+;; Version:20240219
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://anggtwu.net/eev-current/eev-kl-here.el>
@@ -245,7 +245,7 @@
 ;;   (find-eev "eev-kla.el" "kill-sexps")
 ;;   (find-eev "eev-kla.el" "aliases")
 
-(defun kl (&optional arg)
+(defun eekl (&optional arg)
   "ill ink to here. Tries to be smart."
   (interactive "P")
   (ee-detect-linki)
@@ -253,7 +253,7 @@
   (find-kl-debug-links 'kl)
 (ee-kl-kill (ee-get-linki
 
-(defun kll (&optional arg)
+(defun eekll (&optional arg)
   "ill ink to here; add a ine. Tries to be smart."
   (interactive "P")
   (ee-detect-linki)
@@ -261,7 +261,7 @@
   (find-kl-debug-links 'kl)
 (ee-kl-kill (append (ee-get-linki) (list (ee-kl-line))
 
-(defun kls (&optional arg)
+(defun eekls (&optional arg)
   "ill ink to here; add a tring. Tries to be smart."
   (interactive "P")
   (ee-detect-linki)
@@ -324,6 +324,11 @@
 ;; «aliases»  (to ".aliases")
 ;; See: (find-kla-intro "4. Aliases")
 ;; This is temporary!
+
+(defalias 'kl'eekl 
+(defalias 'kll  'eekll
+(defalias 'kls  'eekls
+
 (defalias 'kla   'eekla)
 (defalias 'kla0  'eekla0)
 (defalias 'klas  'eeklas)
diff --git a/eev-load.el b/eev-load.el
index fe5dc2b67c..af9ef211fe 100644
--- a/eev-load.el
+++ b/eev-load.el
@@ -1,7 +1,7 @@
 ;;; eev-load.el -- load all the main modules of eev.  -*- lexical-binding: 
nil; -*-
 ;;; This can also be used as an index to the main source files.
 
-;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
+;

[elpa] externals/eev 0397f71d15 2/2: Added more aliases to eev-aliases.el.

2024-02-19 Thread ELPA Syncer
  https://lists.gnu.org/archive/html/help-gnu-emacs/2023-12/msg00064.html
 
+;; «aliases»  (to ".aliases")
+
 (defvar ee-qrl-plist0
   '("\"" "\\\""
 "\\" ""
@@ -97,6 +99,7 @@
   (apply 'ee-qrl-narrow plist) ; then narrow to the region
 (apply 'ee-qrl0 plist)))   ; else replace to the end of the buffer
 
+;; «.aliases»  (to "aliases")
 (defalias 'qrl0 'ee-qrl0)
 (defalias 'qrl  'ee-qrl)
 
diff --git a/eev-strange-functions.el b/eev-strange-functions.el
index 48e5af3757..4ae7f59218 100644
--- a/eev-strange-functions.el
+++ b/eev-strange-functions.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author: Eduardo Ochs 
 ;; Maintainer: Eduardo Ochs 
-;; Version:20240218
+;; Version:20240219
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://anggtwu.net/eev-current/eev-strange-functions.el>
@@ -32,6 +32,8 @@
 
 ;; MESSY! EXPERIMENTAL! INCOMPLETE! UNFINISHED!
 
+;; «.aliases»  (to "aliases")
+
 
 (defvar ee-sf-sexp)
 (defvar ee-sf-result)
@@ -156,7 +158,7 @@
(:if t (error "Buffer type not supported by ee-hprog-for-sf"))
))
 
-(defun sf ()
+(defun eesf ()
   (interactive)
   (setq ee-hlang-sexp2 nil)
   (setq ee-sf-result nil)
@@ -167,7 +169,8 @@
   )
 
 
-
+;; «aliases»  (to ".aliases")
+(defalias 'sf 'eesf)
 
 
 (provide 'eev-strange-functions)
diff --git a/eev-tlinks.el b/eev-tlinks.el
index 458bed5d75..6b638d2761 100644
--- a/eev-tlinks.el
+++ b/eev-tlinks.el
@@ -144,6 +144,7 @@
 ;; «.find-1stclassvideodef»(to "find-1stclassvideodef")
 ;; «.find-1stclassvideos»  (to "find-1stclassvideos")
 ;;   «.1c» (to "1c")
+;;   «.aliases»(to "aliases")
 ;; «.find-advicebefore-links»  (to "find-advicebefore-links")
 ;; «.find-osm-links»   (to "find-osm-links")
 ;; «.find-pip3-links»  (to "find-pip3-links")
@@ -3601,6 +3602,7 @@ For more info on this particular video, run:
   rest)))
 
 ;; «1c»  (to ".1c")
+;; «aliases»  (to ".aliases")
 ;; Suggestion: put the aliases below in your init file.
 ;; (defalias '1c  'find-1stclassvideos)
 ;; (defalias '1cl 'find-1stclassvideo-links)



[nongnu] elpa/proof-general 4814efb366: proof-shell: document call graph

2024-02-19 Thread ELPA Syncer
branch: elpa/proof-general
commit 4814efb3668ec6c6a747c6b95691ca79d9f94bca
Author: Hendrik Tews 
Commit: hendriktews 

proof-shell: document call graph
---
 generic/proof-shell.el | 29 +
 1 file changed, 29 insertions(+)

diff --git a/generic/proof-shell.el b/generic/proof-shell.el
index bdb7037f94..3de1c87684 100644
--- a/generic/proof-shell.el
+++ b/generic/proof-shell.el
@@ -19,6 +19,35 @@
 ;; Mode for buffer which interacts with proof assistant.
 ;; Includes management of a queue of commands waiting to be sent.
 ;;
+;; A big portion of the code in this file implements the callback
+;; function that Emacs calls when output arrives from the proof
+;; assistant. This callback implements a major feature of Proof
+;; General: Sending one command after the other to the proof assistant
+;; and processing/displaying the reply.
+;;
+;; The following documents the call graph of important functions that
+;; contribute to this callback. The entry point is
+;; `proof-shell-filter-wrapper', which is configured in
+;; `scomint-output-filter-functions'. Sending the next comand to the
+;; proof assistant and calling the callbacks of the spans happens in
+;; `proof-shell-exec-loop'.
+;;
+;;   proof-shell-filter-wrapper
+;;   -> proof-shell-filter
+;;  -> proof-shell-process-urgent-messages
+;;  -> proof-shell-filter-manage-output
+;; -> proof-shell-handle-immediate-output
+;; -> proof-shell-exec-loop
+;;-> proof-tree-check-proof-finish
+;;-> proof-shell-handle-error-or-interrupt
+;;-> proof-shell-insert-action-item
+;;-> proof-shell-invoke-callback
+;;-> proof-release-lock
+;; -> proof-shell-handle-delayed-output
+;; -> proof-tree-handle-delayed-output
+;;  -> proof-release-lock
+;;   -> proof-start-prover-with-priority-items-maybe
+;;
 
 ;;; Code:
 



[elpa] externals/ellama 6622630860 4/4: Bump version

2024-02-19 Thread ELPA Syncer
branch: externals/ellama
commit 6622630860f2da36b5ea4c0f35b15b63a0a9e7c5
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Bump version
---
 NEWS.org  | 5 +
 ellama.el | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/NEWS.org b/NEWS.org
index dd92142c30..d449c3b846 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,3 +1,8 @@
+* Version 0.8.5
+- Improve working with context:
+  - Fix some ~org-mode~ links.
+  - Add command for adding info nodes into context.
+  - Fix keybindings documentation.
 * Version 0.8.4
 - Fix keybindings. Keymap prefix now not set by default to prevent
   usage of reserved for end user customisation keys.
diff --git a/ellama.el b/ellama.el
index f511819fd3..1bd63f6651 100644
--- a/ellama.el
+++ b/ellama.el
@@ -6,7 +6,7 @@
 ;; URL: http://github.com/s-kostyaev/ellama
 ;; Keywords: help local tools
 ;; Package-Requires: ((emacs "28.1") (llm "0.6.0") (spinner "1.7.4") (dash 
"2.19.1"))
-;; Version: 0.8.4
+;; Version: 0.8.5
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;; Created: 8th Oct 2023
 



[elpa] externals/filechooser 57b17c1f0c 2/3: Remove incorrect sentence from commentary

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit 57b17c1f0c53a1c37f3997e473c9ff9b1c6277c7
Author: Rahguzar 
Commit: Rahguzar 

Remove incorrect sentence from commentary
---
 filechooser.el | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/filechooser.el b/filechooser.el
index 191356baae..ae1c24b36c 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -15,9 +15,7 @@
 ;;; Commentary:
 ;; An implementation of xdg-desktop-portal filechooser in Emacs. This allows
 ;; for choosing files in applications like firefox (with GTK_USE_PORTAL set)
-;; from an Emacs frame. The default is to use `read-file-name' for choosing
-;; a single file and a pair of Dired buffers for choosing multiple files.
-;;
+;; using Emacs.
 ;;
 ;;; Code:
 (require 'compat)



[elpa] externals/ellama updated (4e2dbf4322 -> 6622630860)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/ellama.

  from  4e2dbf4322 Bump version
   new  3b34ac7dc6 Fix docs
   new  80bdeab8f1 Add info node to context. Fix some org links.
   new  5c185b74eb Merge pull request #78 from 
s-kostyaev/add-info-node-to-context
   new  6622630860 Bump version


Summary of changes:
 NEWS.org   |  5 +
 README.org | 11 ++-
 ellama.el  | 28 +---
 3 files changed, 40 insertions(+), 4 deletions(-)



[elpa] externals/greader 3f34b5c1cc: greader: version 0.9.4

2024-02-19 Thread ELPA Syncer
branch: externals/greader
commit 3f34b5c1cc204ffb1e90a36fffae0f0ae8bdc0ab
Author: Michelangelo Rodriguez 
Commit: Michelangelo Rodriguez 

greader: version 0.9.4

General improvements to `greader-dict--get-key-from-word':
Now it handles efficently the process of searching.
First, when there was not keys corresponding to a given word, the
algoritm scanned all the keys in the hash-table.
Now first the function checks if the word as is is present in the
hash-table, and in that case returns it.
If the word is not present as is, then we reduce the dictionary to
contain only the words classified as matches, and then searches for
the appropriate key.
---
 greader-dict.el | 52 
 greader.el  |  2 +-
 2 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/greader-dict.el b/greader-dict.el
index eee2fc47b0..b83042f8d6 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -234,26 +234,31 @@ Return nil if KEY is not present in `greader-dictionary'."
 (defun greader-dict--get-key-from-word (word)
   "Return key related to WORD, nil otherwise."
   (setq word (string-trim word))
-  (let ((key nil))
-(maphash
- (lambda (k v)
-   (let* ((result (string-remove-suffix
-  greader-dict-match-indicator k))
- (candidate-matches (string-split result "\\W" t)))
-(setq candidate-matches (sort candidate-matches
-  (lambda (s1 s2) (> (length s1)
- (length
-  s2)
-(catch 'matched
-  (dolist (candidate candidate-matches)
-;; (message "%s" (concat "matching " candidate " against " word 
"..."))
-(when (string-match candidate word)
-  ;; (message "Matched!")
-  (unless key
-(setq key k)
-(throw 'matched key)))
- greader-dictionary)
-key))
+  (cond
+   ((gethash word greader-dictionary)
+word)
+   (t
+(let ((reduced-dictionary (make-hash-table :test 'ignore-case)))
+  (dolist (item (greader-dict--get-matches 'match))
+   (puthash item (gethash item greader-dictionary) reduced-dictionary))
+  (let ((key nil))
+   (catch 'matched
+ (maphash
+  (lambda (k v)
+(let* ((result (string-remove-suffix
+greader-dict-match-indicator k))
+   (candidate-matches (string-split result "\\W" t)))
+  (setq candidate-matches (sort candidate-matches
+(lambda (s1 s2) (> (length s1)
+   (length
+s2)
+  (dolist (candidate candidate-matches)
+;; (message "%s" (concat "matching " candidate " against " 
word "..."))
+(when (string-match candidate word)
+  ;; (message "Matched!")
+  (setq key (concat k greader-dict-match-indicator))
+  (throw 'matched key)
+  reduced-dictionary)))
 
 ;; This function checks that, in the string you pass to it, there are
 ;; effectively words to be replaced. If so, use apis
@@ -273,11 +278,10 @@ Return nil if KEY is not present in `greader-dictionary'."
   (re-search-forward "\\w" nil t)
   (while (not (eobp))
(let*
-   ((key (greader-dict--get-key-from-word (downcase
-   (thing-at-point
-'word
+   ((key (greader-dict--get-key-from-word (thing-at-point
+   'word)))
 (modified-word
- (concat (downcase (thing-at-point 'word))
+ (concat (thing-at-point 'word)
  greader-dict-match-indicator)))
  (cond
   ((equal (greader-dict-item-type key) 'word)
diff --git a/greader.el b/greader.el
index 9243eab76b..8870efc603 100644
--- a/greader.el
+++ b/greader.el
@@ -6,7 +6,7 @@
 ;; Author: Michelangelo Rodriguez 
 ;; Keywords: tools, accessibility
 
-;; Version: 0.9.3
+;; Version: 0.9.4
 
 ;; 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/ellama 3b34ac7dc6 1/4: Fix docs

2024-02-19 Thread ELPA Syncer
branch: externals/ellama
commit 3b34ac7dc62b414ea7b9e963b837831a8eae11f1
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Fix docs
---
 README.org | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index e5d0edd7bf..ed09e41aa5 100644
--- a/README.org
+++ b/README.org
@@ -206,7 +206,7 @@ Add selected region to context.
 ** Keymap
 
 Here is a table of keybindings and their associated functions in
-Ellama, using the ~C-c e~ prefix:
+Ellama, using the ~ellama-keymap-prefix~ prefix (not set by default):
 
 | Keymap | Function | Description  |
 |+--+--|
@@ -217,6 +217,10 @@ Ellama, using the ~C-c e~ prefix:
 | "c r"  | ellama-code-review   | Code review  |
 | "s s"  | ellama-summarize | Summarize|
 | "s w"  | ellama-summarize-webpage | Summarize webpage|
+| "s l"  | ellama-load-session  | Session Load |
+| "s r"  | ellama-session-rename| Session rename   |
+| "s d"  | ellama-session-remove| Session delete   |
+| "s a"  | ellama-session-switch| Session activate |
 | "i w"  | ellama-improve-wording   | Improve wording  |
 | "i g"  | ellama-improve-grammar   | Improve grammar and spelling |
 | "i c"  | ellama-improve-conciseness   | Improve conciseness  |



[elpa] externals/ellama 80bdeab8f1 2/4: Add info node to context. Fix some org links.

2024-02-19 Thread ELPA Syncer
branch: externals/ellama
commit 80bdeab8f1890d1a74477ca68a53b306d4d73243
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Add info node to context. Fix some org links.
---
 README.org |  5 +
 ellama.el  | 26 --
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index ed09e41aa5..49017d0cb9 100644
--- a/README.org
+++ b/README.org
@@ -203,6 +203,10 @@ Add buffer to context.
 
 Add selected region to context.
 
+*** ellama-context-add-info-node
+
+Add info node to context.
+
 ** Keymap
 
 Here is a table of keybindings and their associated functions in
@@ -237,6 +241,7 @@ Ellama, using the ~ellama-keymap-prefix~ prefix (not set by 
default):
 | "x b"  | ellama-context-add-buffer| Context add buffer   |
 | "x f"  | ellama-context-add-file  | Context add file |
 | "x s"  | ellama-context-add-selection | Context add selection|
+| "x i"  | ellama-context-add-info-node | Context add info node|
 | "p s"  | ellama-provider-select   | Provider select  |
 
 ** Configuration
diff --git a/ellama.el b/ellama.el
index 1712325fce..f511819fd3 100644
--- a/ellama.el
+++ b/ellama.el
@@ -39,6 +39,7 @@
 (require 'llm)
 (require 'spinner)
 (require 'dash)
+(require 'info)
 (eval-when-compile (require 'rx))
 
 (defgroup ellama nil
@@ -126,6 +127,7 @@
 (define-key map (kbd "x b") 'ellama-context-add-buffer)
 (define-key map (kbd "x f") 'ellama-context-add-file)
 (define-key map (kbd "x s") 'ellama-context-add-selection)
+(define-key map (kbd "x i") 'ellama-context-add-info-node)
 ;; provider
 (define-key map (kbd "p s") 'ellama-provider-select)
 map)
@@ -727,15 +729,30 @@ If EPHEMERAL non nil new session will not be associated 
with any file."
   (push (cons 'text content) (ellama-session-context session))
 (push (cons 'text content) ellama--new-session-context)))
 
+;;;###autoload
+(defun ellama-context-add-info-node (node)
+  "Add info NODE to context."
+  (interactive (list (Info-copy-current-node-name)))
+  (if-let* ((id ellama--current-session-id)
+   (session (with-current-buffer (ellama-get-session-buffer id)
+  ellama--current-session)))
+  (push (cons 'info node) (ellama-session-context session))
+(push (cons 'info node) ellama--new-session-context)))
+
 (defun ellama--org-format-context-element (elt)
   "Format context ELT for org mode."
   (pcase (car elt)
 ('file
- (format "file:%s" (cdr elt)))
+ (format "[[file:%s][%s]]" (cdr elt) (cdr elt)))
 ('buffer
- (format "elisp:(display-buffer \"%s\")" (cdr elt)))
+ (format "[[elisp:(display-buffer \"%s\")][%s]]" (cdr elt) (cdr elt)))
 ('text
  (cdr elt))
+('info
+ (format "[[%s][%s]]"
+(replace-regexp-in-string
+ "(\\(.?*\\)) \\(.*\\)" "info:\\1#\\2" (cdr elt))
+(cdr elt)))
 (_
  (user-error "Unsupported context element"
 
@@ -750,6 +767,8 @@ If EPHEMERAL non nil new session will not be associated 
with any file."
  (format "```emacs-lisp\n(display-buffer \"%s\")\n```\n" (cdr elt)))
 ('text
  (cdr elt))
+('info
+ (format "```emacs-lisp\n(info \"%s\")\n```\n" (cdr elt)))
 (_
  (user-error "Unsupported context element"
 
@@ -762,6 +781,9 @@ If EPHEMERAL non nil new session will not be associated 
with any file."
 ('file (with-temp-buffer
 (find-file-literally (cdr elt))
 (buffer-substring-no-properties (point-min) (point-max
+('info (with-temp-buffer
+(info (cdr elt) (current-buffer))
+(buffer-substring-no-properties (point-min) (point-max
 (_
  (user-error "Unsupported context element"
 



[elpa] externals/ellama 5c185b74eb 3/4: Merge pull request #78 from s-kostyaev/add-info-node-to-context

2024-02-19 Thread ELPA Syncer
branch: externals/ellama
commit 5c185b74ebd282191b85d6dc84dcef95776f0498
Merge: 3b34ac7dc6 80bdeab8f1
Author: Sergey Kostyaev 
Commit: GitHub 

Merge pull request #78 from s-kostyaev/add-info-node-to-context

Add info node to context. Fix some org links.
---
 README.org |  5 +
 ellama.el  | 26 --
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index ed09e41aa5..49017d0cb9 100644
--- a/README.org
+++ b/README.org
@@ -203,6 +203,10 @@ Add buffer to context.
 
 Add selected region to context.
 
+*** ellama-context-add-info-node
+
+Add info node to context.
+
 ** Keymap
 
 Here is a table of keybindings and their associated functions in
@@ -237,6 +241,7 @@ Ellama, using the ~ellama-keymap-prefix~ prefix (not set by 
default):
 | "x b"  | ellama-context-add-buffer| Context add buffer   |
 | "x f"  | ellama-context-add-file  | Context add file |
 | "x s"  | ellama-context-add-selection | Context add selection|
+| "x i"  | ellama-context-add-info-node | Context add info node|
 | "p s"  | ellama-provider-select   | Provider select  |
 
 ** Configuration
diff --git a/ellama.el b/ellama.el
index 1712325fce..f511819fd3 100644
--- a/ellama.el
+++ b/ellama.el
@@ -39,6 +39,7 @@
 (require 'llm)
 (require 'spinner)
 (require 'dash)
+(require 'info)
 (eval-when-compile (require 'rx))
 
 (defgroup ellama nil
@@ -126,6 +127,7 @@
 (define-key map (kbd "x b") 'ellama-context-add-buffer)
 (define-key map (kbd "x f") 'ellama-context-add-file)
 (define-key map (kbd "x s") 'ellama-context-add-selection)
+(define-key map (kbd "x i") 'ellama-context-add-info-node)
 ;; provider
 (define-key map (kbd "p s") 'ellama-provider-select)
 map)
@@ -727,15 +729,30 @@ If EPHEMERAL non nil new session will not be associated 
with any file."
   (push (cons 'text content) (ellama-session-context session))
 (push (cons 'text content) ellama--new-session-context)))
 
+;;;###autoload
+(defun ellama-context-add-info-node (node)
+  "Add info NODE to context."
+  (interactive (list (Info-copy-current-node-name)))
+  (if-let* ((id ellama--current-session-id)
+   (session (with-current-buffer (ellama-get-session-buffer id)
+  ellama--current-session)))
+  (push (cons 'info node) (ellama-session-context session))
+(push (cons 'info node) ellama--new-session-context)))
+
 (defun ellama--org-format-context-element (elt)
   "Format context ELT for org mode."
   (pcase (car elt)
 ('file
- (format "file:%s" (cdr elt)))
+ (format "[[file:%s][%s]]" (cdr elt) (cdr elt)))
 ('buffer
- (format "elisp:(display-buffer \"%s\")" (cdr elt)))
+ (format "[[elisp:(display-buffer \"%s\")][%s]]" (cdr elt) (cdr elt)))
 ('text
  (cdr elt))
+('info
+ (format "[[%s][%s]]"
+(replace-regexp-in-string
+ "(\\(.?*\\)) \\(.*\\)" "info:\\1#\\2" (cdr elt))
+(cdr elt)))
 (_
  (user-error "Unsupported context element"
 
@@ -750,6 +767,8 @@ If EPHEMERAL non nil new session will not be associated 
with any file."
  (format "```emacs-lisp\n(display-buffer \"%s\")\n```\n" (cdr elt)))
 ('text
  (cdr elt))
+('info
+ (format "```emacs-lisp\n(info \"%s\")\n```\n" (cdr elt)))
 (_
  (user-error "Unsupported context element"
 
@@ -762,6 +781,9 @@ If EPHEMERAL non nil new session will not be associated 
with any file."
 ('file (with-temp-buffer
 (find-file-literally (cdr elt))
 (buffer-substring-no-properties (point-min) (point-max
+('info (with-temp-buffer
+(info (cdr elt) (current-buffer))
+(buffer-substring-no-properties (point-min) (point-max
 (_
  (user-error "Unsupported context element"
 



[elpa] externals/filechooser 163814d4a1 3/3: Fix formatting in readme

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit 163814d4a19fb71f0d60055c9481837024c99337
Author: Rahguzar 
Commit: Rahguzar 

Fix formatting in readme
---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
index e126d600ca..0be2ada224 100644
--- a/README.md
+++ b/README.md
@@ -36,12 +36,15 @@ If despite these limitations you want to test the package 
you can use one of the
 
 ### Manual Installation
 1. Place `filechooser.el` file in the load path and generate the autoloads 
file for it.
+
 2. Configure `xdg-desktop-portal` to use Emacs based filechooser. For recent 
versions this can be done by adding
 ```
 org.freedesktop.impl.portal.FileChooser=emacs
 ```
 to `~/.config/xdg-desktop-portal/portals.conf`. For older versions add your 
`$XDG_CURRENT_DESKTOP` to the `emacs.portal` file and copy it to 
`/usr/share/xdg-desktop-portal/portals/`.
+
 3. Copy the `org.gnu.Emacs.FileChooser.service` file 
`/usr/share/dbus-1/services/`.
+
 4. Restart `xdg-desktop-portal` by using `systemctl --user restart 
xdg-desktop-portal.service`.
 
 ### GNU ELPA



[elpa] externals/filechooser updated (4cdcf60179 -> 163814d4a1)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/filechooser.

  from  4cdcf60179 Update version number for ELPA
   new  7ffb384df4 Improved handling of default and empty strings
   new  57b17c1f0c Remove incorrect sentence from commentary
   new  163814d4a1 Fix formatting in readme


Summary of changes:
 README.md  | 3 +++
 filechooser.el | 8 +---
 2 files changed, 8 insertions(+), 3 deletions(-)



[elpa] externals/filechooser 7ffb384df4 1/3: Improved handling of default and empty strings

2024-02-19 Thread ELPA Syncer
branch: externals/filechooser
commit 7ffb384df44725fac414339f950a3afded062e66
Author: Rahguzar 
Commit: Rahguzar 

Improved handling of default and empty strings
---
 filechooser.el | 4 
 1 file changed, 4 insertions(+)

diff --git a/filechooser.el b/filechooser.el
index ea71213fce..191356baae 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -302,6 +302,10 @@ If MULTIPLE is non-nil `completing-read-multiple' is used."
 (delq nil (mapcar (lambda (flt) (if (cddr flt) (cadr flt)))
   filechooser--filters))
 dir default)))
+(when (equal result default)
+  (setq result (expand-file-name default dir)))
+(when (and default (file-directory-p result))
+  (setq result (expand-file-name default result)))
 (if (or mustmatch (not (file-exists-p result)))
 result
   (filechooser--handle-exisiting-file result dir filters



[elpa] externals/svg-lib 39621cd178 2/2: Merge pull request #44 from storvik/fix-default-style

2024-02-19 Thread ELPA Syncer
branch: externals/svg-lib
commit 39621cd178dbf903414156d893c1eefe217b7c29
Merge: beafc98077 06afec3710
Author: Nicolas P. Rougier 
Commit: GitHub 

Merge pull request #44 from storvik/fix-default-style

Delay init of default face. Fixes #18
---
 svg-lib.el | 37 +++--
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/svg-lib.el b/svg-lib.el
index 974209c1f1..3d25cdeb51 100644
--- a/svg-lib.el
+++ b/svg-lib.el
@@ -222,7 +222,7 @@ to the default face)."
   :font-weight   ,font-weight)))
 
 (defcustom svg-lib-style-default
-  (svg-lib-style-compute-default)
+  nil
   "Default style"
   :type '(plist :key-type (choice (const :tag "Background" :background)
   (const :tag "Foreground" :foreground)
@@ -248,6 +248,15 @@ to the default face)."
 (symbol)))
   :group 'svg-lib)
 
+(defun svg-lib-style-default--get ()
+  "Get default style.
+
+Should be considered the main way to get default style.
+Will compute default style if not set. This is neccessary
+in order to delay evaluation of default style until
+everything is loaded."
+  (or svg-lib-style-default (setq svg-lib-style-default
+  (svg-lib-style-compute-default
 
 (defvar-local svg-lib-button--press-id nil
   "Id of the currently pressed button (buffer local)")
@@ -269,7 +278,7 @@ If COLOR-NAME is unknown to Emacs, then return COLOR-NAME 
as-is."
 (defun svg-lib-style (&optional base &rest args)
   "Build a news style using BASE and style elements ARGS."
 
-  (let* ((default svg-lib-style-default)
+  (let* ((default (svg-lib-style-default--get))
  (base (or base default))
  (keys (cl-loop for (key _value) on default by 'cddr
 collect key))
@@ -315,7 +324,7 @@ If COLOR-NAME is unknown to Emacs, then return COLOR-NAME 
as-is."
 :font-family ,font-family
 :font-size ,font-size
 :font-weight ,font-weight))
- (base svg-lib-style-default)
+ (base (svg-lib-style-default--get))
  (keys (cl-loop for (key _value) on base by 'cddr collect key)))
 (dolist (key keys)
   (cond ((plist-member args key)
@@ -335,13 +344,13 @@ and additional style elements ARGS."
 (face-or-style
  (apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
(label-regex "\\[\\([a-zA-Z0-9]+:\\)?\\([a-zA-Z0-9 _-]+\\)\\] 
*\\(.+\\)?"))
   (if (string-match label-regex label)
   (let* ((collection (match-string 1 label))
  (collection (if (stringp collection)
  (substring collection 0 -1)
-   (plist-get svg-lib-style-default ':collection)))
+   (plist-get (svg-lib-style-default--get) 
':collection)))
  (icon   (match-string 2 label))
  (label  (match-string 3 label)))
 (if (and (stringp label) (> (length label) 0))
@@ -360,7 +369,7 @@ and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
  (foreground  (plist-get style :foreground))
  (background  (plist-get style :background))
  (crop-left   (plist-get style :crop-left))
@@ -420,7 +429,7 @@ and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
  (foreground  (plist-get style :foreground))
  (background  (plist-get style :background))
  (stroke  (plist-get style :stroke))
@@ -473,7 +482,7 @@ and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
  (foreground  (plist-get style :foreground))
  (background  (plist-get style :background))
  (stroke  (plist-get style :stroke))
@@ -542,7 +551,7 @@ given FACE-OR-STYLE and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))

[elpa] externals/svg-lib 06afec3710 1/2: Delay init of default face

2024-02-19 Thread ELPA Syncer
branch: externals/svg-lib
commit 06afec37105f904fc37e19588166f248758b2672
Author: storvik 
Commit: storvik 

Delay init of default face
---
 svg-lib.el | 37 +++--
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/svg-lib.el b/svg-lib.el
index 974209c1f1..3d25cdeb51 100644
--- a/svg-lib.el
+++ b/svg-lib.el
@@ -222,7 +222,7 @@ to the default face)."
   :font-weight   ,font-weight)))
 
 (defcustom svg-lib-style-default
-  (svg-lib-style-compute-default)
+  nil
   "Default style"
   :type '(plist :key-type (choice (const :tag "Background" :background)
   (const :tag "Foreground" :foreground)
@@ -248,6 +248,15 @@ to the default face)."
 (symbol)))
   :group 'svg-lib)
 
+(defun svg-lib-style-default--get ()
+  "Get default style.
+
+Should be considered the main way to get default style.
+Will compute default style if not set. This is neccessary
+in order to delay evaluation of default style until
+everything is loaded."
+  (or svg-lib-style-default (setq svg-lib-style-default
+  (svg-lib-style-compute-default
 
 (defvar-local svg-lib-button--press-id nil
   "Id of the currently pressed button (buffer local)")
@@ -269,7 +278,7 @@ If COLOR-NAME is unknown to Emacs, then return COLOR-NAME 
as-is."
 (defun svg-lib-style (&optional base &rest args)
   "Build a news style using BASE and style elements ARGS."
 
-  (let* ((default svg-lib-style-default)
+  (let* ((default (svg-lib-style-default--get))
  (base (or base default))
  (keys (cl-loop for (key _value) on default by 'cddr
 collect key))
@@ -315,7 +324,7 @@ If COLOR-NAME is unknown to Emacs, then return COLOR-NAME 
as-is."
 :font-family ,font-family
 :font-size ,font-size
 :font-weight ,font-weight))
- (base svg-lib-style-default)
+ (base (svg-lib-style-default--get))
  (keys (cl-loop for (key _value) on base by 'cddr collect key)))
 (dolist (key keys)
   (cond ((plist-member args key)
@@ -335,13 +344,13 @@ and additional style elements ARGS."
 (face-or-style
  (apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
(label-regex "\\[\\([a-zA-Z0-9]+:\\)?\\([a-zA-Z0-9 _-]+\\)\\] 
*\\(.+\\)?"))
   (if (string-match label-regex label)
   (let* ((collection (match-string 1 label))
  (collection (if (stringp collection)
  (substring collection 0 -1)
-   (plist-get svg-lib-style-default ':collection)))
+   (plist-get (svg-lib-style-default--get) 
':collection)))
  (icon   (match-string 2 label))
  (label  (match-string 3 label)))
 (if (and (stringp label) (> (length label) 0))
@@ -360,7 +369,7 @@ and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
  (foreground  (plist-get style :foreground))
  (background  (plist-get style :background))
  (crop-left   (plist-get style :crop-left))
@@ -420,7 +429,7 @@ and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
  (foreground  (plist-get style :foreground))
  (background  (plist-get style :background))
  (stroke  (plist-get style :stroke))
@@ -473,7 +482,7 @@ and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   (apply #'svg-lib-style (svg-lib-style-default--get) 
args
  (foreground  (plist-get style :foreground))
  (background  (plist-get style :background))
  (stroke  (plist-get style :stroke))
@@ -542,7 +551,7 @@ given FACE-OR-STYLE and additional style elements ARGS."
   (face-or-style
(apply #'svg-lib-style face-or-style args))
   (t
-   (apply #'svg-lib-style svg-lib-style-default args
+   

[nongnu] elpa/helm-core updated (b519f7eb1c -> 220dbb9bd6)

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

  from  b519f7eb1c Handle non saved buffers when killing
  adds  3c0820d6c6 Improve helm-acase
  adds  e1e8b8540b Use helm-acase in some places
  adds  220dbb9bd6 Fix warnings about eq against a list

No new revisions were added by this update.

Summary of changes:
 helm-core.el  | 13 ++---
 helm-files.el |  6 +++---
 helm-grep.el  | 10 +-
 helm-lib.el   | 25 +++--
 helm-ring.el  | 10 +-
 5 files changed, 34 insertions(+), 30 deletions(-)



[nongnu] elpa/helm 3c0820d6c6 1/3: Improve helm-acase

2024-02-19 Thread ELPA Syncer
branch: elpa/helm
commit 3c0820d6c64a52e18468ee961a408727bc0b9c23
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Improve helm-acase

It is now able to handle sexps.
---
 helm-files.el |  6 +++---
 helm-lib.el   | 25 +++--
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/helm-files.el b/helm-files.el
index 85d083c043..a6fa3ac5b3 100644
--- a/helm-files.el
+++ b/helm-files.el
@@ -5335,9 +5335,9 @@ arg."
  (abbreviate-file-name candidate))
 (t (file-relative-name candidate)))
 (helm-acase prefarg
-  ('(4)  (abbreviate-file-name candidate))
-  ('(16) (file-relative-name candidate))
-  ('(64) (helm-basename candidate))
+  ((4)  (abbreviate-file-name candidate))
+  ((16) (file-relative-name candidate))
+  ((64) (helm-basename candidate))
   (t candidate
 
 (cl-defun helm-find-files-history (arg &key (comp-read t))
diff --git a/helm-lib.el b/helm-lib.el
index 72c123dd0f..7bb3650644 100644
--- a/helm-lib.el
+++ b/helm-lib.el
@@ -566,20 +566,25 @@ is usable in next condition."
 (helm-aand ,@(cdr conditions))
 
 (defmacro helm-acase (expr &rest clauses)
-  "A simple anaphoric `cl-case' implementation handling strings.
-EXPR is bound to a temporary variable called `it' which is usable
-in CLAUSES to refer to EXPR.
-NOTE: Duplicate keys in CLAUSES are deliberately not handled.
+  "A simple anaphoric case implementation.
+The car of each clause can be any object that will be compared
+with `equal' or an expression starting with `guard' which should
+return a boolean.  EXPR is bound to a temporary variable called
+`it' which is usable in CLAUSES to refer to EXPR.  The car of
+each CLAUSES doesn't need to be quoted.
 
 \(fn EXPR (KEYLIST BODY...)...)"
   (declare (indent 1) (debug (form &rest (sexp body
   (unless (null clauses)
-(let ((clause1 (car clauses)))
-  `(let ((key ',(car clause1))
- (it ,expr))
- (if (or (equal it key)
- (and (listp key) (member it key))
- (eq key t))
+(let* ((clause1 (car clauses))
+   (key (car clause1))
+   (sexp(and (eq 'guard (car-safe key))
+ (cadr key
+  `(let ((it ,expr))
+ (if (or (equal it ',key)
+ (and (listp ',key) (member it ',key))
+ (eq ',key t)
+ (and (listp ',key) ,sexp))
  (progn ,@(cdr clause1))
(helm-acase it ,@(cdr clauses)))
 



[nongnu] elpa/helm e1e8b8540b 2/3: Use helm-acase in some places

2024-02-19 Thread ELPA Syncer
branch: elpa/helm
commit e1e8b8540b173de70e9a0c187a8c9dc96d230042
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Use helm-acase in some places

where code is simple for testing purpose.
---
 helm-core.el | 13 ++---
 helm-grep.el | 10 +-
 helm-ring.el | 10 +-
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/helm-core.el b/helm-core.el
index debeceb1d5..7bdc2c7b66 100644
--- a/helm-core.el
+++ b/helm-core.el
@@ -3774,13 +3774,12 @@ See :after-init-hook and :before-init-hook in 
`helm-source'."
   (cl-loop for s in sources
for hv = (assoc-default hook s)
when hv
-   do (pcase hv
-((and (pred (functionp))
-  (guard (not (symbolp hv 
- (funcall hv))
-((and hook (pred (listp)))
- (dolist (h hook) (funcall h)))
-(_ (helm-log-run-hook "helm--run-init-hooks" hv)
+   do (helm-acase hv
+((guard (and (functionp it) (not (symbolp it
+ (funcall it))
+((guard (listp it))
+ (dolist (h it) (funcall h)))
+(t (helm-log-run-hook "helm--run-init-hooks" it)
 
 (defun helm-restore-position-on-quit ()
   "Restore position in `helm-current-buffer' when quitting."
diff --git a/helm-grep.el b/helm-grep.el
index 8aabe81279..f514e95e1b 100644
--- a/helm-grep.el
+++ b/helm-grep.el
@@ -533,16 +533,16 @@ Have no effect when grep backend use \"--color=\"."
   (and rec-com rec-com-ack-p)))
 
 (defun helm-grep--pipe-command-for-grep-command (smartcase pipe-switches 
&optional grep-cmd)
-  (pcase (or grep-cmd (helm-grep-command))
+  (helm-acase (or grep-cmd (helm-grep-command))
 ;; Use grep for GNU regexp based tools.
-((or "grep" "zgrep" "git-grep")
+(("grep" "zgrep" "git-grep")
  (format "grep --color=always%s %s"
  (if smartcase " -i" "")
  pipe-switches))
 ;; Use ack-grep for PCRE based tools.
-;; Sometimes ack-grep cmd is ack only.
-((and (pred (string-match-p "ack")) ack)
- (format "%s --smart-case --color %s" ack pipe-switches
+;; Sometimes ack-grep cmd is ack only so compare by matching ack.
+((guard (string-match-p "ack" it))
+ (format "%s --smart-case --color %s" it pipe-switches
 
 (defun helm-grep--prepare-cmd-line (only-files &optional include zgrep)
   (let* ((default-directory (or helm-ff-default-directory
diff --git a/helm-ring.el b/helm-ring.el
index 49a782050a..2b16124eb7 100644
--- a/helm-ring.el
+++ b/helm-ring.el
@@ -322,11 +322,11 @@ yanked string."
   (with-current-buffer (marker-buffer marker)
 (goto-char marker)
 (forward-line 0)
-(let ((line (pcase (thing-at-point 'line)
-  ((and line (pred stringp)
-(guard (not (string-match-p "\\`\n?\\'" line
-   (car (split-string line "[\n\r]")))
-  (_ ""
+(let ((line (helm-acase (thing-at-point 'line)
+  ((guard (and (stringp it)
+   (not (string-match-p "\\`\n?\\'" it
+   (car (split-string it "[\n\r]")))
+  (t ""
   (remove-text-properties 0 (length line) '(read-only) line)
   (format "%7d:%s:%s"
   (line-number-at-pos) (marker-buffer marker) line



[nongnu] elpa/helm updated (b519f7eb1c -> 220dbb9bd6)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  b519f7eb1c Handle non saved buffers when killing
   new  3c0820d6c6 Improve helm-acase
   new  e1e8b8540b Use helm-acase in some places
   new  220dbb9bd6 Fix warnings about eq against a list


Summary of changes:
 helm-core.el  | 13 ++---
 helm-files.el |  6 +++---
 helm-grep.el  | 10 +-
 helm-lib.el   | 25 +++--
 helm-ring.el  | 10 +-
 5 files changed, 34 insertions(+), 30 deletions(-)



[nongnu] elpa/helm 220dbb9bd6 3/3: Fix warnings about eq against a list

2024-02-19 Thread ELPA Syncer
branch: elpa/helm
commit 220dbb9bd603a22d9d57e36dda58fda3e375f2d5
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Fix warnings about eq against a list

Ensure to test against a symbol.
---
 helm-lib.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/helm-lib.el b/helm-lib.el
index 7bb3650644..852f3713b6 100644
--- a/helm-lib.el
+++ b/helm-lib.el
@@ -583,7 +583,7 @@ each CLAUSES doesn't need to be quoted.
   `(let ((it ,expr))
  (if (or (equal it ',key)
  (and (listp ',key) (member it ',key))
- (eq ',key t)
+ (and (symbolp ',key) (eq ',key t))
  (and (listp ',key) ,sexp))
  (progn ,@(cdr clause1))
(helm-acase it ,@(cdr clauses)))



[elpa] externals/hyperbole 802a688acf 006/143: Fix hyrolo-mode-map outlining key bindings

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 802a688acf9370fd59e9849ea8586025ec89705a
Author: bw 
Commit: bw 

Fix hyrolo-mode-map outlining key bindings

Make hyrolo cache variables buffer-local to allow multiple commands
to have their own hyrolo display buffers.

Fix hyrolo-logic.el to handle multiple file formats (not yet tested).

test/hyrolo-tests.el (hyrolo-demo-move-to-beginning-and-end-of-file):
  Move to {,} and {.} tests to sep test.
---
 ChangeLog|  30 +++
 hyrolo-logic.el  |  41 +--
 hyrolo.el| 139 +--
 test/hyrolo-tests.el |  18 +--
 4 files changed, 148 insertions(+), 80 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8c16bfce06..2c3f07db09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2023-12-14  Bob Weiner  
+
+* hyrolo.el (hyrolo-grep): Remove '(set-buffer display-buf)' since call to
+'hyrolo-display-matches' does this.
+(hyrolo-mode-map): Fix bindings of hyrolo-* overloads of
+'outline-mode-prefix-map' (outline-minor-mode).
+
+2023-12-13  Bob Weiner  
+
+* hyrolo-logic.el (hyrolo-map-logic): Add doc for last arg,
+whole-buffer-flag.
+  (hyrolo-logic): Add calls to 'hyrolo--cache-initialize' and
+'hyrolo--cache-post-display-buffer'.
+Also add temporary disabling of 'magit-auto-revert-mode-enable-in-buffers'
+in 'after-change-major-mode-hook' to speed file processing.
+  (hyrolo-map-entries, hyrolo-map-kotl): Add call to
+'hyrolo--cache-major-mode'.
+  hyrolo.el (hyrolo-grep-file): Change 'delq' to 'remove' so does not
+permanently modify the 'after-change-major-mode-hook'.
+
+* hyrolo.el (hyrolo--cache-initialize, hyrolo--cache-major-mode): Ensure
+all settings apply to `hyrolo-display-buffer' local variables.
+(hyrolo-find-file): Fix doc string.
+   (hyrolo-set-file-list, hyrolo-let-file-list): Remove call to
+'hyrolo--cache-initialize'.
+
+* test/hyrolo-tests.el (hyrolo-demo-move-to-beginning-and-end-of-file):
+Move to {,} and {.} tests to sep test,
+'hyrolo-demo-move-to-beginning-and-end-of-entry'.
+
 2023-12-12  Bob Weiner  
 
 * hyrolo.el (hyrolo-mode): Add trailing space to default `outline-regexp'.
diff --git a/hyrolo-logic.el b/hyrolo-logic.el
index efee72e800..833bb9ce32 100644
--- a/hyrolo-logic.el
+++ b/hyrolo-logic.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:13-Jun-89 at 22:57:33
-;; Last-Mod: 10-Dec-23 at 17:24:59 by Bob Weiner
+;; Last-Mod: 14-Dec-23 at 00:22:05 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -171,9 +171,13 @@ is nil and optional NO-SUB-ENTRIES-OUT flag is non-nil.  
SEXP should utilize the
 free variables `start' and `end' as the region on which to operate.
 Return the number of evaluations of SEXP that match entries."
   (let* ((display-buf (unless count-only
-  (prog1 (hyrolo-set-display-buffer)
-(setq buffer-read-only nil)
-(erase-buffer
+   (prog1 (hyrolo-set-display-buffer)
+ (erase-buffer)
+ (hyrolo--cache-initialize
+;; Temporarily disable magit-auto-revert-mode-enable-in-buffers for 
hyrolo
+;; buffers; not needed and can slow/hang file loading
+(after-change-major-mode-hook
+ (remove 'magit-auto-revert-mode-enable-in-buffers 
after-change-major-mode-hook))
 (result
  (mapcar
   (lambda (buf-or-file)
@@ -186,8 +190,9 @@ Return the number of evaluations of SEXP that match 
entries."
 ((list in-bufs)
 (total-matches (apply '+ result)))
 (unless (or count-only (= total-matches 0))
+  (hyrolo--cache-post-display-buffer)
   (hyrolo-display-matches display-buf))
-total-matches))
+  total-matches))
 
 (defun hyrolo-map-logic (sexp hyrolo-buf &optional count-only
 include-sub-entries _no-sub-entries-out
@@ -200,17 +205,19 @@ flag is non-nil, apply SEXP across all sub-entries at 
once.
 Default is to apply SEXP to each entry and sub-entry separately.
 Entries are displayed with all of their sub-entries unless
 INCLUDE-SUB-ENTRIES is nil and optional NO-SUB-ENTRIES-OUT flag
-is non-nil.  SEXP should utilize the free variables `start' and
-`end' as the region on which to operate.  Return the number of
-evaluations of SEXP that match entries."
+is non-nil.  With optional WHOLE-BUFFER-FLAG, map entries with
+`hyrolo-map-kotl' rather than `hyrolo-map-entries'.
+
+SEXP should utilize the free variables `start' and `end' as the
+region on which to operate.  Return the number of evaluations of
+SEXP that match entries."
   (setq hyrolo-buf (or (get-buffer hyrolo-buf) hyrolo-buf))
   (if (or (bufferp hyrolo-buf)
  (when (file-exists-p hyrolo-buf)
(setq hyrolo-buf (find-file-nose

[elpa] externals/hyperbole 5703cf7608 007/143: HyRolo caching and movement fixes

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 5703cf7608bb20bc85f1a6df826d5b136bfb338b
Author: bw 
Commit: bw 

HyRolo caching and movement fixes

kotl-mode - Fix check of 'kotl-previous-mode' to not set local
vars if prior mode was the same, i.e. kotl-mode.
---
 ChangeLog |  21 
 hbut.el   |   4 +-
 hyrolo.el | 287 ++
 kotl/kotl-mode.el |   5 +-
 4 files changed, 188 insertions(+), 129 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2c3f07db09..6960ce765d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2023-12-15  Bob Weiner  
+
+* kotl/kotl-mode.el (kotl-mode): Fix check of 'kotl-previous-mode' to not set 
local
+vars if prior mode was the same, i.e. kotl-mode.
+
+* hyrolo.el (hyrolo-hdr-move-after-p): Add to move after any hdr lines in any 
buffer.
+(hyrolo-grep-file, hyrolo-map-level, hyrolo-map-level, 
hyrolo-show-levels:
+Change to call 'hyrolo-hdr-move-after-p'.
+(hyrolo-move-forward, hyrolo-move-backward): Rewrite.
+   (hyrolo-up-heading): Remove, use 'hyrolo-outline-up-heading'.
+   (hyrolo-map-matches, hyrolo-funcall-match): Add optional 
'narrow-flag' to
+narrow to the current file of matches.
+(hyrolo-outline-previous-heading): Add.
+   (hyrolo--cache-major-mode): Fix so stored matched buffer major-mode 
rather
+than hyrolo-mode from the display matches buffer.  Also, reused cached 
major-mode-index
+values when the major-mode is the same and increment index only when not 
reused.
+(hyrolo-map-matches, hyrolo-funcall-match): Eliminate 
save-restriction calls.
+   (hyrolo-cache-get-major-mode-from-pos): Add and use in 
'hyrolo-cace-set-major-mode'.
+   (hyrolo-previous-visible-heading): Remove, use
+'hyrolo-outline-previous-visible-heading'.
+
 2023-12-14  Bob Weiner  
 
 * hyrolo.el (hyrolo-grep): Remove '(set-buffer display-buf)' since call to
diff --git a/hbut.el b/hbut.el
index 31d2b95794..3aa2a4301d 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:18-Sep-91 at 02:57:09
-;; Last-Mod: 11-Dec-23 at 01:02:18 by Bob Weiner
+;; Last-Mod: 15-Dec-23 at 12:04:33 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -102,6 +102,8 @@ text.")
 
 (defconst hbut:source-prefix moccur-source-prefix
   "String found at start of a buffer containing only a hyper-button menu.
+It should not contain any characters needing regular expression quoting.
+
 This expression should be followed immediately by a file-name indicating the
 source file for the buttons in the menu, if any.")
 
diff --git a/hyrolo.el b/hyrolo.el
index ad54a5054a..a643eaf4d9 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 14-Dec-23 at 12:00:52 by Bob Weiner
+;; Last-Mod: 15-Dec-23 at 22:25:35 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1507,7 +1507,7 @@ returned to the number given."
   "Move backward to the ARG'th subheading at same level as this one.
 Stop at the first and last subheadings of a superior heading."
   (interactive "p")
-  (hyrolo-move-backward #'outline-backward-same-level arg))
+  (hyrolo-move-backward #'hyrolo-outline-backward-same-level arg))
 
 ;;;###autoload
 (defun hyrolo-consult-grep (&optional regexp max-matches)
@@ -1570,20 +1570,41 @@ Stop at the first and last subheadings of a superior 
heading."
   (interactive "p")
   (hyrolo-move-forward #'outline-forward-same-level arg))
 
+(defun hyrolo-hdr-to-last-line-p ()
+  "If point is at the start of a hdr line, move to the start of its last line.
+Return t in such cases.  Otherwise, don't move and return nil.
+
+The header includes lines matching both `hyrolo-hdr-regexp' and
+`hbut:source-prefix'."
+  (when (hyrolo-hdr-move-after-p)
+(forward-line -1)
+t))
+
+(defun hyrolo-hdr-move-after-p ()
+  "If point is at the start of a hdr line, move past the hdr and return t.
+Otherwise, don't move and return nil."
+  (let ((opoint (point))
+   (hdr-delim-count 0)
+   (loc-count 0))
+(while (or (when (looking-at hyrolo-hdr-regexp)
+(cl-incf hdr-delim-count))
+  (when (looking-at hbut:source-prefix)
+(cl-incf loc-count)))
+  (forward-line 1))
+(when (and (/= (point) opoint) (< hdr-delim-count 2) (zerop loc-count))
+  (if (looking-at hyrolo-hdr-regexp)
+ (forward-line 1)
+   (when (re-search-forward hyrolo-hdr-regexp nil t)
+  (forward-line 1)
+ (when (looking-at hbut:source-prefix)
+   (forward-line 1)
+(/= (point) opoint)))
+
 ;;;###autoload
 (defun hyrolo-grep-directories (file-regexp &rest dirs)
   "Regexp HyRolo search over files matching FILE-REGEXP in rest of DIRS."
   (apply #'hyrolo-search-directories #'hyrolo-grep file-regexp dirs))
 
-(def

[elpa] externals/hyperbole f4d6c729a1 001/143: Hyrolo fixes; EXAMPLE.kotl save {C-u C-h h k e} default to home dir

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit f4d6c729a13111e3d9ee08da4dfc3f5376d57eac
Author: bw 
Commit: bw 

Hyrolo fixes; EXAMPLE.kotl save {C-u C-h h k e} default to home dir
---
 .hypb| Bin 2599 -> 2715 bytes
 ChangeLog|  38 
 HY-TALK/HYPB |  19 +++---
 hpath.el |   6 ++---
 htz.el   |   5 ++--
 hyrolo.el|  70 +--
 kotl/kotl-mode.el|   4 +--
 test/hyrolo-tests.el |   1 +
 8 files changed, 107 insertions(+), 36 deletions(-)

diff --git a/.hypb b/.hypb
index 1d7d2c5982..c4530b271a 100644
Binary files a/.hypb and b/.hypb differ
diff --git a/ChangeLog b/ChangeLog
index ecd08c4d8b..731d93ed06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,37 @@
+2023-12-03  Bob Weiner  
+
+* test/hyrolo-tests.el (hyrolo-sort-test): Temporarily set to known
+:failing, as is a known bug.
+
+2023-12-02  Bob Weiner  
+
+* hyrolo.el (hyrolo-expand-path-list): Eliminate any non-existing
+entries after expansion.
+(hyrolo-date-format): Allow empty string to disable
+date adding/updating in entries.
+(hyrolo-set-date): Add optional 'edit-only-flag'
+when non-nil, replaces existing dates but does not add new ones;
+use as part of an edit command.  Do nothing if 'hyrolo-date-format'
+is an empty string.  These changes support the new file formats
+that HyRolo supports where you don't want a date added when jumping
+to and editing entries.
+(hyrolo-edit-date): Add for use with 'hyrolo-edit-hook'.
+   (hyrolo-edit-hook): Set to 'hyrolo-edit-date'.
+   (hyrolo-toggle-datestamps): Use 'hyrolo-edit-date'.
+   (hyrolo-to): Handle entries of all file types now supported
+by HyRolo.  If kotl-mode, move to first valid position on the line.
+
+* kotl/kotl-mode.el (kotl-mode:example): Fix to prompt to save in
+home directory, not the current directory.
+
 2023-12-01  Bob Weiner  
 
+* hyrolo.el (hyrolo-add): Fix that narrow-to-region was narrowing to a
+zero-sized region when point was not on an entry start character.
+Also fix that when moved to point-max trying optimized insertion
+but failing, never moved point back to point-min, so insertion
+would occur at the buffer end rather than the proper point.
+
 * hargs.el (hargs:delimited): Remove use of 'bounds-of-thing-at-point'
 and (require 'thingatpt) since it doesn't use the delimiters given
 and returns wrong results.  This fixes defal tests that were failing.
@@ -84,10 +116,6 @@
 which exits and selects the first minibuffer line, not the candidate
 presently selected.
 
-* hargs.el (hargs:delimited):
-   (require 'thingatpt): For 'bounds-of-thing-at-point'
-used in 'hargs:delimited' on single char matching delims.
-
 * hui-select.el (hui-select-scan-sexps): Add to fix brace handling
 as a matching pair when selecting things by using previously
 unused 'hui-select-syntax-table'.
@@ -742,7 +770,7 @@
 
 * kotl/kotl-mode.el (kotl-mode:self-insert-command): Remove special kotl-mode 
auto-filling
 is handled by regular 'self-insert-command'.  This fixes improper hanging 
indent auto-
-filling in kcells due to narrowing kcell to text contens only, hiding the 
cell prefix.
+filling in kcells due to narrowing kcell to text contents only, hiding the 
cell prefix.
 (kotl-mode:pre-self-insert-command):
   kotl/kotl-orgtbl.el (kotl-mode:setup-overriding-orgtbl-keymap): Remove 
reference to
 'kotl-mode:self-insert-command'.
diff --git a/HY-TALK/HYPB b/HY-TALK/HYPB
index 4e3b14bb1f..f171c4f92d 100644
--- a/HY-TALK/HYPB
+++ b/HY-TALK/HYPB
@@ -9,6 +9,8 @@
 ;; org-present-startup-folded nil
org-hide-emphasis-markers nil)
 
+  (setq org-present-text-scale 3)
+
   ;; Show only top-level headlines
   (org-overview)
 
@@ -20,6 +22,15 @@
 
 (add-hook 'org-present-after-navigate-functions 'rsw-org-present-setup)
 
+(add-hook 'org-present-mode-hook
+  (lambda ()
+(org-present-big)
+(org-display-inline-images)))
+
+(add-hook 'org-present-mode-quit-hook
+  (lambda ()
+(org-present-small)
+(org-remove-inline-images)))
 
 * Enable all Hyperbole keys including {M-RET} in Org mode
 
@@ -47,7 +58,7 @@ or interactively after loading Hyperbole:
   Deactivate: 
 
 ** ALTERNATIVE: Keypression - overlaying parts of buffer (shows trail of keys)
-   Used for EmacsNYC talk
+  Used for EmacsNYC talk
 
   Install:
   Activate:   
@@ -71,9 +82,9 @@ or interactively after loading Hyperbole:
 
 "!${PATH}/date"  - execute 'date' shell command
 
-"&Preview.app ${hyperb:dir}/man/hyperbole.pdf"
+"&open ${hyperb:dir}/man/hyperbole.pdf"
 
-"-subr.elc"  - load an Elisp library
+"-subr"  - load an Elisp library
 
 * Programming Buttons
 
@@ -93,

[elpa] externals/hyperbole 027eb85174 014/143: Merge matsl-rsw-hpath-expand' into rsw

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 027eb85174545e332f82ff3d82e6562c5b58e957
Merge: 6550a0ac7c 2f5d06dd4c
Author: bw 
Commit: bw 

Merge matsl-rsw-hpath-expand' into rsw

Fix 'hpath--expand-auto-variable-alist' and
'hpath--resolve-auto-variable-alist' tests.
---
 ChangeLog   |  9 +
 hpath.el|  2 +-
 test/hpath-tests.el | 95 -
 3 files changed, 104 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 92cb4d0681..447190c6eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,15 @@
   hyrolo.el (hyrolo-file-list): Update doc to specify allowable file suffixes
 and types.
 
+2023-12-23  Mats Lidell  
+
+* test/hpath-tests.el (hpath--expand-no-wildcards-existing-path)
+(hpath--expand-variations-non-existing-path)
+(hpath--expand-elisp-variable, hpath--expand-environment-variable)
+(hpath--expand-auto-variable-alist, hpath--resolve-auto-variable-alist)
+(hpath--expand-list-return-a-list, hpath--expand-list-match-regexp):
+Add tests for hpath:expand and hpath:expand-list.
+
 2023-12-23  Bob Weiner  
 
 * hypb.el (hypb:major-mode-from-file-name): Add for initial use in "hyrolo.el".
diff --git a/hpath.el b/hpath.el
index eabe439456..e22171d80c 100644
--- a/hpath.el
+++ b/hpath.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 1-Nov-91 at 00:44:23
-;; Last-Mod: 16-Dec-23 at 16:47:24 by Bob Weiner
+;; Last-Mod: 17-Dec-23 at 23:01:29 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
diff --git a/test/hpath-tests.el b/test/hpath-tests.el
index afd29b3fe0..9a16799fdb 100644
--- a/test/hpath-tests.el
+++ b/test/hpath-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:28-Feb-21 at 23:26:00
-;; Last-Mod: 14-Nov-23 at 00:35:22 by Bob Weiner
+;; Last-Mod: 17-Dec-23 at 19:35:06 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -285,5 +285,98 @@
   (should-not (hpath:at-p))
   (should-not (hpath:is-p fn)
 
+(ert-deftest hpath--expand-no-wildcards-existing-path ()
+  "Verify expand with no wildcards gives path back."
+  (let ((file (make-temp-file "hypb")))
+(unwind-protect
+(should (string= (hpath:expand file) file))
+  (hy-delete-file-and-buffer file
+
+(ert-deftest hpath--expand-variations-non-existing-path ()
+  "Verify expand non existing paths."
+  (should (string= (hpath:expand "/not/existing/file") "/not/existing/file"))
+  (should-not (hpath:expand "/not/existing/file" t))
+  (should (string= (hpath:expand "/not/existing/file*" t) 
"/not/existing/file*"))
+  (should (string= (hpath:expand "/not/existing/file[]" t) 
"/not/existing/file[]"))
+  (should (string= (hpath:expand "/not/existing/file?" t) 
"/not/existing/file?")))
+
+(ert-deftest hpath--expand-elisp-variable ()
+  "Verify an elisp ${variable} is expanded."
+  (let ((hyperb-no-trailing-slash (substring hyperb:dir 0 -1)))
+(should (string= (hpath:expand "${hyperb:dir}") hyperb-no-trailing-slash))
+(should (string= (hpath:expand "${hyperb:dir}" t) 
hyperb-no-trailing-slash))
+(should (string= (hpath:expand "${hyperb:dir}/notexisting") 
"${hyperb:dir}/notexisting"))
+(should-not (hpath:expand "${hyperb:dir}/notexisting" t
+
+(ert-deftest hpath--expand-environment-variable ()
+  "Verify that a $VAR environment is expanded."
+  (let ((envvar "hpath_test"))
+(unwind-protect
+(progn
+  (setenv "HPATH" envvar)
+  (should (string= (hpath:expand "$HPATH") envvar))
+  ; Should next not work? See below where is works
+  ;(should (string= (hpath:expand "${HPATH}") envvar))
+  (should-not (hpath:expand "$HPATH" t))
+  (should-not (hpath:expand "${HPATH}" t)))
+  (setenv "HPATH")))
+  (let ((file (make-temp-file "hypb")))
+(unwind-protect
+(progn
+  (setenv "HPATH" file)
+  (should (string= (hpath:expand "$HPATH") file))
+  (should (string= (hpath:expand "${HPATH}") file))
+  (should (string= (hpath:expand "$HPATH" t) file))
+  (should (string= (hpath:expand "${HPATH}" t) file)))
+  (setenv "HPATH")
+  (hy-delete-file-and-buffer file
+
+(ert-deftest hpath--expand-auto-variable-alist ()
+  "Verify relative paths matching auto-variable-alist are expanded."
+  (let ((hpath:auto-variable-alist '(("\\.el" . load-path
+(should (string= (hpath:expand "dired.el")
+(locate-library "dired.el")))
+(should (string= (hpath:expand "dired.elc")
+(hpath:resolve "dired.elc")
+
+(ert-deftest hpath--resolve-auto-variable-alist ()
+  "Verify relative paths matching auto-variable-alist are resolved."
+  (let ((hpath:auto-variable-alist '(("\\.el" . load-path
+(should (string= (hpath:resolve "dired.el")
+(locate-library "dired.el")))
+(should (string= (hpath:resolve "dired.elc")
+

[elpa] externals/hyperbole ca3cf8e427 017/143: hyrolo.el - Fix {t} and {o} commands

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit ca3cf8e42784c25ba8ffa6dc9520bd0f78c309c4
Author: bw 
Commit: bw 

hyrolo.el - Fix {t} and {o} commands

Disable reveal-mode until can get it to work properly with
outline-minor-mode.

Fix hyrolo-tests.el tests that prompt to re-read-in files.
---
 ChangeLog|  66 ++---
 HY-NEWS  |   2 +-
 hib-doc-id.el|   4 +-
 hyrolo-logic.el  |   2 +-
 hyrolo.el| 265 +++
 kotl/kimport.el  |   6 +-
 kotl/kotl-mode.el|  10 +-
 man/hyperbole.html   |   8 +-
 man/hyperbole.info   | Bin 618111 -> 618127 bytes
 man/hyperbole.pdf| Bin 1372120 -> 1372135 bytes
 man/hyperbole.texi   |   6 +-
 test/hyrolo-tests.el |  42 
 12 files changed, 254 insertions(+), 157 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 14128fd64b..06bd7e6f06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,46 @@
+2023-12-26  Bob Weiner  
+
+* test/hyrolo-tests.el: Fix with-simulated-input where prompting for 'y'.
+
+* hyrolo.el (hyrolo-map-matches, hyrolo-funcall-match): Ensure point ends up
+on a visible point so that reveal-mode does not force and unhide of the 
entry.
+Remove the above logic from 'hyrolo-show-levels' since it calls
+'hyrolo-map-matches'.
+(hyrolo-mode): For now, stop enabling 'reveal-mode'  until can get 
it
+ working right with the enabling of 'outline-minor-mode' when switch major 
modes
+ in "*HyRolo*", typically using 'hyrolo-funcall-match' or 
'hyrolo-map-matches'.
+
+* test/hyrolo-tests.el (hyrolo-sort-test): Enable this test.
+  hyrolo.el (hyrolo-add): Fix this function to insert sub-entries in the right
+location so 'hyrolo-sort-test' passes.
+
 2023-12-25  Bob Weiner  
 
+* hyrolo.el (hyrolo-entry-regexp): Rename to 'hyrolo-hdr-and-entry-regexp' and
+in 'hyrolo-mode' extend its value to include all multiple trailing 
whitespace
+chars after the entry delimiter.
+  Add new variable `hyrolo-entry-regexp' which does not match to file headers.
+
+* hyrolo.el (require 'reveal): Add since overload its functions now.
+
+* kotl/kotl-mode.el (kotl-mode:reveal-toggle-invisible): Fix by adding
+'get-buffer' call around 'hyrolo-display-buffer'.  Otherwise, the buffer
+comparison would always fail.
+
 * hyrolo.el (hyrolo-hdr-move-after-p): Modify to handle when point is not at
 the start of but is on a hdr separator or loc line.
-(hyrolo-to-entry-beginning): Fix to move past any file hdr.
+(hyrolo-to-entry-beginning): Fix to move past any file hdr.
+(hyrolo-map-matches): Fix calls to this that are mode-specific by 
adding
+   second arg of t.
+(hyrolo-show-levels): Rewrite so handles all behavior for {t} and 
{o}
+   key bindings.
+(hyrolo-overview, hyrolo-top-level): Simplify for new version of
+   'hyrolo-show-levels'.
+(outline-mode-hook): Fix to apture only one whitespace char in
+   'outline-regexp' so 'hyrolo-outline-level' function works properly.
+(hyrolo-grep-file): Require a final blank line so that
+   'outline-hide-sublevels' won't hide it and combine with any next file 
header.
+   (hyrolo-min-matched-level): Fix to start with max val rather than min 
val.
 
 * man/hyperbole.texi (HyRolo Keys): Document [ and ] keys to move to prev and
 next buffer/file @loc> line.
@@ -20,7 +58,7 @@
 (outline-mode-hook): Add to configure outline-mode for use with 
HyRolo.
(hyrolo-org-mode): Update to set all local hyrolo variables.
 
-* kotl/kotl-mode.el (kotl-mode): Set 'outline-regexp' to match 
'hyrolo-entry-regexp'
+* kotl/kotl-mode.el (kotl-mode): Set 'outline-regexp' to match 
'hyrolo-hdr-and-entry-regexp'
 to account for file headers in 'hyrolo-mode' (multi-format major-mode).
 
 2023-12-24  Bob Weiner  
@@ -77,7 +115,7 @@
 * kotl/kotl-mode.el (kotl-mode): Disable 'change-major-mode-hook' addition of
 'kotl-mode:show-all' if in the HyRolo display buffer.
 
-* hyrolo.el (hyrolo-entry-regexp): Add 'hyrolo-hdr-regexp' and 
'hbut:source-prefix'
+* hyrolo.el (hyrolo-hdr-and-entry-regexp): Add 'hyrolo-hdr-regexp' and 
'hbut:source-prefix'
 so are not skipped during hide/show operations.  Also do this in
 'markdown-mode-hook' and 'kotl-mode'.
 
@@ -237,7 +275,7 @@
 in HyRolo display match buffer when displaying parts of Koutlines.
 
 * hyrolo.el (hyrolo-cache-set-major-mode): Move to this function the
-addition of 'hyrolo-hdr-regexp' to both 'hyrolo-entry-regexp' and
+addition of 'hyrolo-hdr-regexp' to both 'hyrolo-hdr-and-entry-regexp' and
 'outline-regexp' within the *HyRolo* display match buffer.
 (hyrolo-markdown-outline-level, hyrolo-cache-set-major-mode):
 Fix markdown 'outline-level' function to always return a non-nil level.
@@ -293,7 +331,7 @@
 (hyrolo-grep-file): Add call to 'hyrolo--cache-locals'.
 (hyrolo-grep):

[elpa] externals/hyperbole a7a5723712 015/143: Fix 'hpath--expand-list-match-regexp' test.

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit a7a572371240a831d052a9f76ad1119258378418
Author: bw 
Commit: bw 

Fix 'hpath--expand-list-match-regexp' test.
---
 test/hpath-tests.el | 23 ---
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/test/hpath-tests.el b/test/hpath-tests.el
index 9a16799fdb..3d61ee7b4d 100644
--- a/test/hpath-tests.el
+++ b/test/hpath-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:28-Feb-21 at 23:26:00
-;; Last-Mod: 17-Dec-23 at 19:35:06 by Mats Lidell
+;; Last-Mod: 24-Dec-23 at 03:30:04 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -363,20 +363,21 @@
 
 (ert-deftest hpath--expand-list-match-regexp ()
   "Verify expand-list selects files using match regexp."
-  (let* ((temporary-file-directory (make-temp-file "hypb" t))
- (org1-file (make-temp-file "hypb" nil ".org"))
- (org2-file (make-temp-file "hypb" nil ".org"))
- (kotl-file (make-temp-file "hypb" nil ".kotl")))
+  (let* ((temp-dir (make-temp-file "hypb-dir" t))
+(file-prefix (expand-file-name "hypb" temp-dir))
+ (org1-file (make-temp-file file-prefix nil ".org"))
+ (org2-file (make-temp-file file-prefix nil ".org"))
+ (kotl-file (make-temp-file file-prefix nil ".kotl")))
 (unwind-protect
 (progn
-  (should (= (length (hpath:expand-list (list 
temporary-file-directory))) 3))
-  (should (= (length (hpath:expand-list (list 
temporary-file-directory) ".*")) 3))
-  (should (= (length (hpath:expand-list (list 
temporary-file-directory) ".org")) 2))
-  (should (= (length (hpath:expand-list (list 
temporary-file-directory) ".kotl")) 1))
-  (should (= (length (hpath:expand-list (list 
temporary-file-directory) ".md")) 0)))
+  (should (= (length (hpath:expand-list (list temp-dir))) 3))
+  (should (= (length (hpath:expand-list (list temp-dir) ".*")) 3))
+  (should (= (length (hpath:expand-list (list temp-dir) ".org")) 2))
+  (should (= (length (hpath:expand-list (list temp-dir) ".kotl")) 1))
+  (should (= (length (hpath:expand-list (list temp-dir) ".md")) 0)))
   (dolist (f (list org1-file org2-file kotl-file))
 (hy-delete-file-and-buffer f))
-  (delete-directory temporary-file-directory
+  (delete-directory temp-dir
 
 (provide 'hpath-tests)
 ;;; hpath-tests.el ends here



[elpa] externals/hyperbole 97111e4bd0 004/143: Merge branch 'master' into rsw

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 97111e4bd022451356f570612759629f60729c44
Merge: e1483d9cff 6c5002e670
Author: bw 
Commit: bw 

Merge branch 'master' into rsw
---
 ChangeLog   |  26 +
 hmouse-tag.el   |   3 +-
 test/hy-test-helpers.el |   4 +-
 test/hyrolo-tests.el|   9 +++--
 test/hywconfig-tests.el | 100 
 5 files changed, 135 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2b782e7b19..f1ebf9083d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -32,6 +32,11 @@
 * hyrolo.el (hyrolo-move-backward): Change 'outline-previous-heading' call to
 'hyrolo-outline-previous-heading'.
 
+2023-12-09  Mats Lidell  
+
+* test/hy-test-helpers.el (hy-test-helpers:consume-input-events): Remove
+not needed recursion-depth check.
+
 2023-12-09  Bob Weiner  
 
 * hyrolo.el (hyrolo-funcall-match, hyrolo-map-matches): Add these functions to
@@ -67,6 +72,18 @@
They are no longer used.  Move header matching in `outline-regexp' and
`hyrolo-entry-regexp' to 'hyrolo--cache-matched-buffer'.
 
+2023-12-07  Mats Lidell  
+
+* test/hywconfig-tests.el (hywconfig-tests--remove-ring)
+(hywconfig-tests--remove-names): Support functions for clearing the
+window config per frame.
+(hywconfig--inital-ring-is-empty, hywconfig--not-empty-if-ring-save)
+(hywconfig--number-of-configs-are-store-up-to-a-max)
+(hywconfig--empty-after-pop-ring-with-one-config)
+(hywconfig--max-minus-one-after-pop-ring-with-max-config)
+(hywconfig--get-not-existing-config-fails, hywconfig--add-by-name)
+(hywconfig--delete-by-name): Tests.
+
 2023-12-04  Bob Weiner  
 
 * Makefile (HY-TALK/HYPER*.org): Add Hyperbole talk slides from EmacsConf
@@ -112,6 +129,15 @@
 * kotl/kotl-mode.el (kotl-mode:example): Fix to prompt to save in
 home directory, not the current directory.
 
+2023-12-01  Mats Lidell  
+
+* hmouse-tag.el (ibtype:def-symbol): Declare function to silence warning.
+
+* test/hyrolo-tests.el (hyrolo-sort-test): Set default date format so the
+format used is well defined.
+(hyrolo-fgrep-and-goto-next-visible-md-heading): Use level one heading
+so that heading hierarchy is respected.
+
 2023-12-01  Bob Weiner  
 
 * hyrolo.el (hyrolo-add): Fix that narrow-to-region was narrowing to a
diff --git a/hmouse-tag.el b/hmouse-tag.el
index 1c68a65ae6..dbd039e5aa 100644
--- a/hmouse-tag.el
+++ b/hmouse-tag.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:24-Aug-91
-;; Last-Mod: 22-Nov-23 at 00:15:24 by Bob Weiner
+;; Last-Mod:  1-Dec-23 at 23:32:23 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -80,6 +80,7 @@
 
 (declare-function hsys-org-get-value "hsys-org")
 (declare-function org-in-src-block-p "org")
+(declare-function ibtype:def-symbol "hbut")
 
 ;; Forward declare needed? Because of optional defined above? Can we
 ;; skip checking if xref is available since it has been at least since
diff --git a/test/hy-test-helpers.el b/test/hy-test-helpers.el
index ddb7e95dd3..c20d35a73b 100644
--- a/test/hy-test-helpers.el
+++ b/test/hy-test-helpers.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:30-Jan-21 at 12:00:00
-;; Last-Mod:  7-Jul-23 at 17:09:59 by Mats Lidell
+;; Last-Mod: 31-Oct-23 at 22:48:26 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -24,7 +24,7 @@
 
 (defun hy-test-helpers:consume-input-events ()
   "Use recusive-edit to consume the events kbd-key generates."
-  (run-with-timer 0.1 nil (lambda () (if (< 0 (recursion-depth)) 
(exit-recursive-edit
+  (run-with-timer 0.1 nil (lambda () (exit-recursive-edit)))
   (recursive-edit))
 
 (defun hy-test-helpers:should-last-message (msg)
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 60946266a8..cf125e6e28 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod: 29-Nov-23 at 23:22:15 by Mats Lidell
+;; Last-Mod:  1-Dec-23 at 23:20:39 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -207,7 +207,8 @@ and {b} the previous same level cell."
   :expected-result :failed
   (let ((hyrolo-file (make-temp-file "hypb" nil ".otl")))
 (unwind-protect
-(let ((hyrolo-file-list (list hyrolo-file)))
+(let ((hyrolo-file-list (list hyrolo-file))
+  (hyrolo-date-format "%m/%d/%Y"))
   (hyrolo-find-file (car (hyrolo-get-file-list)))
   (insert "===\nHdr\n===\n")
   (goto-char (point-min))
@@ -365,7 +366,7 @@ and {b} the previous same level cell."
   "Verify move to next heading, then action-key to go to record for markdown 
mode."
   :expected-result :failed
   (let* ((temporary-file-directory (make-temp-file "hypb" t))
- (md-file (make-temp-file "hypb" nil ".md" "## 
heading\nstring\nmore\n"))
+ (md-file (make-temp-file "hypb"

[elpa] externals/hyperbole 7adb441c0e 036/143: kotl-mode - fix kill and yank commands not moving to valid pos first

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 7adb441c0e42f27423168ffea39517901e45c26a
Author: bw 
Commit: bw 

kotl-mode - fix kill and yank commands not moving to valid pos first

Fix improper use of `hkey-value' as tag when it was not a string.
---
 ChangeLog | 15 +++--
 hmouse-tag.el |  4 ++--
 kotl/kotl-mode.el | 63 ---
 3 files changed, 52 insertions(+), 30 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d01e670f6f..e43bec5b07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
+2023-12-29  Bob Weiner  
+
+* hmouse-tag.el (smart-lisp-find-tag): Fix issue where 'hkey-value' was used
+as tag when it was not a string, causing failures on known function 
lookups.
+
 2023-12-28  Bob Weiner  
 
+* kotl/kotl-mode.el (kotl-mode:pre-self-insert-command): Add these kotl-mode
+commands: kill-line, kill-region, kill-sentence, kill-or-copy-region, yank,
+yank-from-kill-ring, yank-pop, and yank-rectangle.
+   (kotl-mode:to-valid-position-commands): Make list of 
commands
+modifiable.
+
 * hypb-ert.el (hypb-ert-def-at-p): Add support for `ert-deftest-async' from the
 "ert-async.el" package.
 
@@ -42,13 +53,13 @@
 
 2023-12-26  Bob Weiner  
 
-* hpath.el (hpath:to-markup-anchor): If referent-regexp starts with '^', add
+* hpath.el (hpath:to-markup-anchor): If 'referent-regexp' starts with '^', add
 "[ \t]*" instead of "[ \t]+" to the expression in case it matches the 
whole line.
 
 * hui.el (hui:link-possible-types): Change outline heading line link to 
trigger only
 for outline, org and kotl modes when point is anywhere on the heading line.
 Include non-zero column in pathname so returns to the original point.  
Produce a
-link-to-string-match type.
+'link-to-string-match' type.
   hbut.el (ibut:insert-text): Change 'actypes::link-to-string-match' to use a 
pathname
 format ibut rather than a  action button when the 
occurrence
 number is 1.
diff --git a/hmouse-tag.el b/hmouse-tag.el
index 9677a8feb3..e67c427f40 100644
--- a/hmouse-tag.el
+++ b/hmouse-tag.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:24-Aug-91
-;; Last-Mod: 28-Dec-23 at 11:16:10 by Bob Weiner
+;; Last-Mod: 29-Dec-23 at 00:52:05 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -699,7 +699,7 @@ Use `hpath:display-buffer' to show definition or 
documentation."
  "Show doc for" "Find")))
 current-prefix-arg))
   (unless (stringp tag)
-(setq tag (or hkey-value (smart-lisp-at-tag-p t
+(setq tag (if (stringp hkey-value) hkey-value (smart-lisp-at-tag-p t
   (let* ((elisp-flag (smart-emacs-lisp-mode-p))
 (tag-sym (intern-soft tag)))
 (cond ((and show-doc elisp-flag)
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index 4972c6b5dc..8292b2071e 100644
--- a/kotl/kotl-mode.el
+++ b/kotl/kotl-mode.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:6/30/93
-;; Last-Mod: 25-Dec-23 at 23:33:09 by Bob Weiner
+;; Last-Mod: 29-Dec-23 at 02:05:41 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -38,18 +38,11 @@
 ;;; Public variables
 ;;; 
 
-(defvar kotl-mode-map nil
-  "Keymap containing koutliner editing and viewing commands.")
-
-(defvar kotl-previous-mode nil
-  "Default mode of koutline buffers prior to invocation of kotl-mode.")
-
-(defcustom kotl-mode:shrink-region-flag nil
-  "*Non-nil means Koutliner commands automatically shrink the region.
-The region is shrinked within the visible bounds of a single cell
-before editing it.  The region then falls within the first
-visible cell that was part of the region or that followed it.
-Default value is nil."
+(defcustom kotl-mode:indent-tabs-mode t
+  "*Non-nil means {\\[kotl-mode:tab-command]} may insert literal tab 
characters.
+Tab characters are inserted rather than space characters when
+`kotl-mode:tab-flag' is non-nil.  Default value is t.  The value
+of this variable is local to each Koutline buffer."
   :type 'boolean
   :group 'hyperbole-koutliner)
 
@@ -61,6 +54,15 @@ during such operations, regardless of the value of this 
flag."
   :type 'boolean
   :group 'hyperbole-koutliner)
 
+(defcustom kotl-mode:shrink-region-flag nil
+  "*Non-nil means Koutliner commands automatically shrink the region.
+The region is shrinked within the visible bounds of a single cell
+before editing it.  The region then falls within the first
+visible cell that was part of the region or that followed it.
+Default value is nil."
+  :type 'boolean
+  :group 'hyperbole-koutliner)
+
 (defcustom kotl-mode:tab-flag nil
   "*Non-nil means {\\[kotl-mode:tab-command]} inserts a literal tab character 
and {\\[kotl-mode:untab-command]} deletes backward.
 Nil means {\\[kotl-mode:tab-command]} demotes the current tree and
@@ -68,13 +70,25 @@ Nil means {\\

[elpa] externals/hyperbole updated (6c5002e670 -> ce463d27c9)

2024-02-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/hyperbole.

  from  6c5002e670 Remove not needed recursion-depth check (#417)
   new  f4d6c729a1 Hyrolo fixes; EXAMPLE.kotl save {C-u C-h h k e} default 
to home dir
   new  2173bf7e09 Add new HYPERAMP.org talk slides and update talks in 
HY-TALK
   new  e1483d9cff Temp commit to save multi-mode updates to HyRolo display 
buffer
   new  97111e4bd0 Merge branch 'master' into rsw
   new  339c6a2a8d Fixes for handling outline-regexp and hyrolo-entry-regexp
   new  802a688acf Fix hyrolo-mode-map outlining key bindings
   new  5703cf7608 HyRolo caching and movement fixes
   new  1f942eac01 Fix HyRolo {n} and {p} movement commands
   new  19e51dfb0e +* hyrolo.el (hyrolo-move-backward, 
hyrolo-move-forward): Fixes.
   new  926f8a02fd Fix many hyrolo multi-file-format issues; fix hywconfig 
by name
   new  1154b391e3 Fix link-to-regexp-match to use 'n' count during regexp 
search
   new  6550a0ac7c hyrolo-any-file-type-problem-p - Add to handle invalid 
file suffixes
   new  2f5d06dd4c Add tests for hpath:expand and hpath:expand-list
   new  027eb85174 Merge matsl-rsw-hpath-expand' into rsw
   new  a7a5723712 Fix 'hpath--expand-list-match-regexp' test.
   new  bd5f59b2e0 hyrolo-mode-map - add [ and ] keys to move to prev and 
next @loc>
   new  ca3cf8e427 hyrolo.el - Fix {t} and {o} commands
   new  71aa8f2587 Add test for hui:link-possible-types
   new  46d8da0039 Fix test as ebut is being identified correctly
   new  54d7ae565a Complete test suite for hui:link-possible-types
   new  98edfae8d1 Fix test with link-to-string-match since bug is fixed
   new  c73e948516 Merge pull request #422 from 
rswgnu/matsl-rsw-hui-link-possible-types
   new  97f4e12386 hui--link-possible-types - ensure only 1 specific type 
per test
   new  d59f27c469 Fix most remaining outstanding issues in HyRolo, 
ibut-link-directly
   new  320352f3c4 Set enable-local-variables to nil for tests with DEMO 
and FAST-DEMO
   new  f4fccc5abf Merge pull request #423 from 
rswgnu/matsl-rsw-ignore-local-vars-in-demo
   new  badf1e5281 Merge remote branch 'rsw' into rsw
   new  966605b7a3 hkey-window-link, {M-o w} - invert the meaning of prefix 
arg
   new  0798e16ab0 Fix doc on switch of cross-window drags create ibuts 
with Action Key.
   new  12950cd2db Matsl rsw fix failing tests (#424)
   new  0e242bc1ae Merge remote branch 'rsw' of hyperbole into rsw
   new  8d9b7f0dde hyrolo-tests.el - "*HyRolo*" literal to 
`hyrolo-display-buffer' var
   new  ee453d177f hpath--expand-list-match-regexp - Fix test with regexp 
char quoting
   new  7adb441c0e kotl-mode - fix kill and yank commands not moving to 
valid pos first
   new  f2c6081a9c Add fast-demo test for outline section with line and 
column
   new  d4c881007b Add remaining test cases for fast-demo
   new  140798a28f Merge pull request #426 from 
rswgnu/matsl-rsw-add-missing-fast-demo-tests
   new  b3a0a7d2e2 Merge remote branch 'rsw' of hyperbole into rsw
   new  00d5af41be Add Smart Key support for rsw's new ert-results.el 
package
   new  c51017f96b Fix HyRolo search bug in Org mode when no * delim in 
file, just text
   new  1e1d2950e4 hyperbole.texi - add doc for Smark Key handling in ERT 
result bufs
   new  a7efb9be79 FAST-DEMO include ert test in file to avoid loading all 
test files
   new  7657601745 hyrolo-mode-map - bind {n} and {C-c C-n} to the same 
command
   new  bc0c5b9086 HyRolo - if hyrolo-file-list is set on load, initialize 
its cache
   new  c02aa4d417 hypb-ert-def-at-p - fix rexexp bug with Action Key 
edebug testing
   new  f098816abd Add hsys-flymake.el; fix text-toc actype and {C-u C-h A}
   new  564c147587 Add tests for hypb-ert (#429)
   new  fc6df9d652 Merge remote branch 'rsw' into rsw
   new  e67d0f733f Fix edebugging of tests that have not been previously 
defined
   new  1f45b45af9 Add hyrolo-get-file-list tests
   new  6c7b8e5afb Add helper for generating org files + two tests using 
the matches
   new  2187b3522b Add test for hiding and showing
   new  e995fc8905 Add test for moving between two sections
   new  9c25ca128a Add test for moving up from sub header
   new  7c7aae7206 Add edit entry test, fix regular expressions
   new  1e8006fc19 Fix more regexps and remove not working visibility check
   new  586a568992 Update ChangeLog
   new  a08fd67af3 Merge pull request #427 from 
rswgnu/matsl-rsw-add-hyrolo-tests
   new  29dda66c3e Merge remote branch 'rsw' of hyperbole into rsw
   new  29fd0c8540 Update manual for "hsys-flymake.el" and add to hkey-alist
   new  acec506a2c Require hbut so defib is defined, needed for compiling 
(#430)
   new  7e6d2e9659 Remove flymake/flycheck/byte-compile warnings (#431)
   new  721ab10894 hsys-flymake.el improvements; hyrolo-tests

[elpa] externals/hyperbole e67d0f733f 058/143: Fix edebugging of tests that have not been previously defined

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit e67d0f733fc8a9f741ea4e5099280bbfeccd3ca5
Author: bw 
Commit: bw 

Fix edebugging of tests that have not been previously defined
---
 ChangeLog   |  5 +
 hypb-ert.el | 10 ++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 311ab9df5f..2f41b2d8d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2024-01-03  Bob Weiner  
 
+* hypb-ert.el (hypb-ert-run-test-at-definition): Fix to edebug function
+when not previously defined.
+  test/hypb-ert-tests.el (hypb-ert-tests--edebug-is-called): Make edebug
+test work.
+
 * hib-debbugs.el (declare-function): Revert declarations to use
 "ext:debbugs-gnu" from "ext:debbugs" since the newer package
 does not have many of the functions that Hyperbole presently uses.
diff --git a/hypb-ert.el b/hypb-ert.el
index ef97904198..52b7c7170d 100644
--- a/hypb-ert.el
+++ b/hypb-ert.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell  and Bob Weiner 
 ;;
 ;; Orig-Date:31-Mar-21 at 21:11:00
-;; Last-Mod:  1-Jan-24 at 13:10:06 by Bob Weiner
+;; Last-Mod:  3-Jan-24 at 03:37:28 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -105,14 +105,16 @@ With optional START-END-FLAG, return a list of (test-name 
start-pos end-pos)."
   "Assume on the name in the first line of an ert test def, eval and run the 
test.
 With optional DEBUG-IT non-nil (when the assist-key is pressed), edebug the
 test when it is run."
-  (let (test-sym)
-(setq test-sym (intern-soft test-name))
+  (let ((test-sym (intern-soft test-name)))
 ;; Ensure run the latest version of the test, either with the
 ;; edebugger if already instrumented for it; otherwise, with the
 ;; normal evaluator.
 (if (and test-sym debug-it)
(edebug-defun)
-  (eval-defun nil))
+  (eval-defun nil)
+  (setq test-sym (intern-soft test-name))
+  (when (and test-sym debug-it)
+   (edebug-defun)))
 (setq test-sym (intern-soft test-name))
 (when (and test-sym (ert-test-boundp test-sym))
   (when (and buffer-file-name (string-prefix-p hyperb:dir 
buffer-file-name))



[elpa] externals/hyperbole 339c6a2a8d 005/143: Fixes for handling outline-regexp and hyrolo-entry-regexp

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 339c6a2a8d093c85cf813a84e82c5741c738ac3b
Author: bw 
Commit: bw 

Fixes for handling outline-regexp and hyrolo-entry-regexp
---
 ChangeLog |  16 ++
 DEMO-ROLO.otl |   4 +-
 hyrolo.el | 146 --
 kotl/kotl-mode.el |   4 +-
 4 files changed, 97 insertions(+), 73 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f1ebf9083d..8c16bfce06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
+2023-12-12  Bob Weiner  
+
+* hyrolo.el (hyrolo-mode): Add trailing space to default `outline-regexp'.
+(hyrolo-org-mode): Add quick enable of basic Org mode for use
+in HyRolo display match searches and use in 'hyrolo-helm-org-rifle'.
+(hyrolo-org-outline-level): Add to not widen the buffer when
+computing the Org outline level when in the display match buffer.
+
+* kotl/kotl-mode.el (kotl-mode):
+  hyrolo.el (hyrolo-mode): Change 'run-hooks' to 'run-mode-hooks'.
+
 2023-12-11  Bob Weiner  
 
+* hyrolo.el (hyrolo-mode): Add 'hbut:source-prefix' and 'hyrolo-hdr-regexp'
+as level 1 outline entries in outline-heading-alist.
+(hyrolo-mode-outline-level): Delete, use default 
'hyrolo-outline-level'
+or per matched file function in 'outline-level'.
+
 * test/hibtypes-tests.el (ibtypes::text-toc-test): Regexp-quote * and allow
 for preceding whitespace.
 
diff --git a/DEMO-ROLO.otl b/DEMO-ROLO.otl
index 05e401d1fe..95ca2aa4f7 100644
--- a/DEMO-ROLO.otl
+++ b/DEMO-ROLO.otl
@@ -3,14 +3,14 @@
 ==
 *HiHo Industries
 ** Strong, Hugo  W708-555-9821
- Manager
+ Manager of Buttons
  04/12/2017
 ***  Smith, John W708-555-2001
  Chief Ether Maintainer
  05/24/2017
 *Work Industries
 ** Hansen, Dan   W218-555-2311
- Manager
+ Manager of Clasps
  02/18/2017
 ***  Dunn, John  W218-555-3233
  Media Maker
diff --git a/hyrolo.el b/hyrolo.el
index cac25bc46f..1f2b1d9cf5 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 11-Dec-23 at 02:14:52 by Bob Weiner
+;; Last-Mod: 12-Dec-23 at 03:34:06 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -94,6 +94,10 @@
 (declare-function org-outline-level "org")
 
 (defvar org-directory)  ; "org.el"
+(defvar org-mode-map)   ; "org-keys.el"
+(defvar org-mode-syntax-table)  ; "org.el"
+(defvar org-outline-regexp) ; "org.el"
+(defvar org-outline-regexp-bol) ; "org.el"
 (defvar markdown-regex-header)  ; "markdown-mode.el"
 (defvar google-contacts-buffer-name); "ext:google-contacts.el"
 
@@ -641,9 +645,9 @@ select it."
;; Prevent matching to *word* at the beginning of
;; lines and hanging hyrolo search functions.  Note this
;; change adds one to the default `outline-level' function,
-   ;; so 'hyrolo-mode' overrides that as well to get the correct
-   ;; calculation.  -- rsw, 2023-11-17
-   (setq-local outline-regexp "\\*+[ \t]\\|+"
+   ;; so `hyrolo-outline-level' overrides that as well
+   ;; to get the correct calculation.  -- rsw, 2023-11-17
+   (setq-local outline-regexp "[*\^L]+[ \t\n\r]"
outline-level #'hyrolo-outline-level))
  (setq buffer-read-only nil
 
@@ -654,7 +658,10 @@ It uses the setting of 
`hyrolo-find-file-noselect-function'."
   (let (enable-local-variables)
 (if (string-match "\\.org$" file)
(let ((find-file-literally t))
- (hyrolo-find-file file hyrolo-find-file-noselect-function nil t))
+ (prog1 (hyrolo-find-file file hyrolo-find-file-noselect-function nil 
t)
+   ;; Disable all Org mode initializations that slow down
+   ;; file loading and simply set needed outline variables.
+   (hyrolo-org-mode)))
   (hyrolo-find-file file hyrolo-find-file-noselect-function
 
 ;; This wraps forward-visible-line, making its ARG optional, making
@@ -883,7 +890,7 @@ lines of entries only to that depth."
(<= levels-to-show 0))
   (not (integerp levels-to-show
 (setq levels-to-show 100))
- (hyrolo-outline-hide-subtree) ;; Ensure reveal-mode does not expand 
current entry.
+ (outline-hide-subtree) ;; Ensure reveal-mode does not expand current 
entry.
  (hyrolo-show-levels levels-to-show
 
 (defun hyrolo-previous-match ()
@@ -1084,7 +1091,7 @@ matched entries."
   (hyrolo-verify)
   (hyrolo-map-matches
(lambda ()
- (hyrolo-outline-hide-subtree)
+ (outline-hide-subtree)
  (hyrolo-show-levels 1
 
 (defun hyr

[elpa] externals/hyperbole 1f942eac01 008/143: Fix HyRolo {n} and {p} movement commands

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 1f942eac011801fc1f9d78eaddbea7694a432c75
Author: bw 
Commit: bw 

Fix HyRolo {n} and {p} movement commands

Fix HyRolo file wildcard handling in hpath:expand-list.
---
 ChangeLog | 10 
 hpath.el  |  4 +--
 hyrolo.el | 87 ++-
 3 files changed, 65 insertions(+), 36 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6960ce765d..08dd6266e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2023-12-17  Bob Weiner  
+
+* hyrolo.el (hyrolo-move-backward, hyrolo-move-forward): If on a kotl-mode 
entry,
+ensure move to a valid position.
+
+2023-12-16  Bob Weiner  
+
+* hpath.el (hpath:expand-list): If path comes back nil from 'hpath:expand', 
then
+ignore any potential file wildcards.
+
 2023-12-15  Bob Weiner  
 
 * kotl/kotl-mode.el (kotl-mode): Fix check of 'kotl-previous-mode' to not set 
local
diff --git a/hpath.el b/hpath.el
index e88014bc2b..eabe439456 100644
--- a/hpath.el
+++ b/hpath.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 1-Nov-91 at 00:44:23
-;; Last-Mod:  2-Dec-23 at 19:05:05 by Bob Weiner
+;; Last-Mod: 16-Dec-23 at 16:47:24 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1263,7 +1263,7 @@ multiple $var environment variables, and substitutes up 
to one
 ${variable} per path."
   (mapcan (lambda (path)
(setq path (hpath:expand path exists-flag))
-   (when (setq path (or (when find-file-wildcards
+   (when (setq path (or (when (and path find-file-wildcards)
   (file-expand-wildcards path))
 (unless exists-flag (list path
  (if (= (length path) 1)
diff --git a/hyrolo.el b/hyrolo.el
index a643eaf4d9..cf9f4964e2 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 15-Dec-23 at 22:25:35 by Bob Weiner
+;; Last-Mod: 17-Dec-23 at 21:16:02 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -2122,11 +2122,9 @@ beginning of the highest ancestor level.  Return final 
point."
   (interactive "P")
   (hyrolo-move-backward
(lambda (include-sub-entries)
- ;; Prevent error when calling 'outline-back-to-heading' when
- ;; within a file header.
- (hyrolo-outline-back-to-heading)
+ (outline-back-to-heading)
  (when include-sub-entries
-   (unless (<= (funcall hyrolo-outline-level) 1)
+   (unless (<= (hyrolo-outline-level) 1)
 (outline-up-heading 80
include-sub-entries))
 
@@ -2317,6 +2315,10 @@ Any non-nil value returned is a cons of ( . 
)."
 (define-derived-mode hyrolo-org-mode outline-mode "HyRoloOrg"
   "Basic Org mode for use in HyRolo display match searches."
   (require 'org)
+  ;; Don't actually derive from org-mode to avoid its costly setup but
+  ;; set its parent mode property to org-mode so can `derived-mode-p'
+  ;; checks will pass.
+  (put hyrolo-org-mode 'derived-mode-parent 'org-mode)
   (setq-local outline-regexp org-outline-regexp
  outline-level #'hyrolo-org-outline-level)
   (use-local-map org-mode-map)
@@ -2457,13 +2459,17 @@ Return final point."
(hyrolo-outline-previous-heading)))
 (when (/= (point) opoint)
   (forward-line 1))
-(hyrolo-funcall-match (lambda () (apply func args)))
-(when (or (looking-at hyrolo-hdr-regexp)
- (looking-at hbut:source-prefix))
-  (forward-line 1)
-  (re-search-backward hyrolo-hdr-regexp nil t 2))
-(when (> (point) opoint)
-  (goto-char opoint)))
+(hyrolo-funcall-match
+ (lambda ()
+   (apply func args)
+   (when (or (looking-at hyrolo-hdr-regexp)
+(looking-at hbut:source-prefix))
+(forward-line 1)
+(re-search-backward hyrolo-hdr-regexp nil t 2))
+   (when (> (point) opoint)
+(goto-char opoint))
+   (when (derived-mode-p 'kotl-mode)
+(kotl-mode:to-valid-position)
   (point))
 
 (defun hyrolo-move-forward (func &rest args)
@@ -2471,7 +2477,11 @@ Return final point."
 Return final point."
   (hyrolo-hdr-to-last-line-p)
   (condition-case nil
-  (hyrolo-funcall-match (lambda () (apply func args)))
+  (hyrolo-funcall-match
+   (lambda ()
+(apply func args)
+(when (derived-mode-p 'kotl-mode)
+  (kotl-mode:to-valid-position
 ;; Prevent error and move past file header.
 (error (hyrolo-hdr-move-after-p)))
   (point))
@@ -2496,17 +2506,26 @@ First entry represents the start of the first matched 
buffer and the
 remaining entries are the end points of each matched buffer with the
 HyRolo display matches buffer.")
 
+;; Next line prevents `kill-all-local-variables' run on each major
+;; mode change in the HyRolo display buffer from removing the given
+;; cache variable.
+(put 'hyrolo--cache-loc-match-bounds 'permanent-local t)
+
 (

[elpa] externals/hyperbole 2187b3522b 049/143: Add test for hiding and showing

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 2187b3522b5785860dd780d894583c844f42c256
Author: Mats Lidell 
Commit: Mats Lidell 

Add test for hiding and showing
---
 ChangeLog|  3 ++-
 test/hyrolo-tests.el | 39 ---
 2 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d3fd9e3122..192412611a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,7 +5,8 @@
 (hyrolo-tests--gen-outline): Add helper for constructing org files for
 tests.
 (hyrolo-tests--outline-next-visible-header)
-(hyrolo-tests--tab-through-matches): Add test for working with hyrolo
+(hyrolo-tests--tab-through-matches)
+(hyrolo-tests--outline-hide-show-heading): Add test for working with hyrolo
 matches.
 
 2023-12-31  Mats Lidell  
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index db17adbd95..75690a57ce 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod:  1-Jan-24 at 16:24:40 by Mats Lidell
+;; Last-Mod:  1-Jan-24 at 19:18:41 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -465,7 +465,8 @@ Match a string in the second cell."
   (let ((tmp-file (make-temp-file "hypb" nil)))
 (unwind-protect
 (should-error
- (setq hyrolo-file-list (list tmp-file)))
+ (let ((hyrolo-file-list (list tmp-file)))
+   ()))
   (hy-delete-file-and-buffer tmp-file
 
 ;; Outline movement tests
@@ -565,9 +566,41 @@ Example:
   (kill-buffer "*HyRolo*")
   (hy-delete-file-and-buffer org-file
 
+(ert-deftest hyrolo-tests--outline-hide-show-heading ()
+  "Verify hiding and showing headers."
+  (let* ((org-file (make-temp-file "hypb" nil ".org"
+   (hyrolo-tests--gen-outline "header" 2 
"body" 2)))
+ (hyrolo-file-list (list org-file)))
+(unwind-protect
+(progn
+  (hyrolo-grep "body")
+  (should (string= "*HyRolo*" (buffer-name)))
+
+  ;; Hide first line hides whole section
+  (should (looking-at-p "==="))
+  (should (hact 'kbd-key "h"))
+  (should (looking-at-p "^===+\.\.\.$"))
+  (save-excursion
+(next-line)
+(should (eobp)))
+  (should (hact 'kbd-key "a"))
+  (should (looking-at-p "^===+$"))
+
+  (should (hact 'kbd-key "n"))
+  (should (looking-at-p "^* header 1$"))
+  ;; BUG: This gives an unexpected error when trying to hide
+  ;; org-fold-region: Calling ‘org-fold-core-region’ with missing SPEC
+  (should-error (hact 'kbd-key "h"))
+  ;; Expected is not to fail on hiding the header.
+  ;; Seems to be version dependent for 29 and 30!?
+
+  ;; TBC - When bug above is resolved or understood better.
+  )
+  (kill-buffer "*HyRolo*")
+  (hy-delete-file-and-buffer org-file
 
 (ert-deftest hyrolo-tests--tab-through-matches ()
-  "Verify movement to next visible header."
+  "Verify tabbing through search matches."
   (let* ((org-file (make-temp-file "hypb" nil ".org"
(hyrolo-tests--gen-outline "header" 2 
"body" 2)))
  (hyrolo-file-list (list org-file)))



[elpa] externals/hyperbole 2173bf7e09 002/143: Add new HYPERAMP.org talk slides and update talks in HY-TALK

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 2173bf7e096bc9e20e74eebcdcc78e2730e265f8
Author: bw 
Commit: bw 

Add new HYPERAMP.org talk slides and update talks in HY-TALK
---
 HY-TALK/.hypb  |   5 +-
 HY-TALK/HYPERAMP.org   | 177 +
 .../{Hyperbole-and-Org-Mode.org => HYPERORG.org}   |   0
 MANIFEST   |   3 +
 4 files changed, 184 insertions(+), 1 deletion(-)

diff --git a/HY-TALK/.hypb b/HY-TALK/.hypb
index 044b0667ee..ed8c113b39 100644
--- a/HY-TALK/.hypb
+++ b/HY-TALK/.hypb
@@ -1,5 +1,8 @@
 
-"Hyperbole-and-Org-Mode.org"
+"HYPERAMP.org"
+("ERT_test" nil nil link-to-file 
("../test/hbut-tests.el#hypb:program-create-ebut-in-buffer") "r...@gnu.org" 
"20231203:01:48:10" nil nil)
+
+"HYPERORG.org"
 ("Bring_Your_Text_to_Life" nil nil life (1) "r...@gnu.org" "20221204:08:36:54" 
nil nil)
 
 "HY-TALK.org"
diff --git a/HY-TALK/HYPERAMP.org b/HY-TALK/HYPERAMP.org
new file mode 100644
index 00..fb73e7915c
--- /dev/null
+++ b/HY-TALK/HYPERAMP.org
@@ -0,0 +1,177 @@
+-*- Mode: org; org-cycle-global-at-bob: t; hsys-org-enable-smart-keys: t -*-
+
+#+TITLE:  Top 10 Ways Hyperbole Amps Up Emacs
+#+AUTHOR:  Robert Weiner 
+
+`GNU Hyperbole' (pronounced Ga-new Hi-per-bo-lee), or just `Hyperbole', is
+like Markdown for hypertext.  Hyperbole automatically recognizes dozens of
+common, pre-existing patterns in any buffer regardless of mode and can
+instantly activate them as hyperbuttons with a single key: email addresses,
+URLs, grep -n outputs, programming backtraces, sequences of Emacs keys,
+programming identifiers, Texinfo and Info cross-references, Org links,
+Markdown links and on and on.  All you do is load Hyperbole and then your
+text comes to life with no extra effort or complex formatting.
+
+Install Hyperbole:  (progn (add-to-list 'package-archives
+'("elpa-devel" . 
"https://elpa.gnu.org/devel/";))
+   (package-install 'hyperbole))
+
+Activate Hyperbole: {C-h h} - displays minibuffer menu
+Reference Manual:   "(hyperbole)Top"
+
+Hyperbole Demo: {C-h h d d} - interactive demo/tutorial as introduction
+
+Display Keys:   
+Hide Keys:  
+Erase Key Log:  
+
+Let's countdown the top 10 ways Hyperbole can help you.  We'll move
+fast as we have a lot to cover in a short time.  We'll answer
+questions after the talk.
+
+* 10. Key Series - in-buffer automation for everything
+
+**Key series are curly brace, {}, delimited hyperbuttons that are an
+  in-buffer substitute for keyboard macros.
+
+  Place them in any file (in comment lines for programming files).
+
+  Then press {M-RET} within one to activate it.
+
+  {M-x shell RET M-> (export HYPERBOLE_DIR=${hyperb:dir} && 
+   cd $HYPERBOLE_DIR && grep -n gbut:label-list *.el) RET}
+
+   Use both a Hyperbole resolved variable, ${hyperb:dir}, and a
+   shell-resolved environment variable, $HYPERBOLE_DIR, to grep through
+   Lisp files.
+
+  {C-h h h} will restore your windows after invoking the above key series.
+
+**FYI, Hyperbole offers a simpler way to recursively grep your current 
directory
+  for just Elisp files.  Use 'hypb:rgrep' when in an Elisp buffer and it 
will
+  match to only Elisp files.
+
+{C-x 1 C-x 3 C-x o C-x C-f hibtypes.el RET C-x o C-n C-n}
+
+{C-x o M-x hypb:rgrep RET gbut:label-list RET C-x o C-x 1 C-x 3 C-x b 
HYPERAMP RET}
+
+*  9. Existing pathnames with Environment or Lisp variables are hyperbuttons 
too
+
+  ${PATH}/rgrep
+
+  "${hyperb:dir}/README.md#Programmer Quick Reference:5:5"
+  "${hyperb:dir}/README.md#programmer-quick-reference:4:2"
+
+  ~/.bashrc#Alias
+
+  "${hyperb:dir}/kotl/EXAMPLE.kotl#3c"
+  "${hyperb:dir}/kotl/EXAMPLE.kotl#3c|c2ben"
+
+*  8. File prefixes for special handling
+
+  "-subr" - load an Elisp library
+
+  "!${PATH}/date" - execute 'date' shell 
command
+
+  "&xdg-open ${hyperb:dir}/man/hyperbole.pdf" - run a graphical PDF viewer
+
+*  7. Bookmarks on Steroids
+
+  {C-x 2 C-x o C-h h b p} - Your personal home page of buttons and 
bookmarks
+
+  {C-h h g a} - Activate by name
+
+*  6. Instant test case running and debugging
+
+  {M-RET} on the first line of an <(ERT test)> runs it.
+
+  {C-u M-RET} steps through it with the edebugger.
+
+*  5. Instant 2-window typed hyperlink creation
+
+  Place 2 windows on screen; place point where you want to link to in one
+  window and then move to the window where you want the hyperlink placed.
+
+  {C-h h i l} will create a typed implicit link at point.
+  {C-h h e l} will create an explicit link instead.
+  {C-h h g l} will create a global named implicit link that works like a 
bookmark.
+
+*  4. Koutliner - Instant collapsible outlines on the web
+
+  {C-x 1 C-x 2}

[elpa] externals/hyperbole 926f8a02fd 010/143: Fix many hyrolo multi-file-format issues; fix hywconfig by name

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 926f8a02fd113ec113660e61ff64728e3ef93606
Author: bw 
Commit: bw 

Fix many hyrolo multi-file-format issues; fix hywconfig by name

hibtypes.el (Info-node): Tighten match to limit valid chars after closing 
paren.
(hyrolo-stuck-msg): Add to jump to the position where a HyRolo 
match
  became stuck, if ever happens, when point is on the error.

hyrolo.el (hyrolo-grep-file): Update 'Stuck looping in buffer' msg so can be
  used in new 'hyrolo-stuck-msg' ibtype.

man/hyperbole.texi (Implicit Button Types): Add doc for 
'hib-python-traceback'
  and 'hyrolo-stuck-msg'.

hyperbole.el: The 'describe-package' function fails under Emacs 28 when 
multiple
  maintainers are listed under the 'Maintainer' header but later Emacs 
versions
  support a 'Maintainers' header, so include both.  Change to using 
'Authors'
---
 ChangeLog   |  78 ++
 hbut.el |   4 +-
 hibtypes.el |  28 -
 hypb.el |  26 -
 hyperbole.el|   7 +-
 hyrolo.el   | 268 
 hywconfig.el| 109 
 kotl/kotl-mode.el   |  28 +++--
 kotl/kview.el   |   4 +-
 man/hyperbole.texi  |  20 +++-
 test/hyrolo-tests.el|  17 ++-
 test/hywconfig-tests.el |  20 ++--
 12 files changed, 386 insertions(+), 223 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index dc7107fd43..f174532673 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,81 @@
+2023-12-23  Bob Weiner  
+
+* kotl/kotl-mode.el (kotl-mode): Ensure local vars are set if current buffer
+is HyRolo display matches buffer.
+
+* hypb.el (hypb:remove-from-plist, hypb:do-remove-from-plist): Add for use in
+"hywconfig.el".
+  hywconfig.el (hywconfig-add-by-name, hywconfig-delete-by-name,
+hywconfig-restore-by-name): Fix all wconfig by name functions
+which were storing only unnamed window configs.  Change all to return a
+boolean value based on whether the operation succeeds or not.
+   (hywconfig-set-names): Replace with 
'hywconfig-named-set-entries'.
+   (hywconfig-named-get-entries, hywconfig-named-put,
+hywconfig-named-get): Add.
+  (hywconfig-get-names): Replace with 'hywconfig-named-get-names'.
+  (hywconfig-set-window-configuration): Add doc.
+  (require 'set): Remove, no longer used.
+
+* kotl/kotl-mode.el (kotl-mode): Disable 'change-major-mode-hook' addition of
+'kotl-mode:show-all' if in the HyRolo display buffer.
+
+* hyrolo.el (hyrolo-entry-regexp): Add 'hyrolo-hdr-regexp' and 
'hbut:source-prefix'
+so are not skipped during hide/show operations.  Also do this in
+'markdown-mode-hook' and 'kotl-mode'.
+
+* test/hyrolo-tests.el (hyrolo-demo-move-between-entries-on-same-level,
+hyrolo-demo-no-following-same-level-heading): Fix
+header skipping by using 'hyrolo-hdr-move-after-p'.
+   (hyrolo-fgrep-find-all-types-of-files): Fix by adding
+proper headling structure to each file type.
+   (hyrolo-fgrep-and-goto-next-visible-md-heading): Fix
+by removing one '#' from expected heading level.
+
+* kotl/kotl-mode.el (kotl-mode:reveal-toggle-invisible): May be in the
+'hyrolo-display-buffer', so wrap a 'hyrolo-funcall-match' call around
+'outline-reveal-toggle-invisible' call to ensure proper match buffer mode
+is set for koutline matches.
+
+* hyrolo.el (hyrolo-grep-file): Remove 'backward-search-limit' as may miss 
prior
+entry starting positions.
+(hyrolo-add-match): Remove first arg, 'hyrolo-matches-buffer' and
+use global 'hyrolo-display-buffer' instead.
+(hyrolo-grep-file): Remove first arg from call to 
'hyrolo-add-match'.
+Remove unused local 'curr-entry-level-len' which would not work for 
Markdown
+'outline-regexp' anyway.
+
+2023-12-21  Bob Weiner  
+
+* hyrolo.el (hyrolo-funcall-match, hyrolo-map-matches): Use (1- (point-max))
+when 'end' is nil, i.e. only a single file has been found and the start of
+of the next one used to determine the end of this one has not yet been 
added.
+
+* man/hyperbole.texi (Implicit Button Types): Add doc for 
'hib-python-traceback'
+and 'hyrolo-stuck-msg'.
+
+* hibtypes.el (Info-node): Tighten match to limit valid chars after closing 
paren.
+  (hyrolo-stuck-msg): Add to jump to the position where a HyRolo 
match
+became stuck, if ever happens, when point is on the error.
+  hyrolo.el (hyrolo-grep-file): Update 'Stuck looping in buffer' msg so can be
+used in 'hyrolo-stuck-msg' ibtype.
+
+* hyperbole.el: The 'describe-package' function fails under Emacs 28 when 
multiple
+maintainers are listed under the 'Maintainer' header but later Emacs 
versions
+support a 'Maintainers' header, so include bo

[elpa] externals/hyperbole 98edfae8d1 021/143: Fix test with link-to-string-match since bug is fixed

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 98edfae8d17ab46f2f77d9163c2c499323dddaab
Author: Mats Lidell 
Commit: Mats Lidell 

Fix test with link-to-string-match since bug is fixed
---
 test/hui-tests.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/test/hui-tests.el b/test/hui-tests.el
index 1a28f9a887..19ce491b5a 100644
--- a/test/hui-tests.el
+++ b/test/hui-tests.el
@@ -1049,8 +1049,7 @@ With point on label suggest that ibut for rename."
   (find-file file)
   (outline-mode)
   (goto-char 1)
-  ;; BUG!? Should be link-to-string-match?
-  (should (equal (caar (hui:link-possible-types)) 'link-to-file)))
+  (should (equal (caar (hui:link-possible-types)) 
'link-to-string-match)))
   (hy-delete-file-and-buffer file)))
 
   ;; Buffer attached to File  link-to-file



[elpa] externals/hyperbole 1f45b45af9 047/143: Add hyrolo-get-file-list tests

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 1f45b45af97ae70131cf79113558d3803ecf56c6
Author: Mats Lidell 
Commit: Mats Lidell 

Add hyrolo-get-file-list tests
---
 ChangeLog|  5 +
 test/hyrolo-tests.el | 19 ++-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 650a09db5b..4969506ca4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-01-02  Mats Lidell  
+
+* test/hyrolo-tests.el (hyrolo-tests--get-file-list-change)
+(hyrolo-tests--get-file-list-wrong-suffice): Add hyrolo tests.
+
 2024-01-02  Mats Lidell  
 
 * test/hypb-ert-tests.el (hypb-ert-tests--def-at-p)
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 68dac7f64f..06b18d9e55 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod: 30-Dec-23 at 23:22:54 by Bob Weiner
+;; Last-Mod: 31-Dec-23 at 16:10:00 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -24,6 +24,7 @@
 (require 'hyrolo-demo)
 (require 'hy-test-helpers "test/hy-test-helpers")
 (require 'hib-kbd)
+(require 'kotl-mode)
 (require 'with-simulated-input)
 
 (declare-function hy-test-helpers:consume-input-events "hy-test-helpers")
@@ -449,5 +450,21 @@ Match a string in the second cell."
   (kill-buffer hyrolo-display-buffer)
   (delete-directory temporary-file-directory
 
+(ert-deftest hyrolo-tests--get-file-list-change ()
+  "Verify a change to hyrolo-file-list is noticed by hyrolo-get-file-list."
+  (let* ((tmp-file (make-temp-file "hypb" nil ".org"))
+ (hyrolo-file-list (list tmp-file)))
+(unwind-protect
+(let ((hl (hyrolo-get-file-list)))
+  (should (= 1 (length hl)))
+  (should (string= (car hl) tmp-file)))
+  (hy-delete-file-and-buffer tmp-file
+
+(ert-deftest hyrolo-tests--get-file-list-wrong-suffice ()
+  "Verify files need to have the proper suffix in hyrolo-file-list."
+  (should-error
+   (let ((hyrolo-file-list (list "file-no-proper-suffix")))
+ (
+
 (provide 'hyrolo-tests)
 ;;; hyrolo-tests.el ends here



[elpa] externals/hyperbole acec506a2c 061/143: Require hbut so defib is defined, needed for compiling (#430)

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit acec506a2cd6eb46782d7a2cff0eeb7f45f9a620
Author: Mats Lidell 
Commit: GitHub 

Require hbut so defib is defined, needed for compiling (#430)
---
 hsys-flymake.el | 16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/hsys-flymake.el b/hsys-flymake.el
index a8734c9acf..09e96159e2 100644
--- a/hsys-flymake.el
+++ b/hsys-flymake.el
@@ -7,7 +7,7 @@
 ;; E-mail:   r...@gnu.org
 ;;
 ;; Orig-Date:31-Dec-23 at 13:54:08
-;; Last-Mod:  3-Jan-24 at 13:41:18 by Bob Weiner
+;; Last-Mod:  4-Jan-24 at 10:18:18 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -23,13 +23,25 @@
 ;;
 ;;We want to load this so the implicit button type defined herein
 ;;takes effect, but we don't require `flymake-mode' or
-;;`repeat-mode'. Instead we leave it to each function to check
+;;`repeat-mode'.  Instead we leave it to each function to check
 ;;whether it is enabled and active in the current buffer.  This way,
 ;;if the user never uses `flymake-mode' that library is never loaded
 ;;and the implicit button type never triggers.
 ;;
 ;;; Code:
 
+(require 'hbut)
+
+;;; 
+;;; Public declarations
+;;; 
+
+(defvar flymake-mode)
+(defvar flymake-wrap-around)
+(defvar flymake-mode-map)
+
+(declare-function flymake--diag-text "flymake")
+
 ;;; 
 ;;; Public functions
 ;;; 



[elpa] externals/hyperbole 407114d7f3 070/143: Run tests in batch mode specified by selector

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 407114d7f365b95b8e023b307bb13d0d43c72494
Author: Mats Lidell 
Commit: Mats Lidell 

Run tests in batch mode specified by selector

Run all hyrolo tests

  make test SELECTOR=hyrolo

Bonus. Control size of backtraces so that we get more info on
errors. For full backtrace add command line argument FULL_BT=

  make test SELECTOR=hyrolo FULL_BT=
---
 ChangeLog | 12 
 Makefile  | 24 +---
 2 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index be839776ec..4c7275ec39 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2024-01-06  Mats Lidell  
+
+* Makefile (HYPB_ERT_BATCH, HYPB_ERT_BATCH_BT):  Add command line arg to
+run test specified by selector. Example to run all hyrolo tests
+
+  make test SELECTOR=hyrolo
+
+Bonus. Control size of backtraces so that we get more info on
+errors. For full backtrace add command line argument FULL_BT=
+
+  make test SELECTOR=hyrolo FULL_BT=
+
 2024-01-06  Bob Weiner  
 
 * Makefile (test-all): Revert to use 'ert-run-tests-interactively' again
diff --git a/Makefile b/Makefile
index 14f9cb49c4..c5dbc38630 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 # Author:   Bob Weiner
 #
 # Orig-Date:15-Jun-94 at 03:42:38
-# Last-Mod:  6-Jan-24 at 01:47:15 by Bob Weiner
+# Last-Mod:  6-Jan-24 at 16:59:43 by Mats Lidell
 #
 # Copyright (C) 1994-2023  Free Software Foundation, Inc.
 # See the file HY-COPY for license information.
@@ -71,7 +71,7 @@
 #
 #   To run unit tests:
 #   make test   - run not interactive tests in batch 
mode
-#   make test-all   - run all tests startin an emacs in 
windowed mode
+#   make test-all   - run all tests starting an Emacs in 
windowed mode
 #
 #   Verify hyperbole installation using different sources:
 #   make install-
@@ -469,9 +469,27 @@ test: test-ert
 LET_VARIABLES = (auto-save-default) (enable-local-variables :all)
 LOAD_TEST_ERT_FILES=$(patsubst %,(load-file \"%\"),${TEST_ERT_FILES})
 
+# Run make test SELECTOR= to limit batch test to
+# tests specified by the selector. See "(ert)test selectors"
+ifeq ($(origin SELECTOR), command line)
+HYPB_ERT_BATCH = (ert-run-tests-batch-and-exit \"${SELECTOR}\")
+else
+HYPB_ERT_BATCH = (ert-run-tests-batch-and-exit)
+endif
+
+# For full backtrace run make test FULL_BT=
+ifeq ($(origin FULL_BT), command line)
+HYPB_ERT_BATCH_BT = (ert-batch-backtrace-line-length nil)
+else
+HYPB_ERT_BATCH_BT = (ert-batch-backtrace-line-length 256)
+endif
+
 test-ert:
@echo "# Tests: $(TEST_ERT_FILES)"
-   $(EMACS_BATCH) --eval "(load-file \"test/hy-test-dependencies.el\")" 
--eval "(let ((auto-save-default)) $(LOAD_TEST_ERT_FILES) 
(ert-run-tests-batch-and-exit))"
+   $(EMACS_BATCH) --eval "(load-file \"test/hy-test-dependencies.el\")" \
+   --eval "(let ((auto-save-default) (ert-batch-print-level 10) 
(ert-batch-print-length 20) \
+   $(HYPB_ERT_BATCH_BT) (ert-batch-backtrace-right-margin 2048)) \
+   $(LOAD_TEST_ERT_FILES) $(HYPB_ERT_BATCH))"
 
 all-tests: test-all
 test-all:



[elpa] externals/hyperbole bc0c5b9086 044/143: HyRolo - if hyrolo-file-list is set on load, initialize its cache

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit bc0c5b9086977bcc93f29dac1c67131547dc19f1
Author: bw 
Commit: bw 

HyRolo - if hyrolo-file-list is set on load, initialize its cache
---
 ChangeLog |  6 ++
 hyrolo.el | 11 +--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 94821e93a2..4ac96cdb42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-12-31  Bob Weiner  
+
+* hyrolo.el (hyrolo-file-list): Add 'hyrolo-set-file-list' after loading the 
hyrolo
+library (at the end of the file) if 'hyrolo-file-list' has been set by the
+user or the customization system prior to loading HyRolo.
+
 2023-12-30  Bob Weiner  
 
 * hyrolo.el (hyrolo-show-levels): Add top-level save-excursion so point does
diff --git a/hyrolo.el b/hyrolo.el
index 17396613d6..54bd1e4a55 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 30-Dec-23 at 23:23:18 by Bob Weiner
+;; Last-Mod: 31-Dec-23 at 11:53:19 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -349,7 +349,7 @@ matches."
 
 (defvar hyrolo--expanded-file-list nil
   "List of hyrolo files after directory and file wildcard expansions.
-Hyrolo sets this internally; never set it yourself.")
+HyRolo sets this internally; never set it outside of this library.")
 
 (defconst hyrolo-match-regexp nil
   "Last regular expression used to search the hyrolo.
@@ -3026,6 +3026,13 @@ Add `hyrolo-hdr-regexp' to `hyrolo-hdr-and-entry-regexp' 
and `outline-regexp'."
  (reveal-close-old-overlays old-ols)))
 t)
 
+;;; 
+;;; hyrolo-file-list - initialize cache if this is already set when loading
+;;; 
+
+(when (and hyrolo-file-list (null hyrolo--expanded-file-list))
+  (hyrolo-set-file-list 'hyrolo-file-list hyrolo-file-list))
+
 (provide 'hyrolo)
 
 ;;; hyrolo.el ends here



[elpa] externals/hyperbole e1483d9cff 003/143: Temp commit to save multi-mode updates to HyRolo display buffer

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit e1483d9cff137ca7663694da1df56b31cfc7958d
Author: bw 
Commit: bw 

Temp commit to save multi-mode updates to HyRolo display buffer

Some tests are failing; Mats, see if you can fix them.
---
 .hypb| Bin 2715 -> 2599 bytes
 ChangeLog|  88 ++
 HY-ABOUT |   2 +-
 HY-NEWS  |   2 +-
 HY-TALK/HYPERAMP.org |   3 +-
 Makefile |   6 +-
 README.md|   2 +-
 hactypes.el  |   4 +-
 hbut.el  |   6 +-
 hibtypes.el  |  52 ++--
 hsys-org.el  |   8 +-
 hui.el   |   7 +-
 hversion.el  |   4 +-
 hyperbole.el |   8 +-
 hyrolo-logic.el  |   4 +-
 hyrolo-menu.el   |  20 +-
 hyrolo.el| 688 ---
 kotl/kotl-mode.el| 104 +++
 kotl/kview.el|  10 +-
 man/hyperbole.html   |   8 +-
 man/hyperbole.info   | Bin 615914 -> 615904 bytes
 man/hyperbole.pdf| Bin 1370428 -> 1370426 bytes
 man/hyperbole.texi   |  12 +-
 man/version.texi |   8 +-
 test/demo-tests.el   |   4 +-
 test/hibtypes-tests.el   |   6 +-
 test/hmouse-drv-tests.el |   6 +-
 27 files changed, 777 insertions(+), 285 deletions(-)

diff --git a/.hypb b/.hypb
index c4530b271a..1d7d2c5982 100644
Binary files a/.hypb and b/.hypb differ
diff --git a/ChangeLog b/ChangeLog
index 731d93ed06..2b782e7b19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,93 @@
+2023-12-11  Bob Weiner  
+
+* test/hibtypes-tests.el (ibtypes::text-toc-test): Regexp-quote * and allow
+for preceding whitespace.
+
+* kotl/kotl-mode.el (require 'hyrolo): Add.
+
+* hyrolo.el (hyrolo-grep-file): Change 'insert-buffer-substring-no-properties'
+to 'insert-buffer-substring' to keep properties, as need Koutline
+'kcell properties to navigate them properly.
+
+* kotl/kview.el (kcell-view:to-label-end):
+  kotl/kotl-mode.el (kotl-mode:to-valid-position): Fix to handle file headers
+in HyRolo display match buffer when displaying parts of Koutlines.
+
+* hyrolo.el (hyrolo-cache-set-major-mode): Move to this function the
+addition of 'hyrolo-hdr-regexp' to both 'hyrolo-entry-regexp' and
+'outline-regexp' within the *HyRolo* display match buffer.
+(hyrolo-markdown-outline-level, hyrolo-cache-set-major-mode):
+Fix markdown 'outline-level' function to always return a non-nil level.
+
+2023-12-10  Bob Weiner  
+
+* hyrolo.el (hyrolo-grep): Remove unused local 'hyrolo-buf'.
+(hyrolo-outline-minor-mode): Define and enable in 'hyrolo-mode'.
+
+* hyrolo-menu.el (hyrolo-menu-common-body):
+  hyrolo.el (hyrolo-mode-map): Change to 'make-sparse-keymap', name it and 
inherit
+from a copy of 'outline-mode-prefix-map' where its command bindings are 
overriden
+with hyrolo- prefixed ones.
+
+* hyrolo.el (hyrolo-move-backward): Change 'outline-previous-heading' call to
+'hyrolo-outline-previous-heading'.
+
+2023-12-09  Bob Weiner  
+
+* hyrolo.el (hyrolo-funcall-match, hyrolo-map-matches): Add these functions to
+wrap function calls in the HyRolo display matches buffer that require the
+original major mode of the location, e.g. outline commands.
+
+* hyrolo.el (hyrolo-outline-show-subtree): Add to replace usage of
+'outline-show-subtree'.
+   (hyrolo-outline-hide-subtree): Rename from 'hyrolo-hide-subtree'.
+(hyrolo-outline-hide-subtree, hyrolo-overview,
+ hyrolo-top-level, hyrolo-move-backward, hyrolo-move-forward):
+Add a wrapper call to 'hyrolo-funcall-match' or 'hyrolo-map-matches'
+which sets appropriate major mode per location in the match buffer.
+(hyrolo-outline-*): Add new functions emulating all 
'outline-minor-mode'
+key bindings with above wrapper calls and add to 'hyrolo-mode-map' keys.
+* hyrolo-*.el (outline): Change all (outline-*) calls to (hyrolo-outline-*) 
calls.
+This supports different major modes within the HyRolo match display buffer.
+
+2023-12-08  Bob Weiner  
+
+* kotl/kotl-mode.el (kotl-mode): Update to be usable in 
`hyrolo-display-buffer'.
+
+2023-12-07  Bob Weiner  
+
+* hyrolo.el (hyrolo--cache-*): Add caching of each 'major-mode' to use for the 
buffer
+from which a matching HyRolo record is drawn.
+(hyrolo-let-file-list, hyrolo-set-file-list): Add calls to
+`hyrolo--cache-initialize'.
+(hyrolo-grep): Add calls to 'hyrolo--cache-initialize' and to
+   'hyrolo--cache-post-display-buffer' when not 'count-only'.
+(hyrolo-grep-file): Add call to 'hyrolo--cache-locals'.
+(hyrolo-grep): Remove concatenated 'outline-regexps' and 
'hyrolo-entry-regexps'.
+   They are no longer used.  Move header matching in `outline-regexp' and
+   `hyrolo-entry-regexp' to 'hyrolo--cache-matched-buffer'.
+
+2023-12-04  Bob Weiner  
+
+* Makefile (HY-TALK/HYPER*.org): Add Hyperbole talk slide

[elpa] externals/hyperbole 7657601745 043/143: hyrolo-mode-map - bind {n} and {C-c C-n} to the same command

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 76576017456ddab142c9b141e0bc525e91abe7fb
Author: bw 
Commit: bw 

hyrolo-mode-map - bind {n} and {C-c C-n} to the same command

Rename `hyrolo-next-visible-heading' to 
`hyrolo-outline-next-visible-heading'
and remove old version of the latter function name.
---
 ChangeLog|  5 +
 hyrolo.el| 60 +++-
 test/hyrolo-tests.el | 14 ++--
 3 files changed, 39 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c4c4e97a62..94821e93a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2023-12-30  Bob Weiner  
 
+* hyrolo.el (hyrolo-show-levels): Add top-level save-excursion so point does
+not move.
+(hyrolo-outline-next-visible-heading): Rename
+'hyrolo-next-visible-heading' to this.
+
 * FAST-DEMO (Action Buttons): Update to include ert test definition within
 the file so do not have to load all of the test files to run the demo.
 
diff --git a/hyrolo.el b/hyrolo.el
index 2c68bb7374..17396613d6 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 29-Dec-23 at 21:55:32 by Bob Weiner
+;; Last-Mod: 30-Dec-23 at 23:23:18 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1921,15 +1921,6 @@ When found, return the match start position."
   t)
 (match-beginning 0)))
 
-(defun hyrolo-next-visible-heading (arg)
-  "Move to the next visible heading or match buffer header.
-With ARG, repeats or can move backward if negative.
-
-A heading is one that starts with an `outline-regexp' match.
-A match buffer header is one that starts with `hyrolo-hdr-regexp'."
-  (interactive "p")
-  (hyrolo-move-forward #'outline-next-visible-heading arg))
-
 ;;; In `hyrolo-mode' replace `outline-minor-mode' bindings with hyrolo-* 
overrides.
 ;;; Wrap outline movement commands with a `hyrolo-funcall-match' call
 ;;; Wrap outline whole buffer commands with a `hyrolo-map-matches' call.
@@ -2050,12 +2041,13 @@ This puts point at the start of the current subtree, 
and mark at the end."
   (hyrolo-funcall-match (lambda () (outline-move-subtree-up arg)) t))
 
 (defun hyrolo-outline-next-visible-heading (arg)
-  "Move to the next visible heading line.
+  "Move to the next visible heading or match buffer header.
 With ARG, repeats or can move backward if negative.
-A heading line is one that starts with a `*' (or that
-`outline-regexp' matches)."
+
+A heading is one that starts with an `outline-regexp' match.
+A match buffer header is one that starts with `hyrolo-hdr-regexp'."
   (interactive "p")
-  (hyrolo-funcall-match (lambda () (outline-next-visible-heading arg
+  (hyrolo-move-forward #'outline-next-visible-heading arg))
 
 (defun hyrolo-outline-previous-heading ()
   "Move to the previous (possibly invisible) heading line."
@@ -2249,7 +2241,7 @@ beginning of the highest ancestor level.  Return final 
point."
(unless (<= (hyrolo-outline-level) 1)
 (outline-up-heading 80)))
  (when (hyrolo-hdr-move-after-p)
-   (hyrolo-next-visible-heading 1)))
+   (hyrolo-outline-next-visible-heading 1)))
include-sub-entries))
 
 (defun hyrolo-to-entry-end (&optional include-sub-entries)
@@ -2633,23 +2625,24 @@ shown.
 
 Any call to this function should be wrapped in a call to
 `hyrolo-map-matches'."
-  (hyrolo-verify)
-  (outline-show-all)
-  (hyrolo-outline-hide-subtree) ;; Ensure reveal-mode does not expand current 
entry.
-  ;; Use {t} to display top-level cells only.
-  (hyrolo-map-matches
-   (lambda ()
- (save-excursion
-   (save-restriction
-(goto-char (point-min))
-(hyrolo-hdr-move-after-p)
-;; Prevent collapsing of initial file header
-(narrow-to-region (point) (point-max))
-(let ((max-level-to-show (+ (hyrolo-min-matched-level)
-(1- levels-to-show
-  (outline-hide-sublevels max-level-to-show)
-  (goto-char (point-min))
-   t))
+  (save-excursion
+(hyrolo-verify)
+(outline-show-all)
+(hyrolo-outline-hide-subtree) ;; Ensure reveal-mode does not expand 
current entry.
+;; Use {t} to display top-level cells only.
+(hyrolo-map-matches
+ (lambda ()
+   (save-excursion
+(save-restriction
+  (goto-char (point-min))
+  (hyrolo-hdr-move-after-p)
+  ;; Prevent collapsing of initial file header
+  (narrow-to-region (point) (point-max))
+  (let ((max-level-to-show (+ (hyrolo-min-matched-level)
+  (1- levels-to-show
+(outline-hide-sublevels max-level-to-show)
+(goto-char (point-min))
+ t)))
 
 (defun hyrolo-shrink-window ()
   (let* ((lines (count-lines (point-min) (point-max)))
@@ -2963,7 +2956,7 @@ Add `hyrolo-hdr-regexp' to `hyrolo-hdr-and-entry-regexp' 

[elpa] externals/hyperbole e995fc8905 050/143: Add test for moving between two sections

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit e995fc8905371e20dd9f739feb86b1e6af5f0fd8
Author: Mats Lidell 
Commit: Mats Lidell 

Add test for moving between two sections
---
 ChangeLog|  5 +++--
 test/hyrolo-tests.el | 49 -
 2 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 192412611a..0f02762c89 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,8 +6,9 @@
 tests.
 (hyrolo-tests--outline-next-visible-header)
 (hyrolo-tests--tab-through-matches)
-(hyrolo-tests--outline-hide-show-heading): Add test for working with hyrolo
-matches.
+(hyrolo-tests--outline-hide-show-heading)
+(hyrolo-tests--outline-next-visible-header-two-sections): Add test for
+working with hyrolo matches.
 
 2023-12-31  Mats Lidell  
 
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 75690a57ce..7cb7f8bf33 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod:  1-Jan-24 at 19:18:41 by Mats Lidell
+;; Last-Mod:  1-Jan-24 at 19:29:48 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -566,6 +566,53 @@ Example:
   (kill-buffer "*HyRolo*")
   (hy-delete-file-and-buffer org-file
 
+(ert-deftest hyrolo-tests--outline-next-visible-header-two-sections ()
+  "Verify movement to next visible header with two sections."
+  (let* ((org-file1 (make-temp-file "hypb" nil ".org"
+(hyrolo-tests--gen-outline "header-a" 1 
"body-a" 2)))
+ (org-file2 (make-temp-file "hypb" nil ".org"
+(hyrolo-tests--gen-outline "header-b" 1 
"body-b" 2)))
+ (hyrolo-file-list (list org-file1 org-file2)))
+(unwind-protect
+(progn
+  (hyrolo-grep "body")
+  (should (string= "*HyRolo*" (buffer-name)))
+
+  ;; Move down
+  (should (looking-at-p "==="))
+  (should (hact 'kbd-key "n"))
+  (should (looking-at-p "^* header-a 1$"))
+  (should (hact 'kbd-key "n"))
+  (should (looking-at-p "^** header-a 1.2$"))
+  (should (hact 'kbd-key "n"))
+  (should (looking-at-p "^* header-b 1$"))
+  (should (hact 'kbd-key "n"))
+  (should (looking-at-p "^** header-b 1.2$"))
+  (should (hact 'kbd-key "n"))
+  (should (eobp))
+
+  ;; Move back up
+  (should (hact 'kbd-key "p"))
+  (should (looking-at-p "^** header-b 1.2$"))
+  (should (hact 'kbd-key "p"))
+  (should (looking-at-p "^* header-b 1$"))
+  (should (hact 'kbd-key "p"))
+  (should (looking-at-p "^** header-a 1.2$"))
+  (should (hact 'kbd-key "p"))
+  (should (looking-at-p "^* header-a 1$"))
+  (should (hact 'kbd-key "p"))
+
+  ;; BUG: This fails in Emacs 29 and 30
+  ;; This is the expected behavior that works in Emacs 27 and 28.
+  ;; (should (looking-at-p "==="))
+  ;; (should (bobp))
+  ;; This is what we get
+  (should (looking-at-p "@loc>"))
+  (should (= 2 (line-number-at-pos
+  (kill-buffer "*HyRolo*")
+  (hy-delete-file-and-buffer org-file1)
+  (hy-delete-file-and-buffer org-file2
+
 (ert-deftest hyrolo-tests--outline-hide-show-heading ()
   "Verify hiding and showing headers."
   (let* ((org-file (make-temp-file "hypb" nil ".org"



[elpa] externals/hyperbole fc6df9d652 056/143: Merge remote branch 'rsw' into rsw

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit fc6df9d652b577ac6060c8a94576f270d318ff75
Merge: f098816abd 564c147587
Author: bw 
Commit: bw 

Merge remote branch 'rsw' into rsw
---
 ChangeLog  |  5 
 test/hypb-ert-tests.el | 63 ++
 2 files changed, 68 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 5bf51c6255..311ab9df5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,11 @@
 for the Assist Key when on a Hyperbole button.
   hmouse-drv.el (hkey-help): Update to display proper Assist Key help.
 
+2024-01-02  Mats Lidell  
+
+* test/hypb-ert-tests.el (hypb-ert-tests--def-at-p)
+(hypb-ert-tests--edebug-is-called): Add tests for hypb-ert.
+
 2024-01-01  Bob Weiner  
 
 * hypb-ert.el (hypb-ert-def-at-p): Update doc.  Fix grouping ref that was
diff --git a/test/hypb-ert-tests.el b/test/hypb-ert-tests.el
new file mode 100644
index 00..cdc39118f9
--- /dev/null
+++ b/test/hypb-ert-tests.el
@@ -0,0 +1,63 @@
+;;; hypb-ert-tests.el --- tests for hypb-ert-*- 
lexical-binding: t; -*-
+;;
+;; Author:   Mats Lidell
+;;
+;; Orig-Date: 1-Jan-24 at 23:11:54
+;; Last-Mod:  2-Jan-24 at 00:28:42 by Mats Lidell
+;;
+;; SPDX-License-Identifier: GPL-3.0-or-later
+;;
+;; Copyright (C) 2024  Free Software Foundation, Inc.
+;; See the "HY-COPY" file for license information.
+;;
+;; This file is part of GNU Hyperbole.
+
+;;; Commentary:
+;;
+
+;;; Code:
+
+(require 'ert)
+(require 'el-mock)
+(require 'hypb-ert)
+
+(ert-deftest hypb-ert-tests--def-at-p ()
+  "Verify an `ert-deftest' name is identified."
+  (let ((test-name "hypb-ert-tests--test"))
+(with-temp-buffer
+  (insert "(ert-deftest " test-name " ()\n\"Docstring.\"\nt\n)\n")
+
+  (goto-char (point-min))
+  (should-not (hypb-ert-def-at-p))
+
+  (goto-char (1+ (point-min)))
+  (should (string= (hypb-ert-def-at-p) test-name))
+
+  (goto-char (- (line-end-position) 3))
+  (should (string= (hypb-ert-def-at-p) test-name))
+
+  (goto-char (- (line-end-position) 2))
+  (should-not (hypb-ert-def-at-p))
+
+  (end-of-line)
+  (should-not (hypb-ert-def-at-p))
+
+  (goto-char (1+ (point-min)))
+  (pcase-let ((`(,name ,start ,end)
+   (hypb-ert-def-at-p t)))
+(should (string= name test-name))
+(should (string= (buffer-substring start end) test-name))
+
+(ert-deftest hypb-ert-tests--edebug-is-called ()
+  "Verify `edebug-defun' is called when debug-it argument is set."
+  (let ((test-name "hypb-ert-tests--test"))
+(with-temp-buffer
+  (insert "(ert-deftest " test-name " ()\n\"Docstring.\"\nt\n)\n")
+  (emacs-lisp-mode)
+  (goto-char (1+ (point-min)))
+  (mocklet (((edebug-defun) => t)
+((hypb-ert *) => t))
+(hypb-ert-run-test-at-definition test-name t)
+
+(provide 'hypb-ert-tests)
+;;; hypb-ert-tests.el ends here



[elpa] externals/hyperbole 54d7ae565a 020/143: Complete test suite for hui:link-possible-types

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 54d7ae565a6779b73186a14134a43b83d3b2532f
Author: Mats Lidell 
Commit: Mats Lidell 

Complete test suite for hui:link-possible-types

Note discrepancies from expected behavior are added as comments.
---
 test/hui-tests.el | 41 ++---
 1 file changed, 38 insertions(+), 3 deletions(-)

diff --git a/test/hui-tests.el b/test/hui-tests.el
index 6e694d73db..1a28f9a887 100644
--- a/test/hui-tests.el
+++ b/test/hui-tests.el
@@ -994,10 +994,44 @@ With point on label suggest that ibut for rename."
 (should (equal (caar (hui:link-possible-types)) 'link-to-mail)
 
   ;; Directory Name   link-to-directory
-  ;; TBD
+  (let ((dir (make-temp-file "hypb" t)))
+(unwind-protect
+(let ((hargs:reading-type 'directory))
+  ;; The dired case looks identical to the general dired case
+  ;; below i.e. (let ((hargs:reading-type 'directory))
+  ;; (hui:link-possible-types)) with cursor on a line with a
+  ;; file in dired returns 'link-to-file. What is the expected
+  ;; behavior?
+  (with-current-buffer (dired dir)
+(goto-char 1)
+(should (equal (caar (hui:link-possible-types)) 
'link-to-directory)))
+  (with-temp-buffer
+(insert dir)
+(goto-char 4)
+(should (equal (caar (hui:link-possible-types)) 'link-to-ibut))) 
;; Expected: link-to-directory
+  (with-temp-buffer
+(insert "/ssh:u...@host.org:/home/user/file\n")
+(goto-char 4)
+(should (equal (caar (hui:link-possible-types)) 'link-to-ibut 
;; Expected: link-to-directory
+  (hy-delete-dir-and-buffer dir)))
 
   ;; File Namelink-to-file
-  ;; TBD
+  (let* ((temporary-file-directory (make-temp-file "hypb" t))
+ (file (make-temp-file "hypb")))
+(unwind-protect
+(let ((hargs:reading-type 'file))
+  (with-current-buffer (dired temporary-file-directory)
+(should (equal (caar (hui:link-possible-types)) 'link-to-file)))
+  (with-temp-buffer
+(insert temporary-file-directory)
+(goto-char 4)
+(should (equal (caar (hui:link-possible-types)) 'link-to-ibut))) 
;; Expected: link-to-file
+  (with-temp-buffer
+(insert "/ssh:u...@host.org:/home/user/\n")
+(goto-char 4)
+(should (equal (caar (hui:link-possible-types)) 'link-to-ibut 
;; Expected: link-to-file
+  (hy-delete-file-and-buffer file)
+  (hy-delete-dir-and-buffer temporary-file-directory)))
 
   ;; Koutline Celllink-to-kcell
   (let ((file (make-temp-file "hypb" nil ".kotl")))
@@ -1015,7 +1049,7 @@ With point on label suggest that ibut for rename."
   (find-file file)
   (outline-mode)
   (goto-char 1)
-  ;; BUG!? SHOULD link-to-string-match
+  ;; BUG!? Should be link-to-string-match?
   (should (equal (caar (hui:link-possible-types)) 'link-to-file)))
   (hy-delete-file-and-buffer file)))
 
@@ -1031,6 +1065,7 @@ With point on label suggest that ibut for rename."
   (let ((dir (make-temp-file "hypb" t)))
 (unwind-protect
 (with-current-buffer (dired dir)
+  (goto-char 1) ;; EOL does not seem to matter!?
   (should (equal (caar (hui:link-possible-types)) 'link-to-directory)))
   (hy-delete-dir-and-buffer dir)))
 



[elpa] externals/hyperbole 6550a0ac7c 013/143: hyrolo-any-file-type-problem-p - Add to handle invalid file suffixes

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 6550a0ac7c8ed1e6fd5accc5611944ac62e32732
Author: bw 
Commit: bw 

hyrolo-any-file-type-problem-p - Add to handle invalid file suffixes

Will also install the markdown-mode package as necessary when a Markdown 
file
is specified in 'hyrolo-file-list'.  This fixes failures with Markdown files
improperly put into fundamental-mode which means their headings are not
recognized properly.

hload-path.el (auto-mode-alist): Setup to invoke 'outline-mode' on ".otl"
suffixed files.

man/hyperbole.texi (HyRolo Concepts):
hyrolo.el (hyrolo-file-list): Update doc to specify allowable file suffixes
  and types.
---
 ChangeLog  |  18 +
 hload-path.el  |  12 ++---
 hui-jmenu.el   |   6 ++---
 hypb.el|  47 -
 hyrolo.el  |  75 +++--
 man/hyperbole.html |  56 ---
 man/hyperbole.info | Bin 615904 -> 617671 bytes
 man/hyperbole.pdf  | Bin 1370426 -> 1371766 bytes
 man/hyperbole.texi |  24 -
 9 files changed, 206 insertions(+), 32 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f865876778..92cb4d0681 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
+2023-12-24  Bob Weiner  
+
+* hyrolo.el (hyrolo-any-file-type-problem-p): Add to handle file suffixes
+that HyRolo cannot handle and to install the markdown-mode package as
+necessary when a Markdown file is specified in 'hyrolo-file-list'.
+(hyrolo-let-file-list, hyrolo-set-file-list): Call above function.
+This fixes failures with Markdown files improperly put into 
fundamental-mode
+which means their headings are not recognized properly.
+
+* hload-path.el (auto-mode-alist): Setup to invoke 'outline-mode' on ".otl"
+suffixed files.
+
+* man/hyperbole.texi (HyRolo Concepts):
+  hyrolo.el (hyrolo-file-list): Update doc to specify allowable file suffixes
+and types.
+
 2023-12-23  Bob Weiner  
 
+* hypb.el (hypb:major-mode-from-file-name): Add for initial use in "hyrolo.el".
+
 * hactypes.el (link-to-regexp-match): Fix to use arg 'n' in the regexp search.
 
 * kotl/kotl-mode.el (kotl-mode): Ensure local vars are set if current buffer
diff --git a/hload-path.el b/hload-path.el
index 0a9830f6d6..b306fc2950 100644
--- a/hload-path.el
+++ b/hload-path.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:29-Jun-16 at 14:39:33
-;; Last-Mod: 19-Nov-23 at 23:18:02 by Bob Weiner
+;; Last-Mod: 24-Dec-23 at 00:41:54 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -57,16 +57,20 @@ directory separator character.")
 (add-to-list 'load-path (directory-file-name hyperb:dir))
 
 ;;; 
-;;; Koutliner mode and file suffix importation settings
+;;; Koutliner mode and file suffix settings
 ;;; 
 
-;; Perform Koutliner initializations.
-
 (add-to-list 'load-path (expand-file-name "kotl" hyperb:dir))
 ;; Invoke kotl-mode for files ending in ".kotl".
 ;; Also allow ".kot" for DOS and Windows users.
 (add-to-list 'auto-mode-alist '("\\.kotl?\\'" . kotl-mode))
 
+;;; 
+;;; Emacs Outline settings for .otl files
+;;; 
+
+(add-to-list 'auto-mode-alist '("\\.otl\\'" . outline-mode))
+
 ;;; 
 ;;; Hyperbole test importation settings
 ;;; 
diff --git a/hui-jmenu.el b/hui-jmenu.el
index fd72bc4bf1..a07cee36b8 100644
--- a/hui-jmenu.el
+++ b/hui-jmenu.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 9-Mar-94 at 23:37:28
-;; Last-Mod:  3-Oct-23 at 23:25:31 by Mats Lidell
+;; Last-Mod: 24-Dec-23 at 00:06:07 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -147,9 +147,9 @@ Jump to chosen buffer."
 ""
 ["Name-Configuration" hywconfig-add-by-name t]
 ["Delete-Name"hywconfig-delete-by-name
- (frame-parameter nil 'hywconfig-names)]
+ (frame-parameter nil 'named-hywconfigs)]
 ["Restore-Name"   hywconfig-restore-by-name
- (frame-parameter nil 'hywconfig-names)]
+ (frame-parameter nil 'named-hywconfigs)]
 ""
 ["Pop-from-Ring"  hywconfig-delete-pop  (not 
(hywconfig-ring-empty-p))]
 ["Save-to-Ring"   hywconfig-ring-save   t]
diff --git a/hypb.el b/hypb.el
index 6f1f590593..798337fd21 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 6-Oct-91 at 03:42:38
-;; Last-Mod: 23-Dec-23 at 01:16:28 by Bob Weiner
+;; Last-Mod: 23-Dec-23 at 23:57:52 by Bob Weiner

[elpa] externals/hyperbole 38110ee8f7 065/143: Makefile - Change running of ert tests from interactively to batch

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 38110ee8f77c226d069c57968107ff2c930f2843
Author: bw 
Commit: bw 

Makefile - Change running of ert tests from interactively to batch

This puts backtraces for test failures into the *Messages* buffer
for quick issue resolution.
---
 ChangeLog | 14 ++
 Makefile  | 12 ++--
 test/hib-kbd-tests.el |  9 +++--
 3 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1f4c750361..1a63095476 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2024-01-05  Bob Weiner  
+
+* Makefile (test-all): Change 'ert-run-tests-interactively' to
+'ert-run-tests-batch' because this shows tracebacks of any tests that
+fail in the *Messages* buffer, speeding debugging.  Although it does
+have the side-effect of not producing the interactive *ert* buffer that
+lets you jump to test source.  However, you can paste the test results
+into another Emacs and use Hyperbole to jump to test/symbol definitions.
+   (test-all-output): Save outputs including backtraces written
+to *Messages* buffer in file "ERT-OUTPUT".
+
+* test/hib-kbd-tests.el (kbd-key-hy-demo-factorial-test): Remove use of *ert*
+buffer which may not exist if run in batch mode.
+
 * hyrolo.el (hyrolo-any-file-type-problem-p): If problem occurs within a 'let',
 then show backtrace so know where the let-binding was set.
 
diff --git a/Makefile b/Makefile
index 291cf6300a..b1f97d9d99 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 # Author:   Bob Weiner
 #
 # Orig-Date:15-Jun-94 at 03:42:38
-# Last-Mod:  3-Jan-24 at 03:06:38 by Bob Weiner
+# Last-Mod:  5-Jan-24 at 02:24:26 by Bob Weiner
 #
 # Copyright (C) 1994-2023  Free Software Foundation, Inc.
 # See the file HY-COPY for license information.
@@ -464,7 +464,7 @@ packageclean:
 tests: test
 test: test-ert
 
-# enable-local-variables setting needed so local-variables set in files like
+# enable-local-variables setting needed so local variables set in files like
 # FAST-DEMO are automatically obeyed without prompting when testing.
 LET_VARIABLES = (auto-save-default) (enable-local-variables :all)
 LOAD_TEST_ERT_FILES=$(patsubst %,(load-file \"%\"),${TEST_ERT_FILES})
@@ -479,19 +479,19 @@ test-all:
 ifeq ($(TERM), dumb)
 ifneq (,$(findstring .apple.,$(DISPLAY)))
 # Found, on MacOS
-   TERM=xterm-256color $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ((auto-save-default)) 
$(LOAD_TEST_ERT_FILES) (ert-run-tests-interactively t))"
+   TERM=xterm-256color $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ((auto-save-default)) 
$(LOAD_TEST_ERT_FILES) (ert-run-tests-batch t) (switch-to-buffer 
\"*Messages*\"))"
 else
 # Not found, set TERM so tests will at least run within parent Emacs 
session
-   TERM=vt100 $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ($(LET_VARIABLES)) 
$(LOAD_TEST_ERT_FILES) (ert-run-tests-interactively t))"
+   TERM=vt100 $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ($(LET_VARIABLES)) 
$(LOAD_TEST_ERT_FILES) (ert-run-tests-batch t) (switch-to-buffer 
\"*Messages*\"))"
 endif
 else
 # Typical case, run emacs normally
-   $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ($(LET_VARIABLES)) 
$(LOAD_TEST_ERT_FILES) (ert-run-tests-interactively t))"
+   $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ($(LET_VARIABLES)) 
$(LOAD_TEST_ERT_FILES) (ert-run-tests-batch t) (switch-to-buffer 
\"*Messages*\"))"
 endif
 
 batch-tests: test-all-output
 test-all-output:
-   $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ($(LET_VARIABLES) (ert-quiet 
t)) $(LOAD_TEST_ERT_FILES) (ert-run-tests-interactively t) (with-current-buffer 
\"*ert*\" (append-to-file (point-min) (point-max) \"ERT-OUTPUT\")) 
(kill-emacs))"
+   $(EMACS) --quick $(PRELOADS) --eval "(load-file 
\"test/hy-test-dependencies.el\")" --eval "(let ($(LET_VARIABLES) (ert-quiet 
t)) $(LOAD_TEST_ERT_FILES) (ert-run-tests-batch t) (with-current-buffer 
\"*Messages*\" (append-to-file (point-min) (point-max) \"ERT-OUTPUT\")) 
(kill-emacs))"
@echo "# Results written to file: ERT-OUTPUT"
 
 # Hyperbole install tests - Verify that hyperbole can be installed
diff --git a/test/hib-kbd-tests.el b/test/hib-kbd-tests.el
index 87f50c4769..74c67b824e 100644
--- a/test/hib-kbd-tests.el
+++ b/test/hib-kbd-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:30-Jan-21 at 12:00:00
-;; Last-Mod: 25-Dec-23 at 23:30:20 by Mats Lidell
+;; Last-Mod:  5-Jan-24 at 02:08:48 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -26,6 +26,7 @@

[elpa] externals/hyperbole 12950cd2db 029/143: Matsl rsw fix failing tests (#424)

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 12950cd2dbd04c897881c9314815dd09b7f7f6d4
Author: Mats Lidell 
Commit: GitHub 

Matsl rsw fix failing tests (#424)
---
 test/hyrolo-tests.el  | 82 +++
 test/kotl-orgtbl-tests.el |  4 +--
 2 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index d34dd6512a..786a60012f 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod: 26-Dec-23 at 01:57:38 by Bob Weiner
+;; Last-Mod: 28-Dec-23 at 12:48:26 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -294,10 +294,10 @@ and {b} the previous same level cell."
 (unwind-protect
 (progn
   (hyrolo-fgrep "string")
-  (with-current-buffer "*HyRolo*"
-(should (= (how-many "@loc>") 4))
-(dolist (f (list org-file kotl-file md-file outl-file))
-  (should (= (how-many (concat "@loc> \"" f "\"")) 1)
+  (should (string= (buffer-name) "*HyRolo*"))
+  (should (= (how-many "@loc>") 4))
+  (dolist (f (list org-file kotl-file md-file outl-file))
+(should (= (how-many (concat "@loc> \"" f "\"")) 1
   (dolist (f (list org-file kotl-file md-file outl-file))
 (hy-delete-file-and-buffer f))
   (kill-buffer "*HyRolo*")
@@ -311,13 +311,14 @@ and {b} the previous same level cell."
 (unwind-protect
 (progn
   (hyrolo-fgrep "string")
-  (with-current-buffer "*HyRolo*"
-(should (= (how-many "@loc>") 1))
-(should (looking-at-p "==="))
-(hyrolo-next-visible-heading 1)
-(should (looking-at-p "* heading")))
- (kbd-key:key-series-to-events "y C-f")
-  (action-key)
+  (should (string= (buffer-name) "*HyRolo*"))
+  (should (= (how-many "@loc>") 1))
+  (should (looking-at-p "==="))
+  (hyrolo-next-visible-heading 1)
+  (should (looking-at-p "* heading"))
+  (let ((revisit-normally (concat "y" (if noninteractive " RET"
+(with-simulated-input revisit-normally
+  (action-key)))
   (should (equal (current-buffer) (find-buffer-visiting org-file)))
   (should (looking-at-p "* heading")))
   (hy-delete-file-and-buffer org-file)
@@ -338,15 +339,14 @@ and {b} the previous same level cell."
   (kotl-mode:newline 1)
   (insert "more")
   (hyrolo-fgrep "string")
-  (with-current-buffer "*HyRolo*"
-(should (= (how-many "@loc>") 1))
-(should (looking-at-p "==="))
-(hyrolo-next-visible-heading 1)
-(should (looking-at-p ".*1\\. heading")))
-  (with-simulated-input "y C-f" ; Do you want to revisit the file 
normally now?
-(action-key)
-(should (equal (current-buffer) (find-buffer-visiting kotl-file)))
-(should (looking-at-p "heading"
+  (should (string= (buffer-name) "*HyRolo*"))
+  (should (= (how-many "@loc>") 1))
+  (should (looking-at-p "==="))
+  (hyrolo-next-visible-heading 1)
+  (should (looking-at-p ".*1\\. heading"))
+  (action-key)
+  (should (equal (current-buffer) (find-buffer-visiting kotl-file)))
+  (should (looking-at-p "heading")))
   (hy-delete-file-and-buffer kotl-file)
   (kill-buffer "*HyRolo*")
   (delete-directory temporary-file-directory
@@ -359,11 +359,11 @@ and {b} the previous same level cell."
 (unwind-protect
 (progn
   (hyrolo-fgrep "string")
-  (with-current-buffer "*HyRolo*"
-(should (= (how-many "@loc>") 1))
-(should (looking-at-p "==="))
-(hyrolo-next-visible-heading 1)
-(should (looking-at-p "* heading")))
+  (should (string= (buffer-name) "*HyRolo*"))
+  (should (= (how-many "@loc>") 1))
+  (should (looking-at-p "==="))
+  (hyrolo-next-visible-heading 1)
+  (should (looking-at-p "* heading"))
   (action-key)
   (should (equal (current-buffer) (find-buffer-visiting outl-file)))
   (should (looking-at-p "* heading")))
@@ -379,11 +379,11 @@ and {b} the previous same level cell."
 (unwind-protect
 (progn
   (hyrolo-fgrep "string")
-  (with-current-buffer "*HyRolo*"
-(should (= (how-many "@loc>") 1))
-(should (looking-at-p "==="))
-(hyrolo-next-visible-heading 1)
-(should (looking-at-p "# heading")))
+  (should (string= (buffer-name) "*HyRolo*"))
+  (should (= (how-many "@loc>") 1))
+  (should (looking-at-p "==="))
+  (hyrolo-next-visible-heading 1)
+  (should (looking-at-p "# heading"))
   (action-key)
   (should (equal (current-buff

[elpa] externals/hyperbole 966605b7a3 028/143: hkey-window-link, {M-o w} - invert the meaning of prefix arg

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 966605b7a3258868f954b1101d542659821925ce
Author: bw 
Commit: bw 

hkey-window-link, {M-o w} - invert the meaning of prefix arg

hmouse-alist-add-window-handlers - Default to implicit button
creation; create explicit button with C-u prefix.
---
 ChangeLog  |  13 +++
 DEMO   |  39 ++-
 FAST-DEMO  |  19 -
 hmouse-drv.el  |  14 +++
 hui-window.el  |   7 ++--
 hui.el |   4 +-
 man/hkey-help.txt  |   2 +-
 man/hyperbole.html | 110 
 man/hyperbole.info | Bin 619272 -> 619947 bytes
 man/hyperbole.pdf  | Bin 1373019 -> 1373590 bytes
 man/hyperbole.texi | 112 +
 11 files changed, 178 insertions(+), 142 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 31bad0208b..7039b47407 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2023-12-27  Bob Weiner  
+
+* hmouse-drv.el (hkey-window-link): Invert the meaning of the prefix arg, so 
without
+one, creates implicit buttons and with creates explicit buttons.  This is 
the new
+V9 standard as then by default there is no need to prompt for a button 
name.
+  hui-window.el (hmouse-alist-add-window-handlers): Invert drag between 
windows so
+without a prefix arg, creates implicit buttons and with, creates explicit 
ones.
+  hui.el (hui:ibut-link-directly):
+  FAST-DEMO (Implicit Buttons):
+  DEMO (Creation via Dragging, Creation via Ace Window):
+  man/hyperbole.texi (Keyboard Drags, Smart Mouse Drags between Windows):
+  man/hkey-help.txt: Update doc on above.
+
 2023-12-26  Mats Lidell  
 
 * test/hmouse-drv-tests.el:
diff --git a/DEMO b/DEMO
index 21a8cc3f9c..c34724dd8f 100644
--- a/DEMO
+++ b/DEMO
@@ -1176,22 +1176,22 @@ on the *first* line of the button, within the button 
delimiters:
 Creating explicit buttons is fun and easy.  You can always try them out
 immediately after creating them or can utilize the Assist Key to verify what
 buttons do.  There are two ways to create them: by dragging between windows
-with the Action Mouse Key or by using the Hyperbole menus.
+with the Assist Mouse Key or by using the Hyperbole menus.
 
 *** Creation via Dragging
 
 An efficient way to create an explicit button interactively is to use
-the Action Mouse Key to drag from a window where you want the button
+the Assist Mouse Key to drag from a window where you want the button
 created (button source window) to a window showing its link referent.
 The drag must start outside of a draggable item which includes Hyperbole
-button, dired items and buffer menu items.
+buttons, dired items and buffer menu items.
 
 More specifically, you should split your current Emacs frame into two
 windows: one which contains the point at which you want a button to be
 inserted and another which shows the point to which you want to link,
-the referent.  Depress the Action Mouse Key at the source point for
+the referent.  Depress the Assist Mouse Key at the source point for
 the button (anywhere but on a paired delimiter such as double quotes
-or parentheses).  Then drag to the other window and release the Action
+or parentheses).  Then drag to the other window and release the Assist
 Mouse Key at the start point of the link referent.  The process
 becomes quite simple with a little practice.
 
@@ -1211,20 +1211,19 @@ the variable with a matching value when the link is 
later resolved.  This
 allows the sharing of links over wide areas, where links contain variables
 whose values differ between link creator and link activator.
 
-If you do the same think with the Assist Mouse Key instead of the Action
+If you do the same thing with the Action Mouse Key instead of the Assist
 Mouse Key, Hyperbole will create an implicit link button instead of an
 explicit one.  Such buttons are created without names but you can add
-a name preceding such buttons with {C-h h i l} to label them.
+a name preceding such buttons by using {C-u C-h h i l} instead.
 
 *** Creation via Ace Window
 
-For the fastest link button creation, use the Emacs package
-'ace-window' (see "(hyperbole)Keyboard Drags" for setup).  Once this
-is configured, then {M-o w } may be used to quickly create
-an explicit link button in the selected window that links to any other
-window chosen via the Ace Window.  Use a C-u prefix argument to create
-an unnamed implicit link button instead and a M-1 prefix argument to
-create a named implicit link button.
+For the fastest link button creation, use the Emacs package 'ace-window' (see
+"(hyperbole)Keyboard Drags" for setup).  Once this is configured, then {M-o w`j
+} may be used to quickly create an unnamed implicit link button in
+the selected window that links to any other window chosen via the Ace Window.
+Use a M-1 prefix argument to create a named implicit link button.  If you
+want to create an explicit button instead, use the C-u prefix argument.
 

[elpa] externals/hyperbole 12e714d824 072/143: Move xref extensions to new "hsys-xref.el". Add ibut API extensions

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 12e714d824d37006ae1487bb369362988a6b5e50
Author: bw 
Commit: bw 

Move xref extensions to new "hsys-xref.el". Add ibut API extensions

Add ibut:is-type-p and change 'ibut:at-type-p'.  Add 'hbut:actype'
and 'ibut:type'.
---
 ChangeLog | 29 +
 MANIFEST  |  1 +
 Makefile  |  4 ++--
 hbut.el   | 36 +---
 hmouse-tag.el | 31 +++
 5 files changed, 56 insertions(+), 45 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4c7275ec39..e00a45532f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2024-01-07  Bob Weiner  
+
+* hbut.el (hbut:actype, ibut:type): Add for Hyperbole API use.
+  (ibut:at-type-p): Rewrite using 'ibtype:elisp-symbol' and
+'ibut:type'.
+  (ibut:is-type-p): Add to give both an ibut and a type for
+  comparison and API use.
+ (ibtype:def-symbol, hattr:report): Change call from 'make-symbol'
+  to 'intern' for efficiency.
+
+* hmouse-tag.el (smart-tags-noselect-function): Change function reference
+to new name, 'hsys-xref-definition'.
+
+* MANIFEST:
+  Makefile (EL_COMPILE):
+  hsys-xref.el (hsys-xref-definitions): Move xref utility functions
+from "hmouse-tag.el" to here and add Hyperbole unique hsys- prefix.
+
 2024-01-06  Mats Lidell  
 
 * Makefile (HYPB_ERT_BATCH, HYPB_ERT_BATCH_BT):  Add command line arg to
@@ -8704,11 +8722,13 @@ for expanded Org mode reference handling.
 
 * hbut.el (gbut:ibut-key-list): Added.
 
-* hui.el (hui:hbut-term-highlight, hui:hbut-term-unhighlight): Fixed so 
save-excursion is outermost.
+* hui.el (hui:hbut-term-highlight, hui:hbut-term-unhighlight): Fixed so
+save-excursion is outermost.
 
 2019-06-29  Bob Weiner  
 
-* hbut.el (ebut:get, ebut:at-p, ebut:label-to-key, ibut:at-type-p): Simplified 
conditionals using 'when'.
+* hbut.el (ebut:get, ebut:at-p, ebut:label-to-key, ibut:at-type-p): Simplified
+conditionals using 'when'.
   (ibut:label-start, ibut:label-end, ibut:label-p, ibut:get,
ibut:next-occurrence, ibut:label-regexp): Added.
   (hbut:label-regexp): Added to support labeled implicit buttons too.
@@ -8717,8 +8737,9 @@ for expanded Org mode reference handling.
 
 2019-06-23  Bob Weiner  
 
-* hsys-org.el: Added many new predicates and code to handle navigation between 
Org
-mode internal links and their targets, as well as radio target definitions 
and their links.
+* hsys-org.el: Added many new predicates and code to handle navigation between
+Org mode internal links and their targets, as well as radio target
+definitions and their links.
 (hsys-org-mode-function, hsys-org-mode-p): Added to determine when 
hsys-org actions
are activated.
 
diff --git a/MANIFEST b/MANIFEST
index 3b57d005ab..94948cea89 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -103,6 +103,7 @@ hsys-flymake.el  - Add missing source buffer keymap to 
flymake linter
 hsys-org.el  - GNU Hyperbole support functions for Org mode
 hsys-org-roam.el - GNU Hyperbole support functions for Org Roam
 hsys-www.el  - GNU Hyperbole support for Emacs W3 World-Wide Web (WWW) 
browsing
+hsys-xref.el - GNU Hyperbole support functions for "xref.el"
 hsys-youtube.el  - Action buttons to play timestamped segments of Youtube 
videos
 
 * --- HYPERBOLE TEST CASES ---
diff --git a/Makefile b/Makefile
index c5dbc38630..e58eae5ad5 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 # Author:   Bob Weiner
 #
 # Orig-Date:15-Jun-94 at 03:42:38
-# Last-Mod:  6-Jan-24 at 16:59:43 by Mats Lidell
+# Last-Mod:  7-Jan-24 at 14:27:34 by Bob Weiner
 #
 # Copyright (C) 1994-2023  Free Software Foundation, Inc.
 # See the file HY-COPY for license information.
@@ -183,7 +183,7 @@ EL_COMPILE = hact.el hactypes.el hargs.el hbdata.el 
hbmap.el hbut.el \
 hinit.el hload-path.el hmail.el hmh.el hmoccur.el hmouse-info.el \
 hmouse-drv.el hmouse-key.el hmouse-mod.el hmouse-sh.el 
hmouse-tag.el \
 hpath.el hrmail.el hsettings.el hsmail.el hsys-flymake.el 
hsys-org.el \
- hsys-org-roam.el hsys-www.el hsys-youtube.el htz.el \
+ hsys-org-roam.el hsys-www.el hsys-xref.el hsys-youtube.el htz.el \
 hycontrol.el hui-jmenu.el hui-menu.el hui-mini.el hui-mouse.el 
hui-select.el \
 hui-treemacs.el hui-window.el hui.el hvar.el hversion.el hypb.el 
hyperbole.el \
 hyrolo-demo.el hyrolo-logic.el hyrolo-menu.el hyrolo.el 
hywconfig.el set.el hypb-ert.el \
diff --git a/hbut.el b/hbut.el
index 8781701a74..678a01cdad 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:18-Sep-91 at 02:57:09
-;; Last-Mod:  6-Jan-24 at 00:40:15 by Bob Weiner
+;; Last-Mod:  7-Jan-24 at 20:13:36 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -976,7 +976,7 @@ Ignore nil valued attributes.  Ret

[elpa] externals/hyperbole 19e51dfb0e 009/143: +* hyrolo.el (hyrolo-move-backward, hyrolo-move-forward): Fixes.

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 19e51dfb0ea5b565740dd9d36eb8ad51923c5e0e
Author: bw 
Commit: bw 

+* hyrolo.el (hyrolo-move-backward, hyrolo-move-forward): Fixes.

(hyrolo-to-entry-end): Remove unused arg '_curr-entry-level-len'.
(hyrolo-grep-file): Remove unneeded passing of 'curr-entry-level-len' arg to
(hyrolo-outline-previous-visible-heading, hyrolo-next-visible-heading): Fix
   doc strings to mention stops at match buffer headers.
---
 ChangeLog | 10 ++
 hyrolo.el | 48 +++-
 2 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 08dd6266e3..dc7107fd43 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2023-12-18  Bob Weiner  
+
+* hyrolo.el (hyrolo-move-backward, hyrolo-move-forward): If FUNC is a lambda
+(not a function symbol), then temporarily narrow to the current match 
buffer
+ before applying FUNC.
+ (hyrolo-to-entry-end): Remove unused arg '_curr-entry-level-len'.
+ (hyrolo-grep-file): Remove unneeded passing of 'curr-entry-level-len' arg 
to
+ (hyrolo-outline-previous-visible-heading, hyrolo-next-visible-heading): 
Fix
+ doc strings to mention stops at match buffer headers.
+
 2023-12-17  Bob Weiner  
 
 * hyrolo.el (hyrolo-move-backward, hyrolo-move-forward): If on a kotl-mode 
entry,
diff --git a/hyrolo.el b/hyrolo.el
index cf9f4964e2..73936d410b 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 17-Dec-23 at 21:16:02 by Bob Weiner
+;; Last-Mod: 18-Dec-23 at 11:20:19 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1674,7 +1674,7 @@ Return number of matching entries found."
  (unless (re-search-forward hyrolo-entry-regexp nil t)
(goto-char (line-end-position)))
  (setq curr-entry-level-len (length 
(buffer-substring-no-properties entry-start (point
- (unless (hyrolo-to-entry-end t curr-entry-level-len)
+ (unless (hyrolo-to-entry-end t)
;; If at the end of a line, move to the next line;
;; otherwise, move forward a character if possible.
(if (eolp)
@@ -1853,10 +1853,11 @@ When found, return the mnatch starting position."
 (match-beginning 0)))
 
 (defun hyrolo-next-visible-heading (arg)
-  "Move to the next visible heading line.
+  "Move to the next visible heading or match buffer header.
 With ARG, repeats or can move backward if negative.
-A heading line is one that starts with a `*' (or that
-`outline-regexp' matches)."
+
+A heading is one that starts with an `outline-regexp' match.
+A match buffer header is one that starts with `hyrolo-hdr-regexp'."
   (interactive "p")
   (hyrolo-move-forward #'outline-next-visible-heading arg))
 
@@ -1984,10 +1985,11 @@ A heading line is one that starts with a `*' (or that
   (hyrolo-funcall-match #'outline-previous-heading))
 
 (defun hyrolo-outline-previous-visible-heading (arg)
-  "Move to the previous heading line.
+  "Move to the previous visible heading or match buffer header.
 With ARG, repeats or can move forward if negative.
-A heading line is one that starts with a `*' (or that
-`outline-regexp' matches)."
+
+A heading is one that starts with an `outline-regexp' match.
+A match buffer header is one that starts with `hyrolo-hdr-regexp'."
   (interactive "p")
   (hyrolo-move-backward #'outline-previous-visible-heading arg))
 
@@ -2128,17 +2130,13 @@ beginning of the highest ancestor level.  Return final 
point."
 (outline-up-heading 80
include-sub-entries))
 
-(defun hyrolo-to-entry-end (&optional include-sub-entries 
_curr-entry-level-len)
+(defun hyrolo-to-entry-end (&optional include-sub-entries)
   "Move point past the end of the current entry.
-oWith optional prefix arg INCLUDE-SUB-ENTRIES non-nil, move past
+With optional prefix arg INCLUDE-SUB-ENTRIES non-nil, move past
 the end of the entire subtree.  Return final point.
 
-CURR-ENTRY-LEVEL-LEN is the integer length of the last entry
-header found.  If INCLUDE-SUB-ENTRIES is nil,
-CURR-ENTRY-LEVEL-LEN is not needed.
-
-When called interactively, leave point one character earlier, before
-the final newline of the entry.
+When called interactively, leave point one character earlier,
+before the final newline of the entry.
 
 Return current point."
   (interactive "P")
@@ -2147,8 +2145,8 @@ Return current point."
  (if (not include-sub-entries)
 (outline-next-heading)
(outline-end-of-subtree)
-   (goto-char (1+ (point)
-   include-sub-entries)
+   (goto-char (1+ (point
+ include-sub-entries))
   (when (called-interactively-p 'any)
 (goto-char (1- (point
   (point))
@@ -2318,7 +2316,7 @@ Any non-nil value returned is a cons of ( . 
)."
   ;; Don't actu

[elpa] externals/hyperbole 00d5af41be 039/143: Add Smart Key support for rsw's new ert-results.el package

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 00d5af41be0ea6cde121929ac15a2e96c9b1c779
Author: bw 
Commit: bw 

Add Smart Key support for rsw's new ert-results.el package

Fix many linting warnings in hui-mouse.el
---
 ChangeLog|  4 +++
 hui-mouse.el | 88 
 2 files changed, 63 insertions(+), 29 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9ea02b2432..c69866c66e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2023-12-29  Bob Weiner  
 
+* hui-mouse.el (hkey-alist): Add 'ert-results-mode' support using rsw's new
+"ert-results.el" library.  Add 'smart-ert-results' and
+'smart-ert-results-assist' support functions.  Fix many flycheck warnings.
+
 * hmouse-tag.el (smart-lisp-find-tag): Fix issue where 'hkey-value' was used
 as tag when it was not a string, causing failures on known function 
lookups.
 
diff --git a/hui-mouse.el b/hui-mouse.el
index 9315410254..446a66f280 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:04-Feb-89
-;; Last-Mod: 26-Dec-23 at 12:06:25 by Bob Weiner
+;; Last-Mod: 29-Dec-23 at 16:24:31 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -40,6 +40,7 @@
 ;;; Other required Elisp libraries
 ;;; 
 
+(require 'ert-results nil t) ;; Action Key support in ERT result buffers
 (require 'hload-path)
 (require 'hsys-org)
 (require 'hbut)
@@ -71,6 +72,13 @@
 
 (defvar helm-selection-point)
 
+(declare-function ert-results-filter-status-p"ext:ert-results")
+(declare-function ert-results-display"ext:ert-results")
+(declare-function ert-results-hide   "ext:ert-results")
+(declare-function ert-results-show   "ext:ert-results")
+(declare-function ert-results-toggle "ext:ert-results")
+(declare-function ert-results-describe-test-at-point "ext:ert-results")
+
 (declare-function tar-flag-deleted "tar")
 (declare-function tar-unflag "tar")
 (declare-function tar-extract-other-window "tar")
@@ -88,7 +96,7 @@
   "*Command that sets point to the mouse cursor position.")
 
 (defun action-key-error ()
-  "If in Org mode and Hyperbole shares {M-RET}, run org-meta-return.
+  "If in Org mode and Hyperbole shares {M-RET}, run `org-meta-return'.
 In other context signal an error."
   (if (and (funcall hsys-org-mode-function)
   (hsys-org-meta-return-shared-p))
@@ -96,7 +104,7 @@ In other context signal an error."
 (hypb:error "(Hyperbole Action Key): No action defined for this context; 
try another location")))
 
 (defun assist-key-error ()
-  "If in Org mode and Hyperbole shares {M-RET}, run org-meta-return.
+  "If in Org mode and Hyperbole shares {M-RET}, run 'org-meta-return'.
 In other context, signal an error."
   (if (and (funcall hsys-org-mode-function)
   (hsys-org-meta-return-shared-p))
@@ -117,7 +125,7 @@ Smart Key behavior."
   :group 'hyperbole-keys)
 
 (defcustom action-key-modeline-buffer-id-function #'dired-jump
-  "*Function to call for Action Key clicks on the buffer id portion of a 
modeline.
+  "*Function to call for Action Key clicks on the buf id portion of a modeline.
 Its default value is `dired-jump'; set it to `smart-treemacs-modeline'
 to use the Treemacs file manager package instead."
   :type 'function
@@ -222,6 +230,12 @@ Its default value is `smart-scroll-down'.  To disable it, 
set it to
 ((eq major-mode 'dired-sidebar-mode)
  . ((smart-dired-sidebar) . (smart-dired-sidebar)))
 ;;
+((and (eq major-mode 'ert-results-mode)
+ (featurep 'ert-results)
+ (setq hkey-value (ert-results-filter-status-p)))
+ . ((smart-ert-results hkey-value) . (smart-ert-results-assist 
hkey-value)))
+;;
+;;
 ;; Handle Emacs push buttons in buffers
 ((and (fboundp 'button-at) (button-at (point)))
  . ((smart-push-button nil (mouse-event-p last-command-event))
@@ -590,11 +604,11 @@ smart keyboard keys.")
 ;;; 
 
 (defun first-line-p ()
-  "Return true if point is on the first line of the buffer."
+  "Return t if point is on the first line of the buffer."
   (save-excursion (beginning-of-line) (bobp)))
 
 (defun last-line-p ()
-  "Return true if point is on the last line of the buffer."
+  "Return t if point is on the last line of the buffer."
   (save-excursion (end-of-line) (smart-eobp)))
 
 (defun smart-completion-help ()
@@ -649,7 +663,7 @@ If key is pressed:
(t (Buffer-menu-select
 
 (defun smart-buffer-menu-assist ()
-  "Use a single assist-key or mouse assist-key to manipulate `buffer-menu' 
entries.
+  "Use assist-key or mouse assist-key to manipulate `buffer-menu' entries.
 
 Invoked via an assist-key press when in `Buffer-menu-mode'.  It assumes that 
its
 caller has already checked that the assist-key was pressed in an ap

[elpa] externals/hyperbole a08fd67af3 057/143: Merge pull request #427 from rswgnu/matsl-rsw-add-hyrolo-tests

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit a08fd67af36c11f53e7b8fda7e4c239e45781f0b
Merge: 564c147587 586a568992
Author: Robert Weiner 
Commit: GitHub 

Merge pull request #427 from rswgnu/matsl-rsw-add-hyrolo-tests

Matsl rsw add hyrolo tests
---
 ChangeLog|  16 +++
 test/hyrolo-tests.el | 289 ++-
 2 files changed, 303 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 650a09db5b..459aeae48c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2023-01-02  Mats Lidell  
+
+* test/hyrolo-tests.el (hyrolo-tests--level-number)
+(hyrolo-tests--generate-header-contents-for-tests)
+(hyrolo-tests--gen-outline): Add helper for constructing org files for
+tests.
+(hyrolo-tests--outline-next-visible-header)
+(hyrolo-tests--tab-through-matches)
+(hyrolo-tests--outline-hide-show-heading)
+(hyrolo-tests--outline-up-header, hyrolo-tests--edit-entry)
+(hyrolo-tests--outline-next-visible-header-two-sections): Add test for
+working with hyrolo matches.
+(hyrolo-tests--get-file-list-change)
+(hyrolo-tests--get-file-list-wrong-suffice): Add hyrolo tests for
+get-file-list.
+
 2024-01-02  Mats Lidell  
 
 * test/hypb-ert-tests.el (hypb-ert-tests--def-at-p)
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 68dac7f64f..9856a93147 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod: 30-Dec-23 at 23:22:54 by Bob Weiner
+;; Last-Mod:  1-Jan-24 at 22:38:40 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -24,6 +24,7 @@
 (require 'hyrolo-demo)
 (require 'hy-test-helpers "test/hy-test-helpers")
 (require 'hib-kbd)
+(require 'kotl-mode)
 (require 'with-simulated-input)
 
 (declare-function hy-test-helpers:consume-input-events "hy-test-helpers")
@@ -42,7 +43,7 @@
   (hyrolo-add "a/b")
   (hyrolo-add "a/b/c")
   (beginning-of-line)
-  (should (looking-at-p "\*\*\*   c")))
+  (should (looking-at-p "\\*\\*\\*   c")))
   (hy-delete-file-and-buffer hyrolo-file
 
 (ert-deftest hyrolo-demo-search-work ()
@@ -449,5 +450,289 @@ Match a string in the second cell."
   (kill-buffer hyrolo-display-buffer)
   (delete-directory temporary-file-directory
 
+(ert-deftest hyrolo-tests--get-file-list-change ()
+  "Verify a change to hyrolo-file-list is noticed by hyrolo-get-file-list."
+  (let* ((tmp-file (make-temp-file "hypb" nil ".org"))
+ (hyrolo-file-list (list tmp-file)))
+(unwind-protect
+(let ((hl (hyrolo-get-file-list)))
+  (should (= 1 (length hl)))
+  (should (string= (car hl) tmp-file)))
+  (hy-delete-file-and-buffer tmp-file
+
+(ert-deftest hyrolo-tests--get-file-list-wrong-suffice ()
+  "Verify files need to have the proper suffix in hyrolo-file-list."
+  (let ((tmp-file (make-temp-file "hypb" nil)))
+(unwind-protect
+(should-error
+ (let ((hyrolo-file-list (list tmp-file)))
+   ()))
+  (hy-delete-file-and-buffer tmp-file
+
+;; Outline movement tests
+(defun hyrolo-tests--level-number (section depth)
+  "Generate the number for the SECTION at DEPTH.
+
+The format is the section followed by the depth given by the
+sequence up to depth starting from 2.
+  Depth 1:section
+  Depth :  section.2.3.4.."
+  (let (result)
+(dotimes (d depth)
+  (setq result
+(if (= 0 d)
+(number-to-string section)
+  (concat result
+  "."
+  (number-to-string (+ 1 d))
+result))
+
+(defun hyrolo-tests--generate-header-contents-for-tests (header section body 
depth)
+  "Generate the HEADER and BODY contents for the SECTION with DEPTH."
+  (let (result)
+(dotimes (d depth)
+  (setq result
+(concat result
+(make-string (1+ d) ?*) " " header " " 
(hyrolo-tests--level-number section (1+ d)) "\n"
+body " " (hyrolo-tests--level-number section (1+ d)) 
"\n")))
+result))
+
+(defun hyrolo-tests--gen-outline (header sections body depth)
+  "Generate an outline structure suitable for hyrolo outline test.
+
+The contents is constructed with an outline HEADER and BODY text.
+Each is repeated in SECTIONS with one set of hierarchical headers
+to the specified DEPTH.
+
+Example:
+   * header 1
+   body 1
+   ** header 2
+   body 1.2
+   [...]
+   * header 
+   body 
+   ** header .2
+   body .2
+   [...]"
+  (let (result)
+(dotimes (section sections)
+  (setq result
+(concat result
+(hyrolo-tests--generate-header-contents-for-tests header 
(1+ section) body depth
+result))
+
+(ert-deftest hyrolo-tests--outline-next-visible-header ()
+  "Verify movement to next visible header."
+  (let* ((org-file (make-temp-file "hypb" nil ".org"
+   

[elpa] externals/hyperbole badf1e5281 027/143: Merge remote branch 'rsw' into rsw

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit badf1e52818f080d2717b0f4ac4272b969d435b2
Merge: d59f27c469 f4fccc5abf
Author: bw 
Commit: bw 

Merge remote branch 'rsw' into rsw
---
 ChangeLog|  8 
 test/demo-tests.el   | 30 --
 test/hib-kbd-tests.el|  4 ++--
 test/hibtypes-tests.el   | 16 ++--
 test/hmouse-drv-tests.el | 13 -
 5 files changed, 44 insertions(+), 27 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9c23b66c46..31bad0208b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2023-12-26  Mats Lidell  
+
+* test/hmouse-drv-tests.el:
+  test/hibtypes-tests.el:
+  test/hib-kbd-tests.el:
+  test/demo-tests.el: Set enable-local-variables to nil for test cases
+where DEMO and FAST-DEMO is loaded to avoid getting queried.
+
 2023-12-26  Bob Weiner  
 
 * hpath.el (hpath:to-markup-anchor): If referent-regexp starts with '^', add
diff --git a/test/demo-tests.el b/test/demo-tests.el
index c80bcb85d5..be116cd87e 100644
--- a/test/demo-tests.el
+++ b/test/demo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:30-Jan-21 at 12:00:00
-;; Last-Mod: 11-Dec-23 at 01:58:53 by Bob Weiner
+;; Last-Mod: 25-Dec-23 at 23:30:20 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -39,7 +39,7 @@
 (ert-deftest demo-smart-mouse-keys-ref-test ()
   "Go to the header from a #ref."
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (goto-char (point-min))
 (re-search-forward "#Smart Keys")
@@ -50,7 +50,7 @@
 
 (ert-deftest demo-smart-mouse-keys-ebut-test ()
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (goto-char (point-min))
 (re-search-forward "<(Smart")
@@ -61,7 +61,7 @@
 
 (ert-deftest demo-table-of-contents-test ()
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (goto-char (point-min))
 (re-search-forward " \\* Koutl")
@@ -74,7 +74,7 @@
 (ert-deftest demo-smart-scrolling-proportional-test ()
   (skip-unless (not noninteractive))
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (goto-char (point-min))
 (re-search-forward "Table of Contents")
@@ -88,7 +88,7 @@
 
 (ert-deftest demo-smart-scrolling-non-proportional-test ()
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (goto-char (point-min))
 (re-search-forward "Table of Contents")
@@ -127,7 +127,7 @@
 (ert-deftest demo-window-grid-22-test ()
   (skip-unless (not noninteractive))
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (should (hact 'kbd-key "C-h h s f @ 22 RET Q"))
 (hy-test-helpers:consume-input-events)
@@ -137,7 +137,7 @@
 (ert-deftest demo-window-grid-33-test ()
   (skip-unless (not noninteractive))
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (should (hact 'kbd-key "C-h h s f @ 33 RET Q"))
 (hy-test-helpers:consume-input-events)
@@ -190,7 +190,8 @@
   (with-temp-buffer
 (insert (format "\"%s\"" (expand-file-name "DEMO" hyperb:dir)))
 (goto-char 2)
-(action-key)
+   (let ((enable-local-variables nil))
+  (action-key))
 (should (string= "DEMO" (buffer-name
 (hy-test-helpers:kill-buffer "DEMO")))
 
@@ -199,7 +200,8 @@
   (with-temp-buffer
 (insert "")
 (goto-char 5)
-(action-key)
+   (let ((enable-local-variables nil))
+  (action-key))
 (should (string= "DEMO" (buffer-name)))
 (should (= 5 (line-number-at-pos (point)
 (hy-test-helpers:kill-buffer "DEMO")))
@@ -382,7 +384,7 @@
 (ert-deftest demo-occur-test ()
   (skip-unless (not noninteractive))
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (should (hact 'kbd-key "C-h h f o Hyperbole RET"))
 (hy-test-helpers:consume-input-events)
@@ -405,7 +407,7 @@
 (ert-deftest demo-factorial-test ()
   (skip-unless (not noninteractive))
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (should (hact 'kbd-key "C-h h a factorial RET"))
 (hy-test-helpers:consume-input-events)
@@ -415,7 +417,7 @@
 (ert-deftest demo-factorial-ebutton-test ()
   (skip-unless (not noninteractive))
   (unwind-protect
-  (progn
+  (let ((enable-local-variables nil))
 (hypb:display-file-with-logo "DEMO")
 (re-search-forward "<(factorial)>")
 (forward-char -5

[elpa] externals/hyperbole 270aab31c7 074/143: Matsl rsw fix more warnings reported by ci/cd (#438)

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 270aab31c7c66c40acc11d155ba8c0b269dc9971
Author: Mats Lidell 
Commit: GitHub 

Matsl rsw fix more warnings reported by ci/cd (#438)
---
 hsys-org-roam.el |  5 ++---
 hyrolo.el| 25 +++--
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/hsys-org-roam.el b/hsys-org-roam.el
index cb2436d221..b0cd08321e 100644
--- a/hsys-org-roam.el
+++ b/hsys-org-roam.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:26-Feb-23 at 11:20:15 by Bob Weiner
-;; Last-Mod: 29-Oct-23 at 16:08:40 by Bob Weiner
+;; Last-Mod:  6-Jan-24 at 00:54:15 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -37,7 +37,7 @@
 
 ;;;###autoload
 (defun hsys-org-roam-consult-grep ()
-  "Prompt for search terms and run consult grep over `org-roam-directory'
+  "Prompt for search terms and run consult grep over `org-roam-directory'.
 Actual grep function used is given by the variable,
 `consult-org-roam-grep-func'."
   (interactive)
@@ -55,4 +55,3 @@ Actual grep function used is given by the variable,
 (provide 'hsys-org-roam)
 
 ;;; hsys-org-roam.el ends here
-
diff --git a/hyrolo.el b/hyrolo.el
index 26edea9cd6..b400dc575b 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod:  5-Jan-24 at 01:29:50 by Bob Weiner
+;; Last-Mod:  6-Jan-24 at 10:02:10 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1871,7 +1871,7 @@ See the command `outline-mode' for more information on 
this mode."
;; Cause use of ellipses for invisible text.
(add-to-invisibility-spec '(outline . t)))
 ;; disable minor mode
-(when outline-minor-mode-cycle
+(when (and (boundp 'outline-minor-mode-cycle) outline-minor-mode-cycle)
   (remove-overlays nil nil 'outline-overlay t))
 (setq line-move-ignore-invisible nil)
 ;; Disable use of ellipses for invisible text.
@@ -1901,12 +1901,18 @@ Calls the functions given by `hyrolo-mode-hook'.
;; the end of the match.  Note this change adds one
;; level to the level count, so `hyrolo-outline-level'
;; decrements it by one.  -- rsw, 2023-11-17
-   outline-level #'hyrolo-outline-level
-   ;; Can't cycle because {TAB} moves to next match
-   outline-minor-mode-cycle nil
-   ;; For speed reasons, don't want to ever font-lock
-   ;; in this mode
-   outline-minor-mode-highlight nil))
+   outline-level #'hyrolo-outline-level)
+
+(when (boundp 'outline-minor-mode-cycle)
+  (setq-local
+   ;; Can't cycle because {TAB} moves to next match
+   outline-minor-mode-cycle nil))
+
+(when (boundp 'outline-minor-mode-highlight)
+  (setq-local
+   ;; For speed reasons, don't want to ever font-lock
+   ;; in this mode
+   outline-minor-mode-highlight nil)))
 
   (use-local-map hyrolo-mode-map)
   (set-syntax-table hyrolo-mode-syntax-table)
@@ -2064,8 +2070,7 @@ A match buffer header is one that starts with 
`hyrolo-hdr-regexp'."
(if (< arg 0)
(beginning-of-line)
  (end-of-line))
-   (let ((found-heading-p)
- (opoint (point)))
+   (let ((found-heading-p))
  (while (and (not (bobp)) (< arg 0))
(while (and (not (bobp))
(progn (hyrolo-hdr-to-first-line-p)



[elpa] externals/hyperbole 1e8006fc19 053/143: Fix more regexps and remove not working visibility check

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 1e8006fc19447e232b1dccf91b2e12c8adfa201a
Author: Mats Lidell 
Commit: Mats Lidell 

Fix more regexps and remove not working visibility check
---
 test/hyrolo-tests.el | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 7052c5fc8c..9856a93147 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod:  1-Jan-24 at 22:06:44 by Mats Lidell
+;; Last-Mod:  1-Jan-24 at 22:38:40 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -43,7 +43,7 @@
   (hyrolo-add "a/b")
   (hyrolo-add "a/b/c")
   (beginning-of-line)
-  (should (looking-at-p "\*\*\*   c")))
+  (should (looking-at-p "\\*\\*\\*   c")))
   (hy-delete-file-and-buffer hyrolo-file
 
 (ert-deftest hyrolo-demo-search-work ()
@@ -650,9 +650,6 @@ Example:
   (should (hact 'kbd-key "h"))
   (end-of-line)
   (should (get-char-property (point) 'invisible))
-  (save-excursion
-(next-line)
-(should (eobp)))
   (goto-char (point-min))
   (should (hact 'kbd-key "a"))
   (should (looking-at-p "^===+$"))



[elpa] externals/hyperbole 34d4e22f28 087/143: Add tests with more file types and outline structure depth

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 34d4e22f280a4840c07dbd05c9b37418e706d433
Author: Mats Lidell 
Commit: Mats Lidell 

Add tests with more file types and outline structure depth
---
 ChangeLog|  13 +++
 test/hyrolo-tests.el | 103 ++-
 2 files changed, 106 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 61f4713b19..29c3685002 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2024-01-16  Mats Lidell  
+
+* test/hyrolo-tests.el
+(hyrolo-tests--forward-same-level-all-file-types-level1-depth2)
+(hyrolo-tests--forward-same-level-all-file-types-level2): Add test
+with more file types and second level headings.
+
+(hyrolo-tests--outline-content-org, hyrolo-tests--outline-content-otl)
+(hyrolo-tests--outline-content-md); Add test content constants.
+
+(hyrolo-tests--gen-kotl-outline): Add depth arg to kotl to generate
+child cells in test data.
+
 2024-01-15  Mats Lidell  
 
 * test/hyrolo-tests.el (hyrolo-tests--forward-same-level-all-file-types-level1)
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 3c4ae188d1..17a8fadba3 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod: 15-Jan-24 at 00:38:13 by Mats Lidell
+;; Last-Mod: 16-Jan-24 at 00:05:00 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -702,15 +702,22 @@ Example:
   (kill-buffer hyrolo-display-buffer)
   (hy-delete-files-and-buffers hyrolo-file-list
 
-(defun hyrolo-tests--gen-kotl-outline (heading body)
+(defun hyrolo-tests--gen-kotl-outline (heading body &optional depth)
   "Generate a temp file with kotl outline structure for hyrolo outline test.
-Make cell start with HEADING and follow by next line BODY."
+Make cell start with HEADING and follow by next line BODY.  With
+optional DEPTH the number of sub cells are created to that depth."
   (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
 (find-file kotl-file)
 (insert heading)
 (kotl-mode:newline 1)
 (insert body)
 (kotl-mode:newline 1)
+(when (and depth (< 0 depth))
+  (dotimes (d depth)
+(kotl-mode:add-child)
+(insert (format "%s %d" heading (1+ d)))
+(kotl-mode:newline 1)
+(insert (format "%s %d" body (1+ d)
 (save-buffer)
 kotl-file))
 
@@ -934,10 +941,40 @@ All files types are present."
   (kill-buffer hyrolo-display-buffer)
   (hy-delete-files-and-buffers hyrolo-file-list
 
-(ert-deftest hyrolo-tests--forward-same-level-org-level2 ()
-  "Verify forward and backward to second level headers with org files."
-  (let* ((content
-  "\
+(ert-deftest hyrolo-tests--forward-same-level-all-file-types-level1-depth2 ()
+  "Verify forward and backward to first level headers and section lines.
+All files types are present with a max depth of 2 of the outline
+structure."
+  :expected-result :failed
+  (let* ((org-file1 (make-temp-file "hypb" nil ".org"
+(hyrolo-tests--gen-outline ?* 
"heading-org" 1 "body-org" 2)))
+ (md-file1 (make-temp-file "hypb" nil ".md"
+   (hyrolo-tests--gen-outline ?# "heading-md" 
1 "body-md" 2)))
+ (otl-file1 (make-temp-file "hypb" nil ".otl"
+(hyrolo-tests--gen-outline ?* 
"heading-otl" 1 "body-otl" 2)))
+ (kotl-file1 (hyrolo-tests--gen-kotl-outline "heading-kotl" 
"body-kotl" 2))
+ (hyrolo-file-list (list org-file1 md-file1 otl-file1 kotl-file1)))
+(unwind-protect
+(progn
+  (hyrolo-grep "body")
+  (should (string= hyrolo-display-buffer (buffer-name)))
+
+  ;; Move forward
+  (dolist (v '("===" "^\\* heading-org 1$" "===" "^# heading-md 1$"
+   "===" "^\\* heading-otl 1$" "===" "^ +1\\. 
heading-kotl$"))
+(should (and (looking-at-p v) (hact 'kbd-key "f"
+  (should (looking-at-p "^ +1\\. heading-kotl$")) ; When on last match 
do not move further
+
+  ;; Move backward
+  (dolist (v '("===" "^\\* heading-otl 1$" "===" "^# heading-md 1$"
+   "===" "^\\* heading-org 1$" "==="))
+(should (and (hact 'kbd-key "b") (looking-at-p v
+  (should (= 1 (line-number-at-pos
+  (kill-buffer hyrolo-display-buffer)
+  (hy-delete-files-and-buffers hyrolo-file-list
+
+(defconst hyrolo-tests--outline-content-org
+  "\
 * h-org 1
 body
 ** h-org 1.1
@@ -950,9 +987,22 @@ body
 body
 ** h-org-2.1
 body
-")
- (org-file1 (make-temp-file "hypb" nil ".org" content))
- (org-file2 (make-temp-file "hypb" nil ".org" content))
+"
+  "Outline content for org files.")
+
+(defconst hyrolo-tests--outline-content-otl
+  (string-replace "org" "otl" hyrolo-tests--outline-content-org)
+  "Outline content for otl files.")
+

[elpa] externals/hyperbole 721ab10894 063/143: hsys-flymake.el improvements; hyrolo-tests.el improvements

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 721ab10894825bf725de4de909602e499080541f
Author: bw 
Commit: bw 

hsys-flymake.el improvements; hyrolo-tests.el improvements

*HyRolo* buffer {n} and {p} improvements across file headers but
not fully finished.
---
 ChangeLog|  21 
 hibtypes.el  |   8 +--
 hsys-flymake.el  |  66 +++
 hui-mouse.el |   3 +-
 hyrolo.el| 108 +
 man/hyperbole.texi   |   6 +--
 test/hyrolo-tests.el | 146 +--
 7 files changed, 216 insertions(+), 142 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b6f5e6b1ee..82e0c02ec3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2024-01-04  Bob Weiner  
+
+* hyrolo.el (hyrolo-org-mode): Force font-lock-mode off in this major mode for 
speed.
+
+* hui-mouse.el (hsys-flymake): Move loading of this library here from 
"hibtypes.el".
+  hsys-flymake.el (hsys-flymake-issue-at-point, 
hsys-flymake-issue-at-point:help):
+Remove this ibtype and its :help function.  Hyperbole uses 'hkey-alist' 
Smart
+Key invocations of functions from this file instead now.
+Also, add documentation of all commands and key bindings.
+
+* test/hyrolo-tests.el: Changed all 'header' to 'heading'.
+(hyrolo-tests--generate-heading-contents-for-tests): Generalized to take
+a 'heading-prefix-char' argument, to allow for markdown outline generation
+as well.
+
+* hyrolo.el (hyrolo-hdr-move-after-p): Fix and improve to handle point
+anywhere within a file header, not just on delim or loc lines.
+(hyrolo-outline-next-visible-heading,
+ hyrolo-outline-previous-visible-heading): Fix to handle file
+headers properly when moving more than one entry at a time.
+
 2024-01-03  Bob Weiner  
 
 * hui-mouse.el (smart-eolp): Change 'hsys-flymake-get-issue-at-point' to
diff --git a/hibtypes.el b/hibtypes.el
index e1e9bee453..b32db16f28 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod:  3-Jan-24 at 23:34:58 by Mats Lidell
+;; Last-Mod:  4-Jan-24 at 22:48:49 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -88,12 +88,6 @@
 ;; them.  Use load instead to ensure are reloaded when resetting
 ;; ibtype priorities.
 
-;;; 
-;;; Keymap with repeat and source buffer control for flymake code linter
-;;; 
-
-(load "hsys-flymake")
-
 ;;; 
 ;;; Jumps to source line from Python traceback lines
 ;;; 
diff --git a/hsys-flymake.el b/hsys-flymake.el
index 09e96159e2..10d167972f 100644
--- a/hsys-flymake.el
+++ b/hsys-flymake.el
@@ -7,7 +7,7 @@
 ;; E-mail:   r...@gnu.org
 ;;
 ;; Orig-Date:31-Dec-23 at 13:54:08
-;; Last-Mod:  4-Jan-24 at 10:18:18 by Mats Lidell
+;; Last-Mod:  4-Jan-24 at 22:51:11 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -21,15 +21,51 @@
 ;;These functions all work in the source code buffer, not the flymake
 ;;diagnostics buffer.
 ;;
-;;We want to load this so the implicit button type defined herein
-;;takes effect, but we don't require `flymake-mode' or
-;;`repeat-mode'.  Instead we leave it to each function to check
-;;whether it is enabled and active in the current buffer.  This way,
-;;if the user never uses `flymake-mode' that library is never loaded
-;;and the implicit button type never triggers.
+;;This library defines the following key bindings and associated functions.
+;;
+;;{C-c C-l t} - `hsys-flymake-toggle' - Global binding to toggle whether
+;;flymake minor mode is enabled in the current buffer.
+;;
+;;The rest of these key bindings are local and enabled only when flymake
+;;minor mode is enabled.
+;;
+;;{C-c C-l d} - `flymake-show-buffer-diagnostics' - Display list of flymake
+;;issues with this buffer.
+;;
+;;{C-c C-l g} - `hsys-flymake-display-this-or-next-issue' - Display issue 
at
+;;point or if no issue there, move to next issue location and display it.
+;;
+;;{C-c C-l i} - `hsys-flymake-insert-issue-at-point' - Insert issue at 
point
+;;on a separate new line below the current line so that its text can be
+;;utilized.
+;;
+;;{C-c C-l l} - `flymake-switch-to-log-buffer' - For developers of new
+;;language flymake backends: Jump to a log of internal flymake processing.
+;;
+;;{C-c C-l n} - `flymake-goto-next-error' - In source buffer, move to next
+;;flymake issue.  Wrap around at the end of the buffer if
+;;`flymake-wrap-around' is non-nil.  Repeat with {n}.
+;;
+;;{C-c C-l p} - `flymake-goto-prev-er

[elpa] externals/hyperbole 29fd0c8540 060/143: Update manual for "hsys-flymake.el" and add to hkey-alist

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 29fd0c8540b8950d9a91f2f3e787dc5337c45cc4
Author: bw 
Commit: bw 

Update manual for "hsys-flymake.el" and add to hkey-alist
---
 ChangeLog  |  18 +++
 hsys-flymake.el|   4 +-
 hui-mouse.el   |  11 +-
 man/hkey-help.txt  |   8 +-
 man/hyperbole.html | 356 ++---
 man/hyperbole.info | Bin 621477 -> 629134 bytes
 man/hyperbole.pdf  | Bin 1373802 -> 1378192 bytes
 man/hyperbole.texi | 145 ++
 8 files changed, 414 insertions(+), 128 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fda5fffae2..b6f5e6b1ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2024-01-03  Bob Weiner  
 
+* hui-mouse.el (smart-eolp): Change 'hsys-flymake-get-issue-at-point' to
+correct 'hsys-flymake-get-issue-at-position' call.
+   (hkey-alist): If in the flymake linter list of issues buffer,
+jump to or show issue at point.
+  man/hkey-help.txt:
+  man/hyperbole.texi (Implicit Button Types): Remove
+'hsys-flymake-issue-at-point' ibtype (use {C-c C-l g} command instead.
+Document new 'hkey-alist' behavior from above.
+* man/hyperbole.texi (Smart Key - Occurrence Matches): Move to proper
+priority order.
+ (Smart Key - Flymake Mode): Add and add table of
+Hyperbole key bindings in source buffer 'flymake-mode'.
+ (Glossary - Flymake): Add.
+ (Implicit Button Types): Remove hsys-flymake ibtype
+since would only apply if no other type applies and this could be
+confusing and inconsistent to users.  Leave it commented out in the
+code so a user can enable it at a higher priority if desired.
+
 * hypb-ert.el (hypb-ert-run-test-at-definition): Fix to edebug function
 when not previously defined.
   test/hypb-ert-tests.el (hypb-ert-tests--edebug-is-called): Make edebug
diff --git a/hsys-flymake.el b/hsys-flymake.el
index a4a1ce61d5..a8734c9acf 100644
--- a/hsys-flymake.el
+++ b/hsys-flymake.el
@@ -7,7 +7,7 @@
 ;; E-mail:   r...@gnu.org
 ;;
 ;; Orig-Date:31-Dec-23 at 13:54:08
-;; Last-Mod:  3-Jan-24 at 03:19:44 by Bob Weiner
+;; Last-Mod:  3-Jan-24 at 13:41:18 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -116,7 +116,7 @@ Issue is inserted into the buffer after the current visible 
line."
 (define-key map "d" 'flymake-show-buffer-diagnostics)
 (define-key map "g" 'hsys-flymake-display-this-or-next-issue)
 (define-key map "i" 'hsys-flymake-insert-issue-at-point)
-(define-key map "l" 'flymake-switch-to-log-buffers)
+(define-key map "l" 'flymake-switch-to-log-buffer)
 (define-key map "n" 'flymake-goto-next-error)
 (define-key map "p" 'flymake-goto-prev-error)
 (define-key map "s" 'flymake-start)
diff --git a/hui-mouse.el b/hui-mouse.el
index 9ebe758b01..39cc36efdc 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:04-Feb-89
-;; Last-Mod:  3-Jan-24 at 02:22:25 by Bob Weiner
+;; Last-Mod:  3-Jan-24 at 13:54:31 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -66,6 +66,9 @@
 (declare-function ert-results-toggle "ext:ert-results")
 (declare-function ert-results-describe-test-at-point "ext:ert-results")
 
+;; Hyperbole functions and keymap for `flymake-mode'
+(declare-function hsys-flymake-get-issue-at-position "hsys-flymake")
+
 ;; Functions from Hyperbole's abstract mail and news interface.
 ;; See "hmail.el"
 (declare-function lmail:delete "hmail")
@@ -402,6 +405,10 @@ Its default value is `smart-scroll-down'.  To disable it, 
set it to
 ((eq major-mode 'kotl-mode)
  . ((kotl-mode:action-key) . (kotl-mode:assist-key)))
 ;;
+;; If in the flymake linter list of issues buffer, jump to or show issue 
at point
+((eq major-mode 'flymake-diagnostics-buffer-mode)
+ . ((flymake-goto-diagnostic (point)) . (flymake-show-diagnostic (point) 
t)))
+;;
 ;; Rdb-mode supports direct selection and viewing of in-memory relational
 ;; databases.  Rdb-mode is available as a part of InfoDock.
 ;; It is not included with Hyperbole.
@@ -2088,7 +2095,7 @@ If key is pressed:
   (eolp)
   ;; If there is a flymake diagnostic issue at eol,
   ;; drop through this clause to handle it later.
-  (hsys-flymake-get-issue-at-point)))
+  (hsys-flymake-get-issue-at-position)))
 (if (eq major-mode 'kotl-mode)
(and (not (kotl-mode:eobp)) (kotl-mode:eolp t))
   (and (not (smart-eobp)) (eolp)
diff --git a/man/hkey-help.txt b/man/hkey-help.txt
index e8505266f6..4af3803640 100644
--- a/man/hkey-help.txt
+++ b/man/hkey-help.txt
@@ -80,11 +80,10 @@ Hyperbole Key Press/Click in Special Modes
   Region Active Yanks region at releaseKills and yanks at 
release
   Company Mode Completion   Displays definitionDispla

[elpa] externals/hyperbole 97f4e12386 023/143: hui--link-possible-types - ensure only 1 specific type per test

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 97f4e12386f170a072ea82316cacea203abe0c7f
Author: bw 
Commit: bw 

hui--link-possible-types - ensure only 1 specific type per test
---
 ChangeLog   |  6 ++
 test/hui-tests.el   | 40 
 test/hy-test-helpers.el |  9 -
 3 files changed, 34 insertions(+), 21 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e4ced2a29c..3d792debff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-12-26  Bob Weiner  
+
+* test/hy-test-helpers.el (hy-test-helpers:ensure-link-possible-type): Add.
+  test/hui-tests.el (hui--link-possible-types): Use above function to ensure
+'hui:link-possible-types' returns one given type only for each test herein.
+
 2023-12-26  Mats Lidell  
 
 * test/hy-test-helpers.el (hy-delete-dir-and-buffer): Add test helper for
diff --git a/test/hui-tests.el b/test/hui-tests.el
index 19ce491b5a..cc67aac880 100644
--- a/test/hui-tests.el
+++ b/test/hui-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:30-Jan-21 at 12:00:00
-;; Last-Mod: 10-Dec-23 at 21:11:07 by Mats Lidell
+;; Last-Mod: 26-Dec-23 at 11:54:57 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -942,7 +942,7 @@ With point on label suggest that ibut for rename."
   (find-file file)
   (org-id-get-create nil)
   (re-search-forward ":ID:")
-  (should (equal (caar (hui:link-possible-types)) 'link-to-org-id)))
+ (hy-test-helpers:ensure-link-possible-type 'link-to-org-id))
   (hy-delete-file-and-buffer file)))
 
   ;; Global Buttonlink-to-gbut
@@ -952,46 +952,46 @@ With point on label suggest that ibut for rename."
 (mocklet ((gbut:file => global-but-file))
   (hui:gibut-create "global" "/tmp")
   (find-file global-but-file)
-  (should (equal (caar (hui:link-possible-types)) 'link-to-gbut)))
+  (hy-test-helpers:ensure-link-possible-type 'link-to-gbut))
   (hy-delete-file-and-buffer global-but-file)))
 
   ;; Explicit Button  link-to-ebut
   (with-temp-buffer
 (ebut:program "label" 'link-to-directory "/tmp")
-(should (equal (caar (hui:link-possible-types)) 'link-to-ebut)))
+(hy-test-helpers:ensure-link-possible-type 'link-to-ebut))
 
   ;; Implicit Button  link-to-ibut
   (with-temp-buffer
 (insert "<[ibut]> - \"/tmp\"")
 (goto-char 5)
-(should (equal (caar (hui:link-possible-types)) 'link-to-ibut)))
+(hy-test-helpers:ensure-link-possible-type 'link-to-ibut))
 
   ;; Bookmarks List   link-to-bookmark
   (with-temp-buffer
 (insert "   bookmark~/bookmarked\n")
 (bookmark-bmenu-mode)
-(should (equal (caar (hui:link-possible-types)) 'link-to-bookmark)))
+(hy-test-helpers:ensure-link-possible-type 'link-to-bookmark))
 
   ;; Info Nodelink-to-Info-node
   (with-temp-buffer
 (insert "(info)node\n")
 (goto-char 5)
 (Info-mode)
-(should (equal (caar (hui:link-possible-types)) 'link-to-Info-node)))
+(hy-test-helpers:ensure-link-possible-type 'link-to-Info-node))
 
   ;; Texinfo Node link-to-texinfo-node
   (with-temp-buffer
 (insert "@node node\n")
 (goto-char 5)
 (texinfo-mode)
-(should (equal (caar (hui:link-possible-types)) 'link-to-texinfo-node)))
+(hy-test-helpers:ensure-link-possible-type 'link-to-texinfo-node))
 
   ;; Mail Reader Message  link-to-mail
   (let ((hmail:reader 'gnus-article-mode))
 (with-temp-buffer
   (gnus-article-mode)
   (mocklet ((rmail:msg-id-get => "msg-id"))
-(should (equal (caar (hui:link-possible-types)) 'link-to-mail)
+(hy-test-helpers:ensure-link-possible-type 'link-to-mail
 
   ;; Directory Name   link-to-directory
   (let ((dir (make-temp-file "hypb" t)))
@@ -1004,15 +1004,15 @@ With point on label suggest that ibut for rename."
   ;; behavior?
   (with-current-buffer (dired dir)
 (goto-char 1)
-(should (equal (caar (hui:link-possible-types)) 
'link-to-directory)))
+(hy-test-helpers:ensure-link-possible-type 'link-to-directory))
   (with-temp-buffer
 (insert dir)
 (goto-char 4)
-(should (equal (caar (hui:link-possible-types)) 'link-to-ibut))) 
;; Expected: link-to-directory
+(hy-test-helpers:ensure-link-possible-type 'link-to-ibut)) ;; 
Expected: link-to-directory
   (with-temp-buffer
 (insert "/ssh:u...@host.org:/home/user/file\n")
 (goto-char 4)
-(should (equal (caar (hui:link-possible-types)) 'link-to-ibut 
;; Expected: link-to-directory
+(hy-test-helpers:ensure-link-possible-type 'link-to-ibut))) ;; 
Expected: link-to-directory
   (hy-delete-dir-and-buffer dir)))
 
   ;; File Namelink-to-file
@@ -1021,15 +1021,15 @@ With point on label suggest that ibut for rename."
 (unwi

[elpa] externals/hyperbole ac7d6ed874 106/143: Remove unused function (#455)

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit ac7d6ed874c043202961146debb2d29bfbfc06d1
Author: Mats Lidell 
Commit: GitHub 

Remove unused function (#455)
---
 ChangeLog| 2 ++
 hmouse-sh.el | 5 +
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 03c9b62577..0a946cc2e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,8 @@
 
 2024-01-20  Mats Lidell  
 
+* hmouse-sh.el (hmouse-move-point-eterm): Remove unused function.
+
 * Cleanup using flycheck resolving info and warning messages.
 
 * Update copyright date of latest updated version to be 2024 for all files
diff --git a/hmouse-sh.el b/hmouse-sh.el
index d652f9daaf..359833e9e1 100644
--- a/hmouse-sh.el
+++ b/hmouse-sh.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 3-Sep-91 at 21:40:58
-;; Last-Mod: 20-Jan-24 at 19:54:28 by Mats Lidell
+;; Last-Mod: 20-Jan-24 at 20:52:12 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -487,9 +487,6 @@ point determined by 
`mouse-select-region-move-to-beginning'."
(error (when (window-valid-p end-w-or-f)
 (select-frame (window-frame end-w-or-f))
 
-(defun hmouse-move-point-eterm (arg-list)
-  (apply 'mouse-move-point arg-list))
-
 (defun hmouse-set-key-list (binding key-list)
   "Define a Hyperbole global minor mode key from KEY-LIST bound to BINDING."
   (mapc (lambda (key) (hkey-set-key key binding)) key-list)



[elpa] externals/hyperbole 29dda66c3e 059/143: Merge remote branch 'rsw' of hyperbole into rsw

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 29dda66c3e14bf38a4852653aa4beb73f28f05ae
Merge: e67d0f733f a08fd67af3
Author: bw 
Commit: bw 

Merge remote branch 'rsw' of hyperbole into rsw
---
 ChangeLog|  16 ++-
 test/hyrolo-tests.el | 289 ++-
 2 files changed, 302 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2f41b2d8d2..fda5fffae2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,7 +28,21 @@
 for the Assist Key when on a Hyperbole button.
   hmouse-drv.el (hkey-help): Update to display proper Assist Key help.
 
-2024-01-02  Mats Lidell  
+2023-01-02  Mats Lidell  
+
+* test/hyrolo-tests.el (hyrolo-tests--level-number)
+(hyrolo-tests--generate-header-contents-for-tests)
+(hyrolo-tests--gen-outline): Add helper for constructing org files for
+tests.
+(hyrolo-tests--outline-next-visible-header)
+(hyrolo-tests--tab-through-matches)
+(hyrolo-tests--outline-hide-show-heading)
+(hyrolo-tests--outline-up-header, hyrolo-tests--edit-entry)
+(hyrolo-tests--outline-next-visible-header-two-sections): Add test for
+working with hyrolo matches.
+(hyrolo-tests--get-file-list-change)
+(hyrolo-tests--get-file-list-wrong-suffice): Add hyrolo tests for
+get-file-list.
 
 * test/hypb-ert-tests.el (hypb-ert-tests--def-at-p)
 (hypb-ert-tests--edebug-is-called): Add tests for hypb-ert.
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 68dac7f64f..9856a93147 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:19-Jun-21 at 22:42:00
-;; Last-Mod: 30-Dec-23 at 23:22:54 by Bob Weiner
+;; Last-Mod:  1-Jan-24 at 22:38:40 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -24,6 +24,7 @@
 (require 'hyrolo-demo)
 (require 'hy-test-helpers "test/hy-test-helpers")
 (require 'hib-kbd)
+(require 'kotl-mode)
 (require 'with-simulated-input)
 
 (declare-function hy-test-helpers:consume-input-events "hy-test-helpers")
@@ -42,7 +43,7 @@
   (hyrolo-add "a/b")
   (hyrolo-add "a/b/c")
   (beginning-of-line)
-  (should (looking-at-p "\*\*\*   c")))
+  (should (looking-at-p "\\*\\*\\*   c")))
   (hy-delete-file-and-buffer hyrolo-file
 
 (ert-deftest hyrolo-demo-search-work ()
@@ -449,5 +450,289 @@ Match a string in the second cell."
   (kill-buffer hyrolo-display-buffer)
   (delete-directory temporary-file-directory
 
+(ert-deftest hyrolo-tests--get-file-list-change ()
+  "Verify a change to hyrolo-file-list is noticed by hyrolo-get-file-list."
+  (let* ((tmp-file (make-temp-file "hypb" nil ".org"))
+ (hyrolo-file-list (list tmp-file)))
+(unwind-protect
+(let ((hl (hyrolo-get-file-list)))
+  (should (= 1 (length hl)))
+  (should (string= (car hl) tmp-file)))
+  (hy-delete-file-and-buffer tmp-file
+
+(ert-deftest hyrolo-tests--get-file-list-wrong-suffice ()
+  "Verify files need to have the proper suffix in hyrolo-file-list."
+  (let ((tmp-file (make-temp-file "hypb" nil)))
+(unwind-protect
+(should-error
+ (let ((hyrolo-file-list (list tmp-file)))
+   ()))
+  (hy-delete-file-and-buffer tmp-file
+
+;; Outline movement tests
+(defun hyrolo-tests--level-number (section depth)
+  "Generate the number for the SECTION at DEPTH.
+
+The format is the section followed by the depth given by the
+sequence up to depth starting from 2.
+  Depth 1:section
+  Depth :  section.2.3.4.."
+  (let (result)
+(dotimes (d depth)
+  (setq result
+(if (= 0 d)
+(number-to-string section)
+  (concat result
+  "."
+  (number-to-string (+ 1 d))
+result))
+
+(defun hyrolo-tests--generate-header-contents-for-tests (header section body 
depth)
+  "Generate the HEADER and BODY contents for the SECTION with DEPTH."
+  (let (result)
+(dotimes (d depth)
+  (setq result
+(concat result
+(make-string (1+ d) ?*) " " header " " 
(hyrolo-tests--level-number section (1+ d)) "\n"
+body " " (hyrolo-tests--level-number section (1+ d)) 
"\n")))
+result))
+
+(defun hyrolo-tests--gen-outline (header sections body depth)
+  "Generate an outline structure suitable for hyrolo outline test.
+
+The contents is constructed with an outline HEADER and BODY text.
+Each is repeated in SECTIONS with one set of hierarchical headers
+to the specified DEPTH.
+
+Example:
+   * header 1
+   body 1
+   ** header 2
+   body 1.2
+   [...]
+   * header 
+   body 
+   ** header .2
+   body .2
+   [...]"
+  (let (result)
+(dotimes (section sections)
+  (setq result
+(concat result
+(hyrolo-tests--generate-header-contents-for-tests header 
(1+ section) body depth
+result))
+
+(ert-deftest hyrolo-tests--outline-next-visible-

[elpa] externals/hyperbole 68564a0f0d 110/143: Enable HyRolo's extended reveal-mode used in *HyRolo* buffer

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 68564a0f0dad26e711f9d3530a317dc37e79690a
Author: Bob Weiner 
Commit: Bob Weiner 

Enable HyRolo's extended reveal-mode used in *HyRolo* buffer

hypb:add-to-invisibility-spec: Add and use wherever
'add-to-invisbility-spec' was.

hyrolo.el (hyrolo-file-suffix-regexp): Allow for suffix .outl
to invoke outline mode in addition to .otl.
---
 ChangeLog |  13 +++
 hload-path.el |   4 +-
 hypb.el   |  19 +++-
 hyrolo.el | 261 +++---
 kotl/kotl-mode.el |   5 +-
 5 files changed, 224 insertions(+), 78 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0ca9e05fde..d7b1509a74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
+2024-01-23  Bob Weiner  
+
+* hyrolo.el (hyrolo-reveal-ignore-this-command, 
hyrolo-reveal-open-new-overlays,
+ hyrolo-reveal-close-old-overlays, reveal-post-command):
+Enable Hyperbole extended version of 'reveal-mode' that supports 
'org-fold'.
+
 2024-01-21  Bob Weiner  
 
+* hypb.el (hypb:add-to-invisibility-spec): Add and use wherever
+'add-to-invisbility-spec' was.
+
+* hload-path.el (auto-mode-alist):
+  hyrolo.el (hyrolo-file-suffix-regexp): Allow for suffix .outl to invoke 
outline
+mode in addition to .otl.
+
 * hmouse-tag.el (smart-emacs-lisp-mode-p ,smart-lisp-mode-p): Change to use
'derived-mode-p' rather than checking for 'major-mode' matches directly.
 (smart-emacs-lisp-mode-p): Add optional 'skip-identifier-flag'.
diff --git a/hload-path.el b/hload-path.el
index b306fc2950..98a5d645a9 100644
--- a/hload-path.el
+++ b/hload-path.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:29-Jun-16 at 14:39:33
-;; Last-Mod: 24-Dec-23 at 00:41:54 by Bob Weiner
+;; Last-Mod: 21-Jan-24 at 23:38:30 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -69,7 +69,7 @@ directory separator character.")
 ;;; Emacs Outline settings for .otl files
 ;;; 
 
-(add-to-list 'auto-mode-alist '("\\.otl\\'" . outline-mode))
+(add-to-list 'auto-mode-alist '("\\.ou?tl\\'" . outline-mode))
 
 ;;; 
 ;;; Hyperbole test importation settings
diff --git a/hypb.el b/hypb.el
index 6d97427a1a..f8eea040a9 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 6-Oct-91 at 03:42:38
-;; Last-Mod: 20-Jan-24 at 20:22:08 by Mats Lidell
+;; Last-Mod: 21-Jan-24 at 23:24:46 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -120,6 +120,23 @@ It must end with a space."
 ;;; Public functions
 ;;; 
 
+;; Adapted from "subr.el" but doesn't add if ELEMENT already exists
+(defun hypb:add-to-invisibility-spec (element)
+  "Add ELEMENT to `buffer-invisibility-spec'.
+See documentation for `buffer-invisibility-spec' for the kind of elements
+that can be added.
+
+If `buffer-invisibility-spec' isn't a list before calling this
+function, `buffer-invisibility-spec' will afterwards be a list
+with the value `(t ELEMENT)'.  This means that if text exists
+that invisibility values that aren't either `t' or ELEMENT, that
+text will become visible."
+  (if (eq buffer-invisibility-spec t)
+  (setq buffer-invisibility-spec (list t)))
+  (unless (member element buffer-invisibility-spec)
+(setq buffer-invisibility-spec
+ (cons element buffer-invisibility-spec
+
 ;;;###autoload
 (defun hypb:activate-interaction-log-mode ()
   "Configure and enable the interaction-log package for use with Hyperbole.
diff --git a/hyrolo.el b/hyrolo.el
index c054a11e35..53ac4b9d3d 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 21-Jan-24 at 10:54:37 by Bob Weiner
+;; Last-Mod: 23-Jan-24 at 18:56:27 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -32,7 +32,7 @@
 (require 'hversion)
 (require 'hmail)
 (require 'hsys-org) ;; For `hsys-org-cycle-bob-file-list'
-(require 'hypb) ;; For `hypb:mail-address-regexp'
+(require 'hypb) ;; For `hypb:mail-address-regexp' and 
`hypb:add-to-invisibility-spec'
 (require 'outline)
 (require 'package)
 (require 'reveal)
@@ -264,7 +264,7 @@ The match is after matching to 
`hyrolo-hdr-and-entry-regexp'.")
 (defconst hyrolo-markdown-suffix-regexp 
"md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn"
   "Regexp matching Markdown file suffixes.")
 
-(defcustom hyrolo-file-suffix-regexp (concat "\\.\\(kotl?\\|org\\|otl\\|"
+(defcustom hyrolo-file-suffix-regexp (concat "\\.\\(kotl?\\|org\\|ou?tl\\|"
 hyrolo-markdown-suffix-regexp 
"\\)$")
   "File suffix regexp used to select files to search with HyRolo."
   :type 'string
@@ -942,6 +942,7 @@ of 

[elpa] externals/hyperbole 84fe259016 064/143: hyrolo.el - Fix *HyRolo* {n} and {p} movement commands

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 84fe259016d14954ea1851d9660a530ae2ac1225
Author: bw 
Commit: bw 

hyrolo.el - Fix *HyRolo* {n} and {p} movement commands

Add backtrace to `hyrolo-file-list' error buffer when within a 'let'.
---
 ChangeLog|  8 ++
 hyrolo.el| 79 +++-
 test/hyrolo-tests.el | 22 ++-
 3 files changed, 65 insertions(+), 44 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 82e0c02ec3..1f4c750361 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,14 @@
+* hyrolo.el (hyrolo-any-file-type-problem-p): If problem occurs within a 'let',
+then show backtrace so know where the let-binding was set.
+
 2024-01-04  Bob Weiner  
 
 * hyrolo.el (hyrolo-org-mode): Force font-lock-mode off in this major mode for 
speed.
+(hyrolo-funcall-match): Add optional arg 'backward-flag' to select
+proper major mode for a *HyRolo* match file when moving backwards.
+  test/hyrolo-tests.el (hyrolo-tests--outline-next-visible-heading,
+
hyrolo-tests--outline-next-visible-heading-two-sections):
+Fix tests to work with fixed {n} and {p} commands.
 
 * hui-mouse.el (hsys-flymake): Move loading of this library here from 
"hibtypes.el".
   hsys-flymake.el (hsys-flymake-issue-at-point, 
hsys-flymake-issue-at-point:help):
diff --git a/hyrolo.el b/hyrolo.el
index 37d78dd560..26edea9cd6 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod:  4-Jan-24 at 22:51:55 by Bob Weiner
+;; Last-Mod:  5-Jan-24 at 01:29:50 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -2074,7 +2074,8 @@ A match buffer header is one that starts with 
`hyrolo-hdr-regexp'."
  (setq found-heading-p
(re-search-backward
 (concat "^\\(?:" outline-regexp "\\)")
-nil 'move)
+nil 'move)))
+   nil t))
(progn (hyrolo-hdr-to-first-line-p)
   (outline-invisible-p
(setq arg (1+ arg)))
@@ -2427,7 +2428,15 @@ package is not installed."
files-no-mode-list)
  (terpri)
  (princ "Please add appropriate entries for the above files to 
`auto-mode-alist'.\n")
- (terpri)))
+ (terpri))
+
+   (when (hyperb:stack-frame '(hyrolo-file-list-changed))
+ ;; Errors occurred with a let of `hyrolo-file-list' so
+ ;; include backtrace of where this occurred.
+ (princ "Stack trace of where invalid files were referenced:\n")
+ (terpri)
+  ;; (setq backtrace-view (plist-put backtrace-view :show-locals t))
+ (backtrace)))
   t)))
 
 (defun hyrolo-buffer-exists-p (hyrolo-buf)
@@ -2846,14 +2855,18 @@ prior to applying FUNC."
   (save-excursion
(funcall func)
 
-(defun hyrolo-funcall-match (func &optional narrow-flag)
+(defun hyrolo-funcall-match (func &optional narrow-flag backward-flag)
   "Apply FUNC with no arguments to the entry at point.
 If on a display match entry or file header, set the appropriate
 major mode based on its source location prior to applying FUNC.
 
 With point in the HyRolo display matches buffer and optional
 NARROW-FLAG non-nil, narrow to the current file of matches
-prior to applying FUNC."
+prior to applying FUNC.
+
+With optional BACKWARD-FLAG, FUNC is moving point backwards; when
+on a file boundary, move point back a character to select the
+proper major mode."
   (let ((display-buf (get-buffer hyrolo-display-buffer)))
 (if (eq (current-buffer) display-buf)
(progn
@@ -2870,7 +2883,11 @@ prior to applying FUNC."
  (when narrow-flag
(narrow-to-region start end))
  (let ((font-lock-mode))
-   (hyrolo-cache-set-major-mode (1+ start))
+   ;; (message "%s" (hyrolo-cache-get-major-mode-from-pos
+   ;; (funcall (if backward-flag '1- '1+) start)))
+   (if (and backward-flag (looking-at hyrolo-hdr-regexp))
+   (hyrolo-cache-set-major-mode (1- start))
+ (hyrolo-cache-set-major-mode (1+ start)))
;; Prevent Org and Outline minor modes from font-locking
(setq font-lock-mode nil)
(funcall func)))
@@ -2887,7 +2904,7 @@ prior to applying FUNC."
  (orgtbl-mode 0))
;; This pause forces a window redisplay that maximizes the
;; entries displayed for any final location of point.
-   (sit-for 0.001)
+   (sit-for 0.0001)
;; Need to leave point on a visible character or since
;; hyrolo u

[elpa] externals/hyperbole 92ee298bf4 111/143: HyRolo - Fix major-mode and reveal-mode issues affecting *HyRolo*

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 92ee298bf42dee517b02e304617b89238b2366be
Author: Bob Weiner 
Commit: Bob Weiner 

HyRolo - Fix major-mode and reveal-mode issues affecting *HyRolo*
---
 ChangeLog   |  28 +++
 hui-mouse.el|  14 +-
 hypb.el |  47 +
 hyrolo-logic.el |   4 +-
 hyrolo.el   | 570 
 kotl/kview.el   |   7 +-
 6 files changed, 452 insertions(+), 218 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d7b1509a74..8bf0975090 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2024-01-28  Bob Weiner  
+
+* hyrolo.el (hyrolo-reveal-open-new-overlays, 
hyrolo-reveal-close-old-overlays):
+Wrap 'funcall' in 'hyrolo-funcall-match' so uses HyRolo outline settings.
+
+2024-01-27  Bob Weiner  
+
+* hyrolo.el (hyrolo-google-contacts-insert-data): Remove local let of (child 
nil).
+(hyrolo-edit, hyrolo-add): Call '(set-auto-mode t)' to change from 
any
+HyRolo-specific major-mode for quick reading to the file's normal mode for 
editing.
+(hyrolo--funcall-with-outline-regexp): Add to avoid setting 
'outline-regexp'
+with a 'let' and call from 'hyrolo-map-matches' and 'hyrolo-funcall-match'.
+
+* hyrolo.el (hyrolo-auto-mode-alist): Add new variable to control major modes 
used
+by files read in for HyRolo searches.
+(hyrolo-find-file-noselect): Remove Org mode-specific logic and 
instead
+utilize 'hyrolo-auto-mode-alist'.
+(hyrolo-outline-mode): Add for use with .ou?tl files with HyRolo.
+(hyrolo-min-matched-level): Ensure never returns less than 1.
+(hyrolo--cache-major-mode): Use `hyrolo-auto-mode-alist' to 
override
+the default `major-mode' used on file entry matches within the *HyRolo* 
buffer.
+  hypb.el (hypb:major-mode-from-file-name): Rename to 
'hyrolo-major-mode-from-file-name'
+and move to "hyrolo.el".  Prefix 'auto-mode-alist' values with those in
+'hyrolo-auto-mode-alist'.
+  hyrolo.el (hyrolo-any-file-type-problem-p): Rename call here of above 
function.
+  hyrolo-logic.el (hyrolo-logic): Change call from 'hyrolo-find-file' to
+'hyrolo-find-file-noselect' to enable use of 'hyrolo-auto-mode-alist'.
+
 2024-01-23  Bob Weiner  
 
 * hyrolo.el (hyrolo-reveal-ignore-this-command, 
hyrolo-reveal-open-new-overlays,
diff --git a/hui-mouse.el b/hui-mouse.el
index 73fd9014ae..512825a8b8 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:04-Feb-89
-;; Last-Mod: 21-Jan-24 at 10:31:44 by Bob Weiner
+;; Last-Mod: 27-Jan-24 at 11:29:19 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1948,12 +1948,12 @@ handled by the separate implicit button type, 
`org-link-outside-org-mode'."
   "Non-nil means outline region was cut and is ready to be pasted at point.")
 
 (eval-after-load "outline"
-  '(mapc (lambda (mode)
-  (add-hook mode (lambda ()
-   (make-local-variable 'smart-outline-cut)
-   ;; Non-nil means outline region was cut
-   ;; and is available to be pasted at point.
-   (setq smart-outline-cut nil
+  '(mapc (lambda (hook-var)
+  (add-hook hook-var (lambda ()
+   (make-local-variable 'smart-outline-cut)
+   ;; Non-nil means outline region was cut
+   ;; and is available to be pasted at point.
+   (setq smart-outline-cut nil
 '(outline-mode-hook outline-minor-mode-hook)))
 
 (defun smart-outline-level ()
diff --git a/hypb.el b/hypb.el
index f8eea040a9..cb4c8052ca 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 6-Oct-91 at 03:42:38
-;; Last-Mod: 21-Jan-24 at 23:24:46 by Bob Weiner
+;; Last-Mod: 27-Jan-24 at 12:39:34 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -741,51 +741,6 @@ then `locate-post-command-hook'."
 current-prefix-arg))
   (locate search-string filter arg))
 
-
-;; Adapted from `set-auto-mode' in "files.el".
-;;;###autoload
-(defun hypb:major-mode-from-file-name (name)
-  "Return `major-mode' function for file NAME from file name alone.
-If no matching rule in `auto-mode-alist' or NAME is invalid,
-return nil."
-  (when (stringp name)
-(let ((remote-id (file-remote-p name))
- (case-insensitive-p (file-name-case-insensitive-p
-  name))
- mode)
-  ;; Remove backup-suffixes from file name.
-  (setq name (file-name-sans-versions name))
-  ;; Remove remote file name identification.
-  (when (and (stringp remote-id)
-(string-match (regexp-quote remote-id) name))
-   (setq name (substring name (match-end 0
-  (while name
-   ;; Find first matching alist entry.
-   (setq mode

[elpa] externals/hyperbole 564c147587 046/143: Add tests for hypb-ert (#429)

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 564c1475877c18ae7a9750ed99620f0303214d7f
Author: Mats Lidell 
Commit: GitHub 

Add tests for hypb-ert (#429)
---
 ChangeLog  |  5 
 test/hypb-ert-tests.el | 63 ++
 2 files changed, 68 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 00ed751672..650a09db5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-01-02  Mats Lidell  
+
+* test/hypb-ert-tests.el (hypb-ert-tests--def-at-p)
+(hypb-ert-tests--edebug-is-called): Add tests for hypb-ert.
+
 2024-01-01  Bob Weiner  
 
 * hypb-ert.el (hypb-ert-def-at-p): Update doc.  Fix grouping ref that was
diff --git a/test/hypb-ert-tests.el b/test/hypb-ert-tests.el
new file mode 100644
index 00..cdc39118f9
--- /dev/null
+++ b/test/hypb-ert-tests.el
@@ -0,0 +1,63 @@
+;;; hypb-ert-tests.el --- tests for hypb-ert-*- 
lexical-binding: t; -*-
+;;
+;; Author:   Mats Lidell
+;;
+;; Orig-Date: 1-Jan-24 at 23:11:54
+;; Last-Mod:  2-Jan-24 at 00:28:42 by Mats Lidell
+;;
+;; SPDX-License-Identifier: GPL-3.0-or-later
+;;
+;; Copyright (C) 2024  Free Software Foundation, Inc.
+;; See the "HY-COPY" file for license information.
+;;
+;; This file is part of GNU Hyperbole.
+
+;;; Commentary:
+;;
+
+;;; Code:
+
+(require 'ert)
+(require 'el-mock)
+(require 'hypb-ert)
+
+(ert-deftest hypb-ert-tests--def-at-p ()
+  "Verify an `ert-deftest' name is identified."
+  (let ((test-name "hypb-ert-tests--test"))
+(with-temp-buffer
+  (insert "(ert-deftest " test-name " ()\n\"Docstring.\"\nt\n)\n")
+
+  (goto-char (point-min))
+  (should-not (hypb-ert-def-at-p))
+
+  (goto-char (1+ (point-min)))
+  (should (string= (hypb-ert-def-at-p) test-name))
+
+  (goto-char (- (line-end-position) 3))
+  (should (string= (hypb-ert-def-at-p) test-name))
+
+  (goto-char (- (line-end-position) 2))
+  (should-not (hypb-ert-def-at-p))
+
+  (end-of-line)
+  (should-not (hypb-ert-def-at-p))
+
+  (goto-char (1+ (point-min)))
+  (pcase-let ((`(,name ,start ,end)
+   (hypb-ert-def-at-p t)))
+(should (string= name test-name))
+(should (string= (buffer-substring start end) test-name))
+
+(ert-deftest hypb-ert-tests--edebug-is-called ()
+  "Verify `edebug-defun' is called when debug-it argument is set."
+  (let ((test-name "hypb-ert-tests--test"))
+(with-temp-buffer
+  (insert "(ert-deftest " test-name " ()\n\"Docstring.\"\nt\n)\n")
+  (emacs-lisp-mode)
+  (goto-char (1+ (point-min)))
+  (mocklet (((edebug-defun) => t)
+((hypb-ert *) => t))
+(hypb-ert-run-test-at-definition test-name t)
+
+(provide 'hypb-ert-tests)
+;;; hypb-ert-tests.el ends here



[elpa] externals/hyperbole 678f62a79d 105/143: hyperbole-web-search: when service is a func, let it prompt for term

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 678f62a79dcf6c5247757ebfe5a81686fab13861
Author: Bob Weiner 
Commit: Bob Weiner 

hyperbole-web-search: when service is a func, let it prompt for term
---
 ChangeLog  |  6 ++
 hsettings.el   | 38 --
 test/hsettings-test.el | 17 +
 3 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1f318178bf..03c9b62577 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-01-20  Bob Weiner  
+
+* hsettings.el (hyperbole-web-search, hyperbole-read-web-search-arguments): 
Update
+to not prompt for search-term if the service is a function rather than a 
string.
+In such cases, the function should prompt for the search term.
+
 2024-01-20  Mats Lidell  
 
 * Cleanup using flycheck resolving info and warning messages.
diff --git a/hsettings.el b/hsettings.el
index 87de9e9e4e..2a51793411 100644
--- a/hsettings.el
+++ b/hsettings.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:15-Apr-91 at 00:48:49
-;; Last-Mod: 20-Jan-24 at 20:18:53 by Mats Lidell
+;; Last-Mod: 20-Jan-24 at 15:05:31 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -160,22 +160,31 @@ ignores current line and always scrolls up or down a 
windowful."
   "Read from the keyboard a list of (web-search-service-string 
search-term-string).
 With optional non-empty SERVICE-NAME and SEARCH-TERM arguments,
 use those instead of reading from the keyboard."
-  (let ((completion-ignore-case t))
+  (let ((completion-ignore-case t)
+   cmd-or-url)
 (while (or (not (stringp service-name)) (equal service-name ""))
   (setq service-name (completing-read "Search service: " 
hyperbole-web-search-alist
  nil t)))
-(while (or (not (stringp search-term)) (equal search-term ""))
-  (setq search-term (read-string (format "Search %s for: " service-name)
-(hyperbole-default-web-search-term
+(setq cmd-or-url (cdr (assoc service-name hyperbole-web-search-alist)))
+(unless (functionp cmd-or-url)
+  (while (or (not (stringp search-term)) (equal search-term ""))
+   (setq search-term (read-string (format "Search %s for: " service-name)
+  (hyperbole-default-web-search-term)
 (list service-name search-term)))
 
 (defun hyperbole-web-search (&optional service-name search-term 
return-search-expr-flag)
-  "Search web SERVICE-NAME for SEARCH-TERM.
-Both arguments are optional and are prompted for when not given or when null.
-With optional RETURN-SEARCH-EXPR-FLAG return the search expression.
-Uses `hyperbole-web-search-alist' to match each service to its search url.
-Uses `hyperbole-web-search-browser-function' and the `browse-url'
-package to display search results."
+  "Search web SERVICE-NAME for SEARCH-TERM (both arguments are optional).
+With optional RETURN-SEARCH-EXPR-FLAG, return the search expression.
+
+Use `hyperbole-web-search-alist' to match each service to its search
+url or function.
+Use `hyperbole-web-search-browser-function' and the `browse-url'
+package to display search results.
+
+If SERVICE-NAME is not given or is null and it is associated with
+a function rather than a search url in `hyperbole-web-search-alist',
+don't prompt for SEARCH-TERM; the function will prompt for that when
+run."
   (interactive)
   (cl-multiple-value-bind (service-name search-term)
   (hyperbole-read-web-search-arguments service-name search-term)
@@ -183,17 +192,18 @@ package to display search results."
  (search-pat (cdr (assoc service-name hyperbole-web-search-alist
  (lambda (service1 service2)
(equal (downcase service1) (downcase 
service2)))
-  (setq search-term (browse-url-url-encode-chars search-term "[*\"()',=;?% 
]"))
+  (unless (null search-term)
+   (setq search-term (browse-url-url-encode-chars search-term 
"[*\"()',=;?% ]")))
   (if return-search-expr-flag
  (cond ((stringp search-pat)
 (format search-pat search-term))
((functionp search-pat)
-(list search-pat search-term))
+(list search-pat))
(t (user-error "(Hyperbole): Invalid web search service `%s'" 
service-name)))
(cond ((stringp search-pat)
   (browse-url (format search-pat search-term)))
  ((functionp search-pat)
-  (funcall search-pat search-term))
+  (funcall search-pat))
  (t (user-error "(Hyperbole): Invalid web search service `%s'" 
service-name)))
 
 ;; This must be defined before the defcustom `inhbit-hyperbole-messaging'.
diff --git a/test/hsettings-test.el b/test/hsettings-test.el
index 380cdfcf3d..f319d58492 100644
--- a/test/hsettings-test.el
+++ b/test/hsettings-test.el
@@ -3,7 +3,7 

[elpa] externals/hyperbole 2c67943e47 084/143: Fix a few warnings/bugs pointed out by the byte-compiler

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 2c67943e47c3fe036879b3a2e280b8a3221170bd
Author: Bob Weiner 
Commit: Bob Weiner 

Fix a few warnings/bugs pointed out by the byte-compiler
---
 ChangeLog | 22 ++
 hbut.el   | 40 +---
 hmouse-tag.el |  6 +++---
 hsys-org.el   |  8 
 hsys-xref.el  |  8 +++-
 hui.el|  6 +++---
 hycontrol.el  | 23 ++-
 hypb.el   |  7 ---
 8 files changed, 74 insertions(+), 46 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 35b0fe694f..5f8290e22d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2024-01-14  Bob Weiner  
+
+* hypb.el (require 'org): Add to define 'org-show-all'.  Fix typo
+missing leading h in 'hsys-org-enable-smart-keys'.
+
+* hsys-org.el (hsys-org-fix-version): Remove unused 'org-dir-version'.
+
+* hsys-xref.el (smart-emacs-lisp-mode-p): Declare this function.
+
+* hycontrol.el (hycontrol-windows-grid-buffer-list): Remove use of
+free variable, 'mode', since this is never called when a specific
+'major-mode' is set.
+
+* hsys-org.el (package): Add (require 'package).
+
+* hmouse-tag.el (smart-tags-display): Fix missed rename of
+'hsys-xref-item-buffer' and 'hsys-xref-item-position'.
+
+* hui.el (hui:ebut-act, hui:ebut-act): Fix 'hui:hbut-operate' call
+to use 'hbut:act' which takes a button argument as opposed to
+'ebut:act' and 'ibut:act' which each take a label argument.
+
 2024-01-13  Mats Lidell  
 
 * test/hbut-tests.el (ebut-program-link-to-directory): Remove test in
diff --git a/hbut.el b/hbut.el
index 678a01cdad..61835a9513 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:18-Sep-91 at 02:57:09
-;; Last-Mod:  7-Jan-24 at 20:13:36 by Bob Weiner
+;; Last-Mod: 14-Jan-24 at 11:55:14 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -2331,29 +2331,31 @@ move to the first occurrence of the button."
 (defunibut:operate (&optional new-name edit-flag)
   "Insert/modify an ibutton based on `hbut:current' in current buffer.
 
-This is for internal Hyperbole use only.  Use `ibut:program' and `ibut:create'
-(an alias of `defib'), if programming applications with Hyperbole.
+This is for internal Hyperbole use only.  Use `ibut:program' and
+`ibut:create' (an alias of `defib'), if programming applications
+with Hyperbole.
 
-IMPORTANT:
-Caller must either call `hbut:at-p' or manually set the attributes of
-`hbut:current' prior to invoking this function, i.e. there must be an
-ibutton stored in memory in `hbut:current prior to invocation.  If point
-is on an existing Hyperbole button, `edit-flag' must be set to t; otherwise,
-this may create a new ibutton inserted within the prior one, making the
-prior one unusable.
+IMPORTANT: Caller must either call `hbut:at-p' or manually set
+the attributes of `hbut:current' prior to invoking this function,
+i.e. there must be an ibutton stored in memory in `hbut:current
+prior to invocation.  If point is on an existing Hyperbole
+button, `edit-flag' must be set to t; otherwise, this may create
+a new ibutton inserted within the prior one, making the prior one
+unusable.
 
-Optional non-nil NEW-NAME is new name to give button.  With optional
-EDIT-FLAG non-nil, modify an existing in-buffer ibutton rather
-than creating a new one.
+Optional non-nil NEW-NAME is new name to give button.  With
+optional EDIT-FLAG non-nil, modify an existing in-buffer ibutton
+rather than creating a new one.
 
-If NEW-NAME is nil, use the active region text as the button name, if any;
-if no such region, then create/modify an unnamed implicit button.
+If NEW-NAME is nil, use the active region text as the button
+name, if any; if no such region, then create/modify an unnamed
+implicit button.
 
-Return instance string appended to name to form a per-buffer unique
-name; nil if name is already unique or no name.  Signal an error when no
-such button is found in the current buffer.
+Return instance string appended to name to form a per-buffer
+unique name; nil if name is already unique or no name.  Signal an
+error when no such button is found in the current buffer.
 
-Summary of operations based on inputs (name arg comes from \\='hbut:current 
attrs):
+Summary of operations based on inputs (name arg from \\='hbut:current attrs):
 
|+--+--++--+---|
 |  # | name | new-name | region | edit | operation 
|
 
|+--+--++--+---|
diff --git a/hmouse-tag.el b/hmouse-tag.el
index 29bf64d525..0809b898bf 100644
--- a/hmouse-tag.el
+++ b/hmouse-tag.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:24-Aug-91
-;; Last-Mod: 13-Jan-24 at 01:29:42 by Bob Weiner
+;; Last-Mod: 14-Jan-24 at 11:58:31 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-o

[elpa] externals/hyperbole 7ad3cabb7e 098/143: Revert "Remove skip guard on test that works in batch mode" (#448)

2024-02-19 Thread ELPA Syncer
branch: externals/hyperbole
commit 7ad3cabb7e179d9636a6750d61dffa18a6805873
Author: Mats Lidell 
Commit: GitHub 

Revert "Remove skip guard on test that works in batch mode" (#448)

This reverts commit 89b24774234c0ad59a0ab51dd47535abcecd95a6.

This change did not work out in CI/CD nor running locally in
docker. Reverting to keep rsw branch healthy.
---
 ChangeLog| 5 -
 test/hui-select-tests.el | 3 ++-
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c4741b6665..2182bb37e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,11 +11,6 @@
   (hsys-org-get-libraries-to-reload): Add to compute wrong
 Org libraries loaded and use in above function.
 
-2024-01-17  Mats Lidell  
-
-* test/hui-select-tests.el (hui-select--thing): Remove not interactive
-guard.
-
 2024-01-16  Mats Lidell  
 
 * Makefile (eln): Use echo target for showing build info as part of the
diff --git a/test/hui-select-tests.el b/test/hui-select-tests.el
index 6a72363fb6..fb3ad9f4eb 100644
--- a/test/hui-select-tests.el
+++ b/test/hui-select-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:14-Apr-22 at 23:45:52
-;; Last-Mod: 16-Jan-24 at 17:57:01 by Mats Lidell
+;; Last-Mod: 23-Nov-23 at 02:12:38 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -82,6 +82,7 @@
 
 (ert-deftest hui-select--thing ()
   "`hui-select-thing' selects bigger sections of text when called repeatedly."
+  (skip-unless (not noninteractive))
   (hui-select-reset)
   (with-temp-buffer
 (insert "Buffer\n\nParagraph\nline.  One word.")



  1   2   3   >