Skip to content

Commit

Permalink
Merge pull request #405 from rswgnu/rsw
Browse files Browse the repository at this point in the history
Many small fixes and doc updates prior to V9 release
  • Loading branch information
rswgnu authored Nov 21, 2023
2 parents 3049d58 + 16f13e3 commit c371a2d
Show file tree
Hide file tree
Showing 22 changed files with 8,961 additions and 11,033 deletions.
69 changes: 69 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,72 @@
2023-11-21 Bob Weiner <[email protected]>

* hui-select.el (hui-select-initialize): Fix to set 'syntax-table-sym'
and 'keymap-sym' locally within the function rather than globally
which would affect modes beyond those in 'hui-select-markup-modes'.
(hui-select-goto-matching-delimiter): If the key that
invokes this command in hyperbole-minor-mode is also bound in the
current major mode map, then interactively invoke that command
instead. Typically prevents clashes over {C-c .}. Previously
did this only for 'org-mode' but 'kotl-mode' also has a conflict
that this fixes.
(hui-select-thing): Apply the same above fix for
{C-c RET}, {C-c C-m}.
hui-mini.el (hui-search-web): Apply the same above fix for {C-c /}.
hycontrol.el (hycontrol-windows-grid): Apply the same above fix for
{C-c @} and fix 'outline-minor-mode' handling as a prefix keymap.
HY-NEWS (HYPERBOLE SYSTEM): Document the above fix.

2023-11-19 Bob Weiner <[email protected]>

* test/demo-tests.el: Fix a number of these tests to be a bit more
robust and/or simpler.

* TAGS: Remove from git but keep including in packages and tarballs.

* hycontrol.el (hycontrol-windows-grid): Update to defer to outline
mode keybindings in much fewer contexts. Most windows-grid prefix
args cannot be used by these modes, so execute the windows-grid
command rather than deferring to these modes.

* hypb.el (hypb:display-file-with-logo): Fix banner insertion if buffer
is read-only when created.

* hycontrol.el (hycontrol-windows-grid-by-file-pattern): Fix to error
when num-files or grid-size is zero.

* FAST-DEMO (Implicit Buttons, Hyperbole Explicit and Global Buttons):
Update to document implicit and explicit link button creation with
two or more windows on screen.

* man/hyperbole.texi (HyRolo Settings): Document hyrolo-file-list
support for wildcards, variables and directories.

* hyrolo.el (hyrolo-expand-path-list):
hpath.el (hpath:expand-list): Expand file wildcards only when
'find-file-wildcards' is non-nil and document this.

* hmouse-tag.el (smart-lisp-at-known-identifier-p,
smart-lisp-find-tag,
smart-lisp-at-definition-p): Add support for 'ert-deftest'
definitions.
(smart-entire-tags-table-list): Add to compute full list
of tags tables to use. Use in 'smart-tags-display' and in
'smart-tags-find-p'.
(smart-tags-find-p): Fix that an existing 'tags-table-list'
was overriding 'smart-tags-file-list'.
HY-NEWS (ERT Test Case Symbols Jump to Definition): Document new smart
tags support for ert test case symbols.

* Makefile (LET_VARIABLES): Add to batch tests to automatically enable
local variables in Hyperbole files that are tested.

* kotl/kotl-mode.el (kotl-mode:split-cell): Remove any whitespace around
point before splitting the cell.

* HY-CONCEPTS.kotl: Expand and improve button descriptions
FAST-DEMO: Add pointers to "HY-CONCEPTS.kotl", default to Org mode with
Smart Keys active.

2023-11-17 Bob Weiner <[email protected]>

* test/hyrolo-tests.el (hyrolo-sort-records-at-different-levels): Add
Expand Down
54 changes: 37 additions & 17 deletions FAST-DEMO
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
;;; -*- Mode: org; org-cycle-global-at-bob: t; hsys-org-enable-smart-keys: t -*-

* GNU Hyperbole Fast Demo by Bob Weiner

Send an email or a testimonial if you like Hyperbole to <[email protected]>.

This demo is the fast way to get started with Hyperbole after installation.
The prior, lengthier Hyperbole demo/tutorial can be found in this file: "DEMO".
For a non-interactive introduction to Hyperbole concepts, see "HY-CONCEPTS.kotl".


* Introductory Videos

Expand Down Expand Up @@ -113,12 +117,23 @@
You can simply type implicit buttons into a buffer or you can use {C-h h i
c} to create them and give them names. To create an implicit link button
from a buffer in one window to another, simply depress the Assist Mouse
Key where you want the new button (but not within a draggable item), drag
to a point in another Emacs window and release. An implicit link button
of an appropriate type for the release context will be inserted at the
original depress point.
Key (not the Action Mouse Key) where you want the new button (but not
within a draggable item), drag to a point in another Emacs window and
release. An implicit link button of an appropriate type for the release
context will be inserted at the original depress point.

If you have exactly two Emacs windows in your current frame or exactly two
windows visible across two Emacs frames, there is an even simpler way to
create implicit links. Use the Link menu item, {C-h h i l}, to create a
new unnamed implicit link button or to edit the one at point. {C-u C-h h
i l} will additionally prompt to add a name or rename the button at
point. With more than two windows, Hyperbole will prompt you to choose
the referent window and its associated point to which to link. If the Ace
Window package is installed and active, this will be used to choose the
window; otherwise, you will be prompted to select it by mouse.

* Pathname Implicit Buttons

** Pathname Implicit Buttons

"HY-NEWS#ORG MODE:2:6" - outline section anchor & relative line number

Expand Down Expand Up @@ -164,7 +179,7 @@
be more Info links below.


* Key Series Implicit Buttons
** Key Series Implicit Buttons

A key series is an arbitrary length set of Emacs keystrokes surrounded by
braces, like a visual keyboard macro. RET, SPC and ESC are translated
Expand Down Expand Up @@ -215,7 +230,7 @@
Buffer list of directory buffers only


* Posix/Linux Shell Command Implicit Buttons
** Posix/Linux Shell Command Implicit Buttons

Some of the below commands require recursive use of the minibuffer, so let's
ensure that is enabled:
Expand Down Expand Up @@ -252,20 +267,20 @@
command.


* Grep Messages, Stack Traces, Man Page Apropos Implicit Buttons
** Grep Messages, Stack Traces, Man Page Apropos Implicit Buttons

These implicit buttons typically appear in shell buffers. You issue a
shell command and then use {M-RET} or SHIFT-MIDDLE-MOUSE on the output
lines of the command to display the associated reference.

** grep -n gbut:label-list *.el
*** grep -n gbut:label-list *.el
hactypes.el:454: (mapcar #'list (gbut:label-list))
hbut.el:605: (mapcar #'list (gbut:label-list))

An Action Key press anywhere on the text of the two above output lines
from a grep -n or a ripgrep command jumps to the referenced line.

** python topwin.py
*** python topwin.py
Traceback (most recent call last):
File "topwin.py", line 18, in <module>
import Quartz
Expand All @@ -274,7 +289,7 @@ Traceback (most recent call last):
the source of the error. You can jump into any stack frame this way
when debugging from pretty much any language, even in a regular shell.

** man -k spell
*** man -k spell
aspell(1) - interactive spell checker
aspell-import(1) - import old personal dictionaries into GNU Aspell
pspell-config(1) - prints information about a libpspell installation
Expand All @@ -283,7 +298,7 @@ pspell-config(1) - prints information about a libpspell installation
the associated man documentation page.


* Action Buttons
** Action Buttons

These are a generalized form of implicit buttons.

Expand Down Expand Up @@ -314,7 +329,7 @@ pspell-config(1) - prints information about a libpspell installation
cell clipped to 2.


* Many More Implicit Button Types to Learn Across Time
** Many More Implicit Button Types to Learn Across Time

Activate this button, <emacs-lisp-mode>, to set this buffer into Emacs Lisp
mode. Then an Action Key press on each of the implicit button types below
Expand Down Expand Up @@ -362,8 +377,11 @@ learn how to create new kinds of implicit button and action types, see:
hyperbuttons, there is no markup language to learn nor specific document
format required. You can create explicit buttons with simple keyboard
presses or mouse drags from one window to another (when not on a draggable
item). See the {C-h h e} menu for explicit button commands. See
"DEMO#Explicit Buttons" or "(hyperbole)Explicit Buttons" for more detail.
item). See the {C-h h e} menu for explicit button commands.
{C-h h e c} creates an explicit button and {C-h h e l} creates an explicit
link button between two windows, just like their counterparts for implicit
butons. See "DEMO#Explicit Buttons" or "(hyperbole)Explicit Buttons" for
more detail.

`Global buttons' are labeled Hyperbole buttons in your personal button
file, {C-h h b p}. All global buttons are activated by name with
Expand Down Expand Up @@ -415,7 +433,10 @@ learn how to create new kinds of implicit button and action types, see:
* Reference Documentation

As noted at the start, "DEMO" provides a more extensive, interactive look
into Hyperbole.
into Hyperbole, {C-h h d d}.

For a quick, non-interactive introduction to Hyperbole concepts, use
"HY-CONCEPTS.kotl" available with {C-h h d c}.

For those who want the deepest knowledge of Hyperbole, there is the long
Hyperbole reference manual that you can read in sections. This covers in
Expand All @@ -429,4 +450,3 @@ learn how to create new kinds of implicit button and action types, see:
"man/hyperbole.html" - web HTML version
"man/hyperbole.pdf" - printable version
"man/hyperbole.texi" - source form

12 changes: 8 additions & 4 deletions HY-ANNOUNCE
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,23 @@ Subject: GNU Hyperbole Major Release 9
========================================================================

GNU Hyperbole 9.0.0, the Rhapsody release, is now available on GNU ELPA.
And oh what a release it is: extensive new features, new video demos,
org and org roam integration, Markdown and Org file support in HyRolo,
recursive directory and wildcard file scanning in HyRolo and much more.

Hyperbole is a unique hypertextual information management Emacs package
that works across all Emacs modes, letting the computer do the hard work
while you benefit from its sophisticated context-sensitive linking and
navigation capabilities. Hyperbole has always been one of the best
documented Emacs packages. With Version 8 comes excellent test coverage:
over 200 automated tests to ensure quality. We hope you'll give it a try.
documented Emacs packages. With Version 9 comes excellent test coverage:
over 340 automated tests to ensure quality. We hope you'll give it a try.

What's new in this release is described here:

www.gnu.org/s/hyperbole/HY-NEWS.html

Everything back until release 8.0.0 is new since the last major
release announcement (almost a year ago), so updates are extensive.
Everything back until release 8.0.0 is new since the last major release
announcement (almost a year and a half ago), so updates are extensive.

If you prefer video introductions, visit the videos linked to below; otherwise,
skip to the next section.
Expand Down
Loading

0 comments on commit c371a2d

Please sign in to comment.