Skip to content

Commit

Permalink
GNU Hyperbole 8.0.0 Pre-release
Browse files Browse the repository at this point in the history
  • Loading branch information
rswgnu committed May 3, 2021
1 parent 305858f commit 01569bd
Show file tree
Hide file tree
Showing 17 changed files with 602 additions and 799 deletions.
17 changes: 16 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
2021-05-02 Bob Weiner <rsw@gnu.org>

* Update release number to 8.0.0pre (pre-release) as not all the
documentation is finished yet.

* INSTALL:
man/hyperbole.texi: Made Installation subsections for Stable Release
Installation and Git Pre-release Installation with the Straight
package manager.

* hmouse-tag.el (smart-tags-display): Fix to never prompt for a tag
table if none are found from automatic searches. This prevents
prompting when the Action Key is pressed on a potential identifier
that could be anything.

2021-05-02 Mats Lidell <matsl@gnu.org>

* hui-em-but.el (hbut-face): Add face for hbuts.
Expand Down Expand Up @@ -1033,7 +1048,7 @@ absolute paths.
Makefile (EL_COMPILE, ELC_COMPILE): Added hib-org.el{c}.

==============================================================================
V7.1.4 changes ^^^^:
V8.0.0 changes ^^^^:
==============================================================================

2020-09-21 Bob Weiner <rsw@gnu.org>
Expand Down
2 changes: 1 addition & 1 deletion HY-ABOUT
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Designed and Written by Bob Weiner
Maintained by Mats Lidell and Bob Weiner
https://www.gnu.org/software/hyperbole/
Version 7.1.4
Version 8.0.0

Say thanks or send a testimonial if you like Hyperbole:
Email: <rsw@gnu.org>
Expand Down
42 changes: 29 additions & 13 deletions HY-NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,20 @@
by Bob Weiner

===========================================================================
* V7.1.4
* V8.0.0
===========================================================================

HYPERBOLE SYSTEM

- Hyperbole is now a global minor mode that can be toggled with
{M-x hyperbole-mode RET}, meaning all of its key bindings can
easily be enabled or disabled whenever desired. Your init file
needs to have (hyperbole-mode 1) in it instead of
(require 'hyperbole) or Hyperbole will not be enabled upon startup.

In the modeline where minor modes are shown, "Hypb" now appears
whenever Hyperbole is active.

PROGRAMMING

- Simple Action Link Button Type Creation: `defal' is a new,
Expand Down Expand Up @@ -97,11 +108,6 @@
handles single line log entries that begin with the word 'commit' ,
displaying their commits even from shell and compilation buffers.

- Org Mode: Lowered to near bottom implicit button priority so that all
implicit button types will work in Org mode. Replaced 'inhibit-hsys-org'
setting with 'hsys-org-enable-smart-keys'. See its documentation for
details.

- Debugger Source: In Python tracebacks, may be on a line just below the
source reference line so if not on a Hyperbole button, move back a line
before checking.
Expand All @@ -115,12 +121,23 @@

ORG MODE

- M-RET: Reworked M-RET interface so can control how much or little of
Hyperbole works in Org mode when Hyperbole minor mode is enabled.

- hsys-org-enable-smart-keys: New customization to replace 'inhibit-hsys-org'.
This applies only in Org major/minor modes when hyperbole-mode is active.
t means enable Smart Key support everywhere. The symbol, buttons, is the
default; it means the Smart Keys are active only when point is within a
Hyperbole button. A nil value means no Smart Key support so {M-RET} behaves
just as it does normally in Org mode.
just as it does normally in Org mode. This table summarizes the operation:

|--------------+-------------------+------------------+----------+------------------|
| Set To | Smart Key Context | Hyperbole Button | Org Link | Fallback Command |
|--------------+-------------------+------------------+----------+------------------|
| buttons | Ignore | Activate | Activate | org-meta-return |
| nil | Ignore | Ignore | Ignore | org-meta-return |
| t | Activate | Activate | Activate | None |
|--------------+-------------------+------------------+----------+------------------|

ACE WINDOW PACKAGE INTEGRATION - fast window and buffer switching

Expand All @@ -135,12 +152,11 @@

TEST CASES

- Hyperbole Automated Testing: Git-based distributions of Hyperbole now
include a test subdirectory with many tests of hyperbole's button
types. Simply run 'make test' or 'make test-all' from the command-line
when in the Hyperbole source directory and you should see all tests
pass. If any fail, you can press the Action Key to see the source of
the failure.
- Hyperbole Automated Testing: Hyperbole now includes over 130 test cases
in the test/ subdirectory. Simply run 'make test' or 'make test-all'
from the command-line when in the Hyperbole source directory and you
should see all tests pass. If any fail, you can press the Action Key
to see the source of the failure.

- Defal implicit buttons hypb-ert-sym and hypb-ert-sel: For running
hyperbole ert test from hyperbole source files.
Expand Down
36 changes: 32 additions & 4 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
There are multiple package managers you can use to install Hyperbole once
you have GNU Emacs set up at your site.

** The built-in Emacs package manager
** The Built-in Emacs Package Manager

The Emacs Package Manager installs the latest stable version release
of GNU Hyperbole. If you are not familiar with it, see the Packages
Expand Down Expand Up @@ -46,14 +46,42 @@ Below are the lines to add:
(package-install 'hyperbole))
(hyperbole-mode 1)

----

Now save the file and then restart Emacs. Hyperbole will then be
downloaded and compiled for use with your version of Emacs; give it a
minute or two. You may see a bunch of compilation warnings but these
can be safely ignored.

**

** The Straight Package Manager (direct from Git Sources)

If you prefer to track Hyperbole development between releases and like to try out new features
still in testing, then use the Straight package manager instead of the above, which pulls the
latest Hyperbole source code from its git repository. This also gives you a cleaner installation
process without showing you any byte compilation warnings.

;; Use this in your Emacs init file to install Straight
(progn
(defvar bootstrap-version)
(setq package-enable-at-startup nil)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 5))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage)))

;; Then use this to install Hyperbole
(straight-use-package
'(hyperbole
:host nil
:repo "https://git.savannah.gnu.org/git/hyperbole.git"
:config (hyperbole-mode 1)))


===========================================================================
* Browsing the Source
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@

# This ver setup won't work under any make except GNU make, so set it manually.
#HYPB_VERSION = "`head -3 hversion.el | tail -1 | sed -e 's/.*|\(.*\)|.*/\1/'`"
HYPB_VERSION = 7.1.4
HYPB_VERSION = 8.0.0

# Emacs executable used to byte-compile .el files into .elc's.
# Possibilities include: emacs, infodock, etc.
Expand Down
54 changes: 45 additions & 9 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# Orig-Date: 19-Oct-91 at 03:27:47
#
# Copyright (C) 1989-2016 Free Software Foundation, Inc.
# Copyright (C) 1989-2021 Free Software Foundation, Inc.
# See the "HY-COPY" file for license information.
#
# This file is part of GNU Hyperbole.
Expand All @@ -26,14 +26,50 @@ written by Bob Weiner. It is maintained by him and Mats Lidell.
* Summary
===========================================================================

GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an
easy-to-use, yet powerful and programmable hypertextual information
management system implemented as a GNU Emacs package. It offers rapid views
and interlinking of all kinds of textual information, utilizing Emacs for
editing. It can dramatically increase your productivity and greatly reduce
the number of keyboard/mouse keys you'll need to work efficiently.

Hyperbole lets you:
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.

Hyperbole includes easy-to-use, powerful hypertextual button types without
the need to learn a markup language. Hyperbole's button types are written
in Lisp and can be wholly independent of the web, i.e. web links are one
type of Hyperbole link, not fundamental to its link architecture. However,
Hyperbole is a great assistant when editing HTML or Javascript or when
browsing web pages and links.

Hyperbole comes pre-built with most of the implicit button types you will
need but with a little extra effort and a few lines of code (or even just a
few words), you can define your own implicit button types to recognize your
specific buttons and then activate them anywhere in Emacs. You press a
single key, {M-RET} by default, on any kind of Hyperbole button to activate
it, so you can rely on your muscle memory and let the computer do the hard
work of figuring out what to do. {C-u M-RET} shows you what any button will
do in any context before you activate it, so you can always be sure of what
you are doing when needed or if some emails you a button (you can do that
too).

Hyperbole is something to be experienced and interacted with, not understood
from reading alone. It installs normally as a single Emacs package with no
dependencies outside of standard Emacs libraries. Most of Hyperbole is a
single global minor mode that you can activate and deactivate at will. And
it can be uninstalled quickly as well if need be, so there is no risk to
giving it a spin.

Once you have it installed and activated {C-u M-x hyperbole-mode RET}, try
the interactive demo with {C-h h d d}. In fact, if you have Hyperbole
loaded, you can press {M-RET} inside any of the brace delimited series of
keys you see in this document and it will execute them on-the-fly (easy
keyboard-macro style buttons in any text).

Hyperbole can dramatically increase your productivity and greatly reduce the
number of keyboard/mouse keys you'll need to work efficiently.

In short, Hyperbole lets you:

1. Quickly create hyperlink buttons either from the keyboard or by dragging
between a source and destination window with a mouse button depressed.
Expand Down
Loading

0 comments on commit 01569bd

Please sign in to comment.