Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
2026-05-10 Bob Weiner <rsw@gnu.org>

* hyrolo.el (hyrolo-set-date): Change edit date to replace date without
changing whitespace around it.

2026-05-06 Bob Weiner <rsw@gnu.org>

* hywiki.el (hywiki-word-read-new, hywiki.el (hywiki-page-read-new):
Update to allow inputs only if they match 'hywiki-word-regexp'.

2026-05-06 Mats Lidell <matsl@gnu.org>

* test/hyrolo-tests.el (hyrolo-tests--grep-or-fgrep):
Expand Down
115 changes: 115 additions & 0 deletions HY-NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,121 @@
===========================================================================
* V9.0.2pre
===========================================================================

** ACE WINDOW PACKAGE INTEGRATION - fast window and buffer switching

*** OLD - After installing the ace-window package and loading Hyperbole, execute
(hkey-ace-window-setup "\M-o") to enable the following capabilities:

*** OLD - Fast Window Links: The hkey-window-link command quickly creates links
to other windows:

{M-o w <window>} - creates an explicit button linked to point in <window>

See "(hyperbole)Create Link Button".


** ACTION AND ASSIST (SMART) KEYS (See "(hyperbole)Smart Keys").

*** OLD - Angle Bracket and Braces Thing Selection: In text and fundamental modes,


** ACTION TYPES (See "(hyperbole)Action Types").

*** OLD - display-boolean, display-value, display-variable: Made all of these


** DOCUMENTATION

*** OLD - Hyperbole Concepts: New writeup in Koutline format for those who

*** OLD - Emacs 2023 Talk Videos:

- Hyperbole Amps Up Emacs: Org slide file is included in

*** OLD - Emacs 2022 Talk Videos:

- Hyperbole and Org Mode: Org slide file is included in

*** OLD - FAST-DEMO: Add <hyperbole-run-tests hyrolo> ERT multiple test run
example.

*** OLD - New Menu Key Doc: Documented these Hyperbole minibuffer menu keys:

- {Q} always quits from the menu without selecting anything

- {X} both quits from the menu and disables Hyperbole minor
mode; {C-h h} re-enables it. See "(hyperbole)menu,
entry/exit commands".

*** OLD - Updated 150-page Reference Manual: Includes multiple indexes for easy
cross-referencing, Info viewer version and PDF for printing. View it:

- with the Emacs Info reader: {C-h h d i}.


** EXPLICIT BUTTONS (See "(hyperbole)Explicit Buttons").

*** OLD - Ebut/Link Menu Item {C-h h e l}: Inserts a named ebutton that links to


** GLOBAL BUTTONS (See "(hyperbole)Global Buttons").

*** OLD - Gbut/Link Menu Item: A single name creates a new global link button


** HYCONTROL (See "(hyperbole)HyControl").

*** OLD - I/J/K/M Key Bindings: In Window Control mode, move directionally


** HYPERBOLE SYSTEM (See "(hyperbole)").

*** OLD - Any Colorized Display: Face display and colorization of Hyperbole


** HYROLO (See "(hyperbole)HyRolo").

*** OLD - Koutline and Markdown File Support: The `hyrolo-file-list' can now


** KOUTLINER (See "(hyperbole)Koutliner").

*** OLD - New Klink Format: Hash character, #, may now be used to separate a


** MENUS (See "(hyperbole)Menus").

*** OLD - Minibuffer Menu Changes:

- Instant Link Creation:

Ebut/Link - Inserts a named ebutton that links to point in another
window. See "(hyperbole)menu item, Ebut/Link".


** PROGRAMMING INTERFACE CHANGES (See "(hyperbole)Embedding Hyperbole").

*** OLD - hui:ebut-link-directly:
hui:gbut-link-directly:
hui:ibut-link-directly: Instant direct Hyperbole links.


** ORG MODE INTEGRATION (See "(hyperbole)Smart Key - Org Mode").

*** OLD - {C-c /}: The Hyperbole {C-c /} web search binding defers to the org-mode


** TEST CASES (See "${hyperb:dir}/test").

*** OLD - Hyperbole Automated Testing: Over 400 automated test cases. Simply run


** WINDOW GRIDS (See "(hyperbole)grid of windows").

*** OLD - Grid by File Pattern: Fixed so prompt for a string pattern rather than


===========================================================================
* V9.0.1
===========================================================================
Expand Down
86 changes: 48 additions & 38 deletions HY-WHY.kotl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"hib-doc-id.el". (Use the Action Key to activate any
cross-reference herein).

2. Action Key click to follow URLs with section links, Markdown
2. Action Key press to follow URLs with section links, Markdown
links, Emacs outline heading links, Org mode links, file and
directory links and program identifier references.
See "DEMO#HTML Markdown and Emacs Outline Hash Links".
Expand All @@ -17,11 +17,11 @@
of Contents Browsing".

4. Display and edit local or remote files and directories simply by
pressing on their names. Hyperbole will automatically embed
certain key variables in link pathnames so that as these links
are moved from site to site and the variable values change at
each site, the links are properly maintained. See "DEMO#Path
Suffixes and Variables" and "DEMO#Path Prefixes".
pressing on their names in any kind of buffer. Hyperbole will
automatically embed certain key variables in link pathnames so
that as these links are moved from site to site and the variable
values change at each site, the links are properly maintained.
See "DEMO#Path Suffixes and Variables" and "DEMO#Path Prefixes".

5. Automatically translate POSIX and MSWindows paths within buffers
or links to the right format for the current operating system,
Expand All @@ -44,40 +44,48 @@
(Remote) References" and "DEMO#Git (Local) References".

9. Full-text search for any contact-related information across
thousands of contacts in under a second. The fastest contact
manager you have ever used, with hierarchical entries so you can
easily find everyone on a particular team or within an
organization. Then collapse all matches to a single line each
while still seeing name, phone number and email information.
Edit entries with a single key press. See "DEMO#HyRolo".

10. Select regions of structured text or source code to copy or
thousands of contacts in under a second, using Org, Emacs
outline, Koutline or Markdown files for hierarchical contact
storage. HyRolo is the fastest contact manager you have ever
used, with hierarchical entries so you can easily find everyone
on a particular team or within an organization. Then collapse
all matches to a single line each while still seeing name, phone
number and email information. Edit entries with a single key
press. See "DEMO#HyRolo".

10. With Consult and HyRolo, you can find hierarchical records
across thousands of files rapidly and treat the matching results
like an expandable/collapsible outline.

11. Select regions of structured text or source code to copy or
move them between buffers with a single mouse drag or two key
presses. These selectable things include: delimited pairs of
(), @{@}, <>, [] and quote marks, source code functions, source
(), {}, <>, [] and quote marks, source code functions, source
code comments and matching tag pairs in HTML and SGML modes.
See "DEMO#Thing Selection".

11. Use the fantastic, auto-numbered Koutliner with per-item links
12. Use the fantastic, auto-numbered Koutliner with per-item links
and rapidly changeable views. See "DEMO#Koutliner".

12. Rapid control over what is displayed in each window and frame
with mouse drags and the Hyperbole HyControl system. See
"DEMO#HyControl".
13. Rapid, repeatable control over what is displayed in each window
and frame with the Hyperbole HyControl system. See
"DEMO#HyControl". Sequences of HyControl keys surrounded by {}
can be embedded in text and programming buffers to setup
displays as desired.

12a. Drag Button Referents, Buffer Menu, Dired or Treemacs items
13a. Drag Button Referents, Buffer Menu, Dired or Treemacs items
to other windows to display them wherever you want.
Integrate with the Ace Window package to `throw' items to
specific windows with quick key sequences. See
"DEMO#Displaying Items via Drags and Moving Buffers".

12b. Drag-and-drop text regions across Emacs frames. See
13b. Drag-and-drop text regions across Emacs frames. See
"DEMO#Thing Selection".

12c. Swap buffers in windows across frames with a mouse drag.
13c. Swap buffers in windows across frames with a mouse drag.
See "DEMO#Swapping Buffers".

12d. With one command, rapidly create a grid of tiled windows
13d. With one command, rapidly create a grid of tiled windows
displaying either selected buffers, buffers with a specific
major mode or the most recently used buffer list, e.g.
{63 C-c @} creates 6 rows, each with 3 columns of windows (18
Expand All @@ -87,22 +95,22 @@
same above command to display them in a grid of windows. See
"DEMO#Windows Grid".

12e. Use a quick mouse key press to scroll any window line to the
top or bottom of a window, to see exactly what you want on
screen. See "DEMO#Smart Scrolling".
13e. Use a quick key press at the end of any window line to scroll
it to the top or bottom of a window, to see exactly what you
want on screen. See "DEMO#Smart Scrolling".

12f. Clone or tear off a window into its own frame with a quick
13f. Clone or tear off a window into its own frame with a quick
mouse drag. See "DEMO#Cloning Windows".

12g. Each frame can store a series of window configurations
13g. Each frame can store a series of window configurations
(layouts) which support working with sets of buffers and
rapidly moving among them. See "DEMO#Window Configuration
Drags".

12h. Easily adjust the height and width of windows and frames as
13h. Easily adjust the height and width of windows and frames as
needed. See "DEMO#Frame Commands".

12i. Quick clicks on different areas of a buffer's modeline will
13i. Quick clicks on different areas of a buffer's modeline will
rotate through your working list of buffers, changing what
each window displays. A popup menu gives you quick access to
Hyperbole commands plus frame, window and buffer selection
Expand All @@ -112,23 +120,23 @@


"ben" ;; kvspec:current
38 ;; id-counter
44 ;; id-counter
alpha ;; label-type
4 ;; label-min-width
". " ;; label-separator
3 ;; level-indent

;; depth-first kcell attributes
[[0
(idstamp 0 creator "rsw@gnu.org" create-time "20190512:130:33:52" id-counter 38 file "/Users/bk/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
(idstamp 0 creator "rsw@gnu.org" create-time "20190512:130:33:52" id-counter 44 file "/Users/bk/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
[1
(rear-nonsticky t no-fill t create-time "20160524:15:04:17" creator "rsw@gnu.org" idstamp 1 kcell t)]
[17
(rear-nonsticky t no-fill t create-time "20160809:03:31:21" creator "rsw@gnu.org" idstamp 17 kcell t)]
[36
(rear-nonsticky t no-fill t create-time "20171114:23:37:20" creator "rsw@gnu.org" idstamp 36 kcell t)]
[2
(rear-nonsticky t no-fill t create-time "20160524:15:04:24" creator "rsw@gnu.org" idstamp 2 kcell t)]
(rear-nonsticky t create-time "20160524:15:04:24" creator "rsw@gnu.org" idstamp 2 kcell t)]
[38
(rear-nonsticky t no-fill t create-time "20190512:131:21:14" creator "rsw@gnu.org" idstamp 38 kcell t)]
[31
Expand All @@ -138,13 +146,15 @@ alpha ;; label-type
[34
(rear-nonsticky t no-fill t create-time "20171114:23:24:57" creator "rsw@gnu.org" idstamp 34 kcell t)]
[9
(rear-nonsticky t no-fill t create-time "20160530:15:05:18" creator "rsw@gnu.org" idstamp 9 kcell t)]
(rear-nonsticky t create-time "20160530:15:05:18" creator "rsw@gnu.org" idstamp 9 kcell t)]
[39
(creator "rsw@gnu.org" create-time "20260425:21:42:11")]
[16
(rear-nonsticky t no-fill t create-time "20160613:15:07:27" creator "rsw@gnu.org" idstamp 16 kcell t)]
[1
(rear-nonsticky t no-fill t create-time "20160524:15:04:17" creator "rsw@gnu.org" idstamp 1 kcell t)]
[6
(rear-nonsticky t no-fill t create-time "20160524:15:32:11" creator "rsw@gnu.org" idstamp 6 kcell t)]
[42
(creator "rsw@gnu.org" create-time "20260425:22:14:31")]
[20
(rear-nonsticky t no-fill t create-time "20171019:22:07:29" creator "rsw@gnu.org" idstamp 20 kcell t)]
[20
Expand All @@ -154,7 +164,7 @@ alpha ;; label-type
[22
(rear-nonsticky t no-fill t create-time "20171024:13:41:50" creator "rsw@gnu.org" idstamp 22 kcell t)]
[22
(rear-nonsticky t no-fill t create-time "20171024:13:41:50" creator "rsw@gnu.org" idstamp 22 kcell t)]
(rear-nonsticky t create-time "20171024:13:41:50" creator "rsw@gnu.org" idstamp 22 kcell t)]
[15
(rear-nonsticky t no-fill t create-time "20160613:15:05:40" creator "rsw@gnu.org" idstamp 15 kcell t)]
[21
Expand All @@ -163,4 +173,4 @@ alpha ;; label-type
(rear-nonsticky t no-fill t create-time "20171114:21:36:09" creator "rsw@gnu.org" idstamp 30 kcell t)]
[8
(rear-nonsticky t no-fill t create-time "20160526:02:56:59" creator "rsw@gnu.org" idstamp 8 kcell t)]
nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]
nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]
6 changes: 3 additions & 3 deletions hsys-consult.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 4-Jul-24 at 09:57:18
;; Last-Mod: 11-Apr-26 at 19:35:22 by Bob Weiner
;; Last-Mod: 6-May-26 at 08:17:25 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
Expand Down Expand Up @@ -189,13 +189,13 @@ prompt."

(defun hsys-consult-grep-headlines-read-regexp (grep-function prompt
&optional regexp)
"With `consult', use GREP-FUNCTION and PROMPT to completing read.
"With `consult', use GREP-FUNCTION and PROMPT for completing read.
The optional REGEXP is an initial pattern for the grep. Suppress
preview and return the selected \"file:line:line-contents\".
GREP-FUNCTION must take these arguments: regexp max-matches path-list
prompt.

Without `consult', just read a REGEXP with PROMPT."
Without `consult', just read a match for REGEXP with PROMPT."
(if (hsys-consult-active-p)
(substring-no-properties
(hsys-consult-get-exit-value
Expand Down
11 changes: 6 additions & 5 deletions hyrolo.el
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 7-Jun-89 at 22:08:29
;; Last-Mod: 13-Apr-26 at 22:46:49 by Bob Weiner
;; Last-Mod: 10-May-26 at 11:09:23 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
Expand Down Expand Up @@ -724,7 +724,7 @@ matches."

;;;###autoload
(defun hyrolo-fgrep (string &optional max-matches hyrolo-files-or-bufs count-only headline-only no-display)
"Display rolo entries matching STRING or a logical match expression.
"Display HyRolo entries matching STRING or a logical match expression.
Return count of matches.

To a maximum of optional prefix arg MAX-MATCHES, in file(s) from optional
Expand Down Expand Up @@ -3356,10 +3356,11 @@ The date format is determined by the setting, `hyrolo-date-format'."
(hyrolo-to-entry-end)
(skip-chars-backward " \t\n\r\f")
(skip-chars-backward "^\n\r\f")
(if (looking-at "\\s-+[-0-9./]+\\s-*$") ;; a date
(if (looking-at "\\s-+\\([-0-9./]+\\)\\s-*$") ;; a date
;; edit date
(progn (delete-region (point) (match-end 0))
(insert "\t" (hyrolo-current-date)))
(progn (goto-char (match-beginning 1))
(delete-region (match-beginning 1) (match-end 1))
(insert (hyrolo-current-date)))
(unless edit-only-flag
;; add date
(end-of-line)
Expand Down
Loading