Skip to content

Commit

Permalink
Small fixes and doc updates in preparation for next release
Browse files Browse the repository at this point in the history
  • Loading branch information
rswgnu committed May 11, 2019
1 parent fdce47a commit 042842d
Show file tree
Hide file tree
Showing 23 changed files with 947 additions and 172 deletions.
38 changes: 37 additions & 1 deletion Changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
2019-05-11 Bob Weiner <[email protected]>

* man/hyperbole.texi (External Viewers): Commented out reference to mailcap use since it is
presently not used (commented out in the code).

* hpath.el (hpath:find): Fixed filename and path ordering error when
path contains a variable and a hash anchor.

* DEMO (POSIX and MSWindows Paths): Added this section.
* HY-WHY.kotl: Added a reference to that section.

2019-05-09 Bob Weiner <[email protected]>

* hmouse-drv.el (hkey-drag-item):
(hmouse-click-to-drag-item): Added and thereby changed
{M-o i} to trigger an error if not on an item to drag. This also prevent
Hyperbole explicit button creation from being invoked which can be
confusing to users.
* DEMO (Displaying File and Buffer Items and Moving Buffers): Updated with
{M-o i} change.

2019-05-07 Bob Weiner <[email protected]>

* hpath.el (hpath:directory-expand-alist: Added to store the reverse of
each WSL mount-point for when converting from mswindows-to-posix. Set
in hpath:cache-mswindows-mount-points.
(hpath:cache-mswindows-mount-points): Downcase all mounted Windows paths.
(hpath:mswindows-path-posix-mount-alist): Added.

2019-05-05 Bob Weiner <[email protected]>

* hmouse-tag.el (smart-jedi-find-file): Added.
(smart-python-jedi-to-definition-p): Improved to use
hpath:display-where to display target when possible, i.e. when the
emacs-jedi project accepts our pull-request that adds this feature.

2019-04-22 Bob Weiner <[email protected]>

* hversion.el: Pushed BW changes for 7.0.2c test update.
Expand Down Expand Up @@ -120,7 +156,7 @@
Added and called when Hyperbole is initialized, mainly to allow access to
MSWindows network shares which would otherwise not be accessible as links
under POSIX systems.
(hpath:map-plist): Added to map over property lists.
(hypb:map-plist): Added to map over property lists.
Called in hpath:cache-mswindows-mount-points.

2019-01-26 Bob Weiner <[email protected]>
Expand Down
54 changes: 43 additions & 11 deletions DEMO
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
* GNU Hyperbole Demonstration by Bob Weiner

Say thanks if you like Hyperbole: https://saythanks.io/to/rswgnu

Table of Contents
-----------------
* Introduction
Expand Down Expand Up @@ -586,6 +588,37 @@ you can also use paths of the form:

ftp://ftp.gnu.org/pub/

*** POSIX and MSWindows Paths

Hyperbole recognizes standard POSIX paths as well as typical MSWindows
paths (both local and network shares) and can convert an in-buffer
path between POSIX and MSWindows formats multiple times, even paths
involving mount points. Hyperbole even recognizes the different ways
paths are accessed when using Windows for GNU/Linux (WSL) atop
MSWindows, where all of these reference the same directory:
"c:/Users", "c:\Users", "/C/Users", "/c/Users", and "/mnt/c/Users".

MSWindows paths may be used within links and implicit path buttons
just like POSIX paths, whether running Emacs under a POSIX system or
MSWindows. If under POSIX, a remote MSWindows path must be accessed
through a mount point to the network share. Hyperbole caches such
mount points when it is first loaded. Use {M-x
hpath:cache-mswindows-mount-points RET} to update them if more mounts
are made later.

{M-x hpath:substitute-posix-or-mswindows-at-point RET} toggles any
path at point between POSIX and MSWindows styles. Bind it to a key
for rapid path transformations.

The function, `hpath:substitute-posix-or-mswindows', does the same thing
for properly quoted path strings, for example:
(hpath:substitute-posix-or-mswindows "C:\\Users") yields "/mnt/c/Users"
and
(hpath:substitute-posix-or-mswindows "/c/Users") yields "c:\\Users".

To convert pathnames in one direction only, use the
`hpath:mswindows-to-posix' or `hpath:posix-to-mswindows' functions.

** Internet Request For Comments (RFC) Document Browsing

With Tramp, you can also retrieve and browse RFC documents used in Internet
Expand Down Expand Up @@ -768,7 +801,7 @@ e.g. filter a file to just lines that don't match a pattern (RemoveLines).

** Annotated Bibliography Buttons

Annotated Bibliography references such as [FSF 16] may be embedded in any file
Annotated Bibliography references such as [FSF 19] may be embedded in any file
and activated with the Action Key to find the reference at the end of the file.
Try that one by pressing between the square brackets.

Expand All @@ -784,7 +817,7 @@ displayed. Test this technique with a {C-x C-f} (find-file) and then a {?}.
** Hyperbole Source Buttons

If you ask for help with the Assist Key or {C-u C-h A} from within the
[FSF 16] button, the first line of the help buffer will look like this:
[FSF 19] button, the first line of the help buffer will look like this:

@loc> "DEMO"

Expand Down Expand Up @@ -1200,13 +1233,12 @@ configured and the suggested M-o key binding is made, the leftmost character or
two of each window's modeline will show the <window-id> to type to use that
window as the drag destination. Then whenever point is on an item you want
displayed in another window, use M-o i <window-id> and watch the magic happen.
You can also use this to create explicit button links to other window buffers
when in an editable buffer. If you want to display multiple items in different
windows, instead use the M-o t <window-id> key sequence to @emph{throw} each
item to a different window, while leaving the same selected window. To replace
the selected window's buffer with that of another window, use M-o r <window-id>.
To instead swap the selected window's buffer with that of another window,
use M-o m <window-id>. Try these commands out and they will speed your work.
If you want to display multiple items in different windows, instead use the
M-o t <window-id> key sequence to @emph{throw} each item to a different window,
while leaving the same selected window. To replace the selected window's
buffer with that of another window, use M-o r <window-id>. To instead swap the
selected window's buffer with that of another window, use M-o m <window-id>.
Try these commands out and they will speed your work.

*** Cloning Windows

Expand Down Expand Up @@ -1318,7 +1350,7 @@ to dive deeper. Read it online with the GNU Info reader at "(hyperbole)Top".

* References

[FSF 16] Free Software Foundation, Inc. GNU Emacs Manual. Free Software
Foundation, Cambridge: MA, 2016. "(emacs)Top"
[FSF 19] Free Software Foundation, Inc. GNU Emacs Manual. Free Software
Foundation, Cambridge: MA, 2019. "(emacs)Top"

* THE END
5 changes: 4 additions & 1 deletion HY-ABOUT
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
Designed and Written by Bob Weiner
Maintained by Mats Lidell and Bob Weiner
https://www.gnu.org/software/hyperbole/
Version 7.0.2c
Version 7.0.3

Say thanks if you like Hyperbole:
https://saythanks.io/to/rswgnu

GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is
an efficient and programmable hypertextual information management
Expand Down
21 changes: 15 additions & 6 deletions HY-NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,25 @@
hmouse-click-to-drag-stay, hmouse-click-to-drag-to,
hmouse-click-to-replace, hmouse-click-to-swap, hmouse-click-to-throw.

- {M-o i <window-id>} is now for use only when on a listing item such as
in Dired or Buffer Menu. It no longer creates Hyperbole buttons in
non-item areas to avoid confusion. Now it will just trigger an error
if not on a listing item.

SMART (ACTION AND ASSIST) KEYS

- MSWindows Paths: Hyperbole now recognizes typical MSWindows paths (both
local and remote). They may be used within links and implicit path
local and remote shares) and can convert an in-buffer path between POSIX
and MSWindows formats multiple times, even paths involving mount points.

MSWindows paths may be used within links and implicit path
buttons just like POSIX paths, whether running Emacs under a POSIX
system or MSWindows. If under POSIX, a remote MSWindows path must be
accessed through a mount point to the network share. Hyperbole caches
such mount points when it is loaded. Use {M-x
hpath:cache-mswindows-mount-points RET} to update them if more mounts
are made later. See also the NEW COMMANDS section herein for how to
convert a path between POSIX and MSWINDOWS/DOS formats.
convert a path between POSIX and MSWindows formats.

- GitLab and Github Links: Added Gitlab implicit links with equivalent
functionality to those of Github. Added "people" reference support to
Expand All @@ -57,7 +65,8 @@
- Org Mode: When in an *Org Help* buffer, the Smart Keys now defer to
org-mode to handle jumps to its own locations for compatibility.
Similarly, in org-mode buffers when not on an org link or heading,
Hyperbole defers to org-meta-return.
and the {M-RET} Action Key is pressed, Hyperbole defers to Org's
org-meta-return command.

- Drag-based Kill, Copy and Yank: Added support for dragging across
frames.
Expand Down Expand Up @@ -91,7 +100,7 @@
HYCONTROL

- Help Buffer Quitting: If HyControl is active, normally {q} quits
it but now if point is in an Emacs help buffer, {q} will quit
it, but now if point is in an Emacs help buffer, {q} will quit
from the help buffer instead. Use {Q} to quit from HyControl
unconditionally.

Expand All @@ -112,7 +121,7 @@

PROGRAMMING

- Added hpath:map-plist, equivalent to mapcar but maps over
- Added hypb:map-plist, equivalent to mapcar but maps over
key-value pairs in property lists (where the key and value are
individual elements in the list).

Expand All @@ -137,7 +146,7 @@

- DEMO: Added section on "DEMO#Gitlab (Remote) References".

- Update Hyperbole Manual with new features.
- Updated Hyperbole Manual with new features.


===========================================================================
Expand Down
53 changes: 30 additions & 23 deletions HY-WHY.kotl
Original file line number Diff line number Diff line change
Expand Up @@ -23,56 +23,61 @@
each site, the links are properly maintained. See "DEMO#Path
Suffixes and Variables" and "DEMO#Path Prefixes".

5. Quickly search the web for targeted types of information such as
5. Automatically translate POSIX and MSWindows paths within buffers
or links to the right format for the current operating system,
eliminating the drudgery of converting backslashes to forward
slashes. See "DEMO#POSIX and MSWindows Paths".

6. Quickly search the web for targeted types of information such as
programming questions, code libraries, images, videos,
locations, word definitions, wikipedia entries or even tweets.
See "DEMO#Hyperbole Menus".

6. Embed social media hashtags and user names in any text files.
7. Embed social media hashtags and user names in any text files.
Then jump to the associated web page in your favorite web
browser with an Action Key press. See "DEMO#Social Media
Hashtags and Usernames".

7. Similarly, you can embed github and git object links in any
8. Similarly, you can embed github and git object links in any
files with a simple syntax and Hyperbole will display the
associated objects with an Action Key press. See "DEMO#Github
(Remote) References" and "DEMO#Git (Local) References".

8. Full-text search for any contact-related information across
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".

9. Select regions of structured text or source code and to copy or
10. 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
code comments and matching tag pairs in HTML and SGML modes.
See "DEMO#Thing Selection".
See "DEMO#Thing Selection".

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

11. Rapid control over what is displayed where in multiple windows
and frames with mouse drags and the Hyperbole HyControl system.
See "DEMO#HyControl".
12. Rapid control over what is displayed in each window and frame
with mouse drags and the Hyperbole HyControl system. See
"DEMO#HyControl".

11a. Drag Buffer Menu, Dired or Treemacs items to other windows to
12a. Drag 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 File and Buffer
Items".
Items and Moving Buffers".

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

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

11d. With one command, rapidly create a grid of tiled windows
12d. 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 @@ -82,22 +87,22 @@
same above command to display them in a grid of windows. See
"DEMO#Windows Grid".

11e. Use a quick mouse key press to scroll any window line to the
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".

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

11g. Each frame can store a series of window configurations
12g. 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".

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

11i. Quick clicks on different areas of a buffer's modeline will
12i. 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 @@ -107,15 +112,15 @@


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

;; depth-first kcell attributes
[[0
(creator "[email protected]" create-time "20190203:156:52:59" id-counter 37 file "/c/Users/bob.weiner/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
(creator "[email protected]" create-time "20190512:130:33:52" id-counter 38 file "/home/bob.weiner/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
[1
(creator "[email protected]" create-time "20160524:15:04:17" no-fill t)]
[17
Expand All @@ -124,6 +129,8 @@ alpha ;; label-type
(creator "[email protected]" create-time "20171114:23:37:20" no-fill t)]
[2
(creator "[email protected]" create-time "20160524:15:04:24" no-fill t)]
[38
(creator "[email protected]" create-time "20190512:131:21:14" no-fill t)]
[31
(creator "[email protected]" create-time "20171114:23:18:01" no-fill t)]
[33
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,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.0.2c
HYPB_VERSION = 7.0.3

# Emacs executable used to byte-compile .el files into .elc's.
# Possibilities include: emacs, infodock, xemacs, etc.
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# GNU Hyperbole 7.0.2c - The Everyday Hypertextual Information Manager
# GNU Hyperbole 7.0.3 - The Everyday Hypertextual Information Manager

[Say thanks if you like Hyperbole.(https://saythanks.io/to/rswgnu)]

<!-- START doctoc generated TOC -->
**Table of Contents**
Expand Down
Loading

0 comments on commit 042842d

Please sign in to comment.