branch: externals/hyperbole
commit 7dea5fdefba63b145f5403244e45f38cafa1f646
Author: bw <[email protected]>
Commit: bw <[email protected]>
hywiki.el - Declare referenced external denote functions
---
hactypes.el | 8 ++++----
hbut.el | 35 ++++++++++++++++++++---------------
hywiki.el | 13 +++++++++----
3 files changed, 33 insertions(+), 23 deletions(-)
diff --git a/hactypes.el b/hactypes.el
index b4eeb092209..58cf1862543 100644
--- a/hactypes.el
+++ b/hactypes.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 23-Sep-91 at 20:34:36
-;; Last-Mod: 28-Jun-26 at 09:48:58 by Bob Weiner
+;; Last-Mod: 10-Jul-26 at 12:29:32 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -536,11 +536,11 @@ the .info suffix in the format with parentheses."
(id-info string)
(hypb:error "(link-to-Info-node): Invalid Info node: `%s'" string)))
-(defact link-to-ibut (name-key &optional key-src point)
- "Activate implicit button given by NAME-KEY, optional KEY-SRC and POINT.
+(defact link-to-ibut (name-key &optional key-src _point)
+ "Activate implicit button given by NAME-KEY, optional KEY-SRC and _POINT.
NAME-KEY must be a normalized key for an ibut <[name]>.
KEY-SRC defaults to the current buffer's file or if there is no
-attached file, then to its buffer name. POINT defaults to the
+attached file, then to its buffer name. _POINT defaults to the
current point.
When the button with this action type is created, point must be
diff --git a/hbut.el b/hbut.el
index ba122259a0e..8769bb651d1 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,11 +3,11 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 18-Sep-91 at 02:57:09
-;; Last-Mod: 25-Jun-26 at 17:06:59 by Bob Weiner
+;; Last-Mod: 10-Jul-26 at 12:26:12 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
-;; Copyright (C) 1991-2025 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2026 Free Software Foundation, Inc.
;; See the "HY-COPY" file for license information.
;;
;; This file is part of GNU Hyperbole.
@@ -82,10 +82,21 @@ Use the function, (hbut:max-len), to read the proper
value.")
;; Move up internal defconst to appear before their use
(defconst ebut:label-start "<("
"String matching the start of a Hyperbole explicit hyper-button.")
-
(defconst ebut:label-end ")>"
"String matching the end of a Hyperbole explicit hyper-button.")
+(defconst ibut:label-start "<["
+ "String matching the start of a Hyperbole implicit button optional name.")
+(defconst ibut:label-end "]>"
+ "String matching the end of a Hyperbole implicit button optional name.")
+
+(defconst hbut:label-delimiters-regexp
+ (format (concat "%s[^][()<>\"]+\\([\n\r][^][()<>\"]*\\)?%s"
+ "\\|%s[^][()<>\"]+\\([\n\r][^][()<>\"]*\\)?%s")
+ (regexp-quote ibut:label-start) (regexp-quote ibut:label-end)
+ (regexp-quote ebut:label-start) (regexp-quote ebut:label-end))
+ "Regular expression matching ibut names and ebut text/labels.")
+
(defconst hbut:instance-sep ":"
"String of one character, separates an ebut label from its instance num.")
@@ -2172,9 +2183,6 @@ If a new button is created, store its attributes in the
symbol,
[&optional ["&optional" arg &rest arg]]
&optional ["&rest" arg])))
-(defvar ibut:label-start)
-(defvar ibut:label-end)
-
(defun ibut:delete (&optional but-sym)
"Delete Hyperbole implicit button based on optional BUT-SYM.
If it is a named button, delete all occurrences in the buffer; otherwise,
delete
@@ -3031,12 +3039,6 @@ Return the symbol for the button if found, else nil."
(when (ibut:is-p ibut)
(hattr:get ibut 'categ)))
-;;; ------------------------------------------------------------------------
-(defconst ibut:label-start "<["
- "String matching the start of a Hyperbole implicit button optional name.")
-(defconst ibut:label-end "]>"
- "String matching the end of a Hyperbole implicit button optional name.")
-
;;; ========================================================================
;;; ibtype class - Implicit button types
;;; ========================================================================
@@ -3133,9 +3135,12 @@ regular expression. Hyperbole automatically creates a
doc string
for the type but you can override this by providing an optional
DOC string.
-TEXT-REGEXP must match to the text found between a button's delimiters
-in order for this type to activate. The matched text is applied
-to LINK-EXPR to produce the link's referent, which is then displayed.
+TEXT-REGEXP must match to part of the text found between a button's
+delimiters in order for this type to activate; to ensure it matches
+to the full text, start the REGEXP with \"\\`\" and end it with
+\"\\'\", to match to the start and end of string. The matched text
+is applied to LINK-EXPR to produce the link's referent, which is then
+displayed.
LINK-EXPR may be:
(1) a brace-delimited key series;
diff --git a/hywiki.el b/hywiki.el
index 5cb3f259889..290cfd5578a 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 21-Apr-24 at 22:41:13
-;; Last-Mod: 10-Jul-26 at 12:07:53 by Bob Weiner
+;; Last-Mod: 10-Jul-26 at 12:24:52 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -170,9 +170,9 @@
(declare-function Info-current-filename-sans-extension "hui-mouse")
(declare-function Info-read-index-item-name "hui-mouse")
-(declare-function activities-completing-read "activities" (:prompt prompt
:default default))
-(declare-function activities-new "activities" (name))
-(declare-function activities-resume "activities" (activity :resetp resetp))
+(declare-function activities-completing-read "ext:activities" (:prompt prompt
:default default))
+(declare-function activities-new "ext:activities" (name))
+(declare-function activities-resume "ext:activities" (activity :resetp resetp))
(declare-function bookmark-completing-read "bookmark" (prompt &optional
default))
(declare-function bookmark-location "bookmark" (bookmark-name-or-record))
(declare-function consult--async-command "ext:consult")
@@ -183,6 +183,11 @@
(declare-function consult--async-throttle "ext:consult")
(declare-function consult--lookup-member "ext:consult")
(declare-function consult--read "ext:consult")
+(declare-function denote-file-prompt "ext:denote")
+(declare-function denote-get-link-description "ext:denote")
+(declare-function denote-get-path-by-id "ext:denote")
+(declare-function denote-open-or-create "ext:denote")
+(declare-function denote-retrieve-filename-identifier "ext:denote")
(declare-function hsys-org-at-tags-p "hsys-org")
(declare-function hyperbole-mode "hyperbole")
(declare-function hyrolo-fgrep "hyrolo")