[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 9428ee7 27/51: Hyperbole 7.0.9 Test Release
From: |
Stefan Monnier |
Subject: |
[elpa] externals/hyperbole 9428ee7 27/51: Hyperbole 7.0.9 Test Release |
Date: |
Sun, 12 Jul 2020 18:10:14 -0400 (EDT) |
branch: externals/hyperbole
commit 9428ee7123c83511cf40a9c8b3de94621e99aa66
Author: Bob Weiner <rsw@gnu.org>
Commit: Bob Weiner <rsw@gnu.org>
Hyperbole 7.0.9 Test Release
---
Changes | 38 ++++++++++++++-----------
HY-NEWS | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
hargs.el | 14 ++++++----
hmouse-drv.el | 3 +-
hmouse-sh.el | 2 +-
hpath.el | 10 +++++--
hypb.el | 37 +++++++++++-------------
hyperbole.el | 2 +-
8 files changed, 137 insertions(+), 59 deletions(-)
diff --git a/Changes b/Changes
index 1e52ea9..75c7f33 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,13 @@
-2020-02-16 Bob Weiner <rsw@gnu.org>
+2020-02-17 Bob Weiner <rsw@gnu.org>
* Published 7.0.9 test release.
+* hpath.el (hpath:substitute-value): Updated to handle Texinfo @-quoted
$@{hyperb:dir@} variable substitution.
+
+* hypb.el (hypb:replace-match-string): Minor code updates.
+
+2020-02-16 Bob Weiner <rsw@gnu.org>
+
* hibtypes.el (grep-msg): Fixed handling files names with spaces followed by a
null character rather than a
colon as a separator. Note that the null is set to visibly display as a
colon in Emacs.
hpath.el (hpath:tramp-file-name-regexp): Don't match if a control char is
found, notably a null (ASCII 0).
@@ -9,8 +15,7 @@
* man/hyperbole.texi (Swapping Buffers):
DEMO (Swapping Buffers): Added swapping buffers between frames.
-
-* hycontrol.el (hycontrol-window-swap-buffers): Fixed so current buffer
remains the same but selected window
+ hycontrol.el (hycontrol-window-swap-buffers): Fixed so current buffer
remains the same but selected window
changes.
(hycontrol-frame-swap-buffers): Fixed so current buffer remains
the same but selected frame
changes. Also made this work anytime there are two or more frames
regardless of how many windows in each.
@@ -27,18 +32,17 @@
* hyperbole.el (hyperb:autoloads-exist-p, hyperb:maybe-generate-autoloads,
hyperb:generate-autoloads):
Added and called from hyperb:init when initializing Hyperbole to generate
auto-autoload files when
- running froma non-packaged non-release source download of Hyperbole.
+ running from a non-packaged source download of Hyperbole.
* hycontrol.el (hycontrol-quit-frames-mode):
- (hycontrol-quit-frames-mode):
man/hyperbole.texi (HyControl): Added doc of {q} vs. {Q}.
- (hycontrol-quit-windows-mode): Deleted, created one unified
quit command.
(hycontrol-quit): Renamed from hycontrol-quit-frames-mode.
+ (hycontrol-quit-windows-mode): Deleted, created one unified
quit command.
(hycontrol-abort): Renamed from hycontrol-abort-mode.
-* hui-window.el (hmouse-alist-add-window-handlers): Added not a modeline
depress test for clause that
- handles drags from a window to a modeline, since otherwise will catch
drags from a modeline that
- may move a frame.
+* hui-window.el (hmouse-alist-add-window-handlers): Added 'not a modeline
depress' test for the
+ clause that handles drags from a window to a modeline, since otherwise it
will catch drags from a
+ modeline that may move a frame.
(hmouse-drag-p): Added to test whether absolute depress and
release positions differ.
* hui-menu.el (hyperbole-menubar-menu): Removed set-menubar-dirty-flag call.
@@ -47,12 +51,11 @@
* hkey-help.txt:
hmouse-drv.el (action-key-depress, assist-key-depress):
hui-window.el (action-key-modeline, assist-key-modeline):
- Modeline window resizing is now handled in action/assist-key-depress
- via a call to mouse-drag-mode-line, providing live visual feedback.
- The same function is also overloaded in hmouse-drv.el to allow
- repositioning frames that have minibuffer windows by dragging
- from a bottommost modeline if the frame has a non-nil
- 'drag-with-mode-line' parameter.
+ Modeline window resizing is now handled in action/assist-key-depress via
a call to
+ mouse-drag-mode-line, providing live visual feedback. The same function
is also overloaded in
+ hmouse-drv.el to allow repositioning frames that have minibuffer windows
by dragging from a
+ bottommost modeline if the frame has a non-nil 'drag-with-mode-line'
parameter.
+
man/hyperbole.texi, DEMO (Moving Frames): Added this new section.
2020-02-15 Bob Weiner <rsw@gnu.org>
@@ -77,8 +80,9 @@
calls that look like actypes::<action-type> and
ibtypes::<implicit-button-type> jump to
the associated defact and defib definitions.
-* hbut.el (ibtype:create): Added definition-name property to a tag lookup on
ibtypes::grep-msg looks up
- the name used in the defib call, grep-msg. This had previously been done
for actypes.
+* hbut.el (htype:create): Generalized definition-name property used for tag
lookup on names like,
+ ibtypes::grep-msg, which looks for the name used in the defib call,
grep-msg. This had
+ previously been done for actypes.
* hpath.el (hpath:posix-to-mswindows-separators):
(hpath:mswindows-to-posix-separators)
diff --git a/HY-NEWS b/HY-NEWS
index f2008ed..45eb165 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -5,6 +5,9 @@
* V7.0.9
===========================================================================
+ Many issues were resolved in this test version as documented in "Changes".
+ Only new features are documented here.
+
ACE WINDOW PACKAGE INTEGRATION - fast window and buffer switching
- After installing the ace-window package and loading Hyperbole, execute
@@ -16,21 +19,43 @@
you don't use region highlighting, i.e. transient-mark-mode, then use
{C-u M-o t} for the same effect. The buffer in the target window
must differ from the one in the source window. With no region
- active, this command stillthrows the source buffer to the target
- window.
+ active, this command still throws the source buffer to the target
+ window. See "DEMO#Displaying File and Buffer Items and Moving Buffers".
+
+ SMART (ACTION AND ASSIST) KEYS
+
+ - Modeline Drag Window Resizing: Smart Key window resizing now provides
+ live feedback during the drag.
+
+ - Bottommost Modeline Frame Moving: After adding a 'drag-with-mode-line'
+ frame parameter with a value of t, a drag of any of its bottommost
+ modelines with either Smart Mouse Key repositions the frame on screen.
+ See "(hyperbole)Moving Frames" for information on how to configure this
+ feature.
+
+ CUSTOMIZATON
+
+ - hproperty:flash-face: Face used when flashing a button; now customizable.
- DEMO
+ - hproperty:highlight-face: Face used to highlight a line; now
customizable.
- - Fixed many smaller issues that caused example implicit buttons to fail.
+ - inhibit-hsys-org: See ORG MODE section below.
GLOSSARY
- Hlink Definitions: Added Action Button, Elink, Ilink, Glink definitions.
+ HYCONTROL
+
+ - Buffer/Window Swapping: Improved {~} so current buffer remains the same
but
+ the selected window changes. Also made frame buffer swapping work
anytime
+ there are two or more frames regardless of how many windows in each. See
+ "DEMO#Swapping Buffers".
+
HYROLO
- - Hyrolo Add: Fixed new entry addition to add in sorted order and logic
- operators to perform properly, after a bug in level calculation had been
+ - Hyrolo Add: Fixed new entry addition to add in sorted order and make
logic
+ operators perform properly, after a bug in level calculation had been
introduced.
IMPLICIT BUTTONS
@@ -38,13 +63,25 @@
- Double Quoting Key Series: Key series delimited by {} may now be in
double
quotes, e.g. "{C-x o}".
- - Much improved conversion of MSWindows UNC paths to existing Posix mount
- points when running Emacs under Windows Subsystem for Linux.
+ - Windows to Posix Paths: Much improved conversion of MSWindows UNC paths
to
+ existing Posix mount points when running Emacs under Windows Subsystem
for
+ Linux. See
+
+ - Flashing Implicit Buttons: More types of implicit buttons now flash when
+ activated.
+
+ - Improved Grep Output Parsing: Recognizes file names with spaces followed
by
+ the null (^@, ASCII 0) character.
+
+ - Texinfo @-Quoted Path Variables: Hyperbole now can resolve paths as
+ complicated as this: @file{$@{hyperb:dir@}/DEMO#POSIX and MSWindows
Paths}
+ in Texinfo files if the Action Key is pressed on the / or after, i.e.
after
+ the variable name.
KEYS
- - Removed {C-c C-r} key binding for explicit button renaming due to
- conflicts with some major modes
+ - Deleted C-c C-r Global Binding: Removed {C-c C-r} key binding for
explicit
+ button renaming due to conflicts with some major modes
ORG MODE
@@ -54,6 +91,11 @@
- inhibit-hsys-org: New customization that when set non-nil disables
all Smart Key support in any Org major or minor mode.
+ - hsys-org-hbut-activate-p: Added to org-metareturn-hook so local binding
+ of {M-RET} in org-mode activates Hyperbole buttons when point is over
+ them. (It doesn't run the full set of Action Key actions).
+
+
PROGRAMMING
- Auto Imenu Reindexing: If using Emacs imenu package, the Action Key
@@ -62,6 +104,34 @@
will now automatically rebuild the index to have correct pointers.
(Does not require use of the imenu-auto-rescan setting.
+ - hypb:mark-object: Gives Hyperbole-specific strings and symbols
+ a hyperbole property that distinguishes them from other objects.
+
+ - hypb:object-p: Tests whether has the hyperbole property. This is useful
+ in hpath:relative-to and hpath:absolute-to where any string with a
+ hyperbole property is ignored as a potential path. For example, this
+ prevents removal of trailing whitespace from normalized key series.
+
+ - hbut:act: Hyperbole button parameter is now optional and defaults to
+ the located button, the symbol, 'hbut:current.
+
+ - ibtypes tag lookup: Implicit button type names such as ibtypes::grep-msg
+ are now properly found in tags tables using their defib names
+ (e.g. grep-msg).
+
+ - hmouse-drag-p: tests whether absolute Smart Mouse Key depress and
+ release positions differ (relative to display/screen coordinates).
+
+ - hycontrol-quit: Unified the two Hycontrol mode quit commands into this
one.
+ hycontrol-abort: Renamed from hycontrol-abort-mode.
+
+ - hyperb:autoloads-exist-p
+ hyperb:maybe-generate-autoloads
+ hyperb:generate-autoloads: Added and called from hyperb:init when
+ initializing Hyperbole to generate auto-autoload files when
+ running from a non-packaged source download of Hyperbole.
+
+
===========================================================================
* V7.0.8
===========================================================================
diff --git a/hargs.el b/hargs.el
index fb5307c..eba70f2 100644
--- a/hargs.el
+++ b/hargs.el
@@ -113,7 +113,9 @@ With optional EXCLUDE-REGEXP, any matched string is ignored
if it this regexp."
(end-search-func (if end-regexp-flag 're-search-forward
'search-forward))
(count 0)
- start end)
+ first
+ start
+ end)
(save-excursion
(beginning-of-line)
(while (and (setq start (funcall start-search-func start-delim limit t))
@@ -125,9 +127,9 @@ With optional EXCLUDE-REGEXP, any matched string is ignored
if it this regexp."
;; prior to the original point.
(funcall end-search-func end-delim opoint t)
(setq count (1+ count)))
- (setq start nil))
- (when (and (not start) (> count 0) (zerop (% count 2))
- (string-equal start-delim end-delim))
+ (setq first (or first start)
+ start nil))
+ (when (and (not start) (> count 0) (zerop (% count 2)))
;; Since strings can span lines but this function matches only
;; strings that start on the current line, when start-delim and
;; end-delim are the same and there are an even number of
@@ -135,7 +137,9 @@ With optional EXCLUDE-REGEXP, any matched string is ignored
if it this regexp."
;; search to match to what should probably be the start-delim,
;; assume point is within a string and not between two other strings.
;; -- RSW, 02-05-2019
- (setq start (point)))
+ (setq start (if (string-equal start-delim end-delim)
+ (point)
+ first)))
(when start
(forward-line 2)
(setq limit (point))
diff --git a/hmouse-drv.el b/hmouse-drv.el
index af87d53..b83d9fa 100644
--- a/hmouse-drv.el
+++ b/hmouse-drv.el
@@ -792,8 +792,7 @@ frame instead."
(mouse-drag-line start-event 'mode))
((and (frame-parameter frame 'drag-with-mode-line)
(window-at-side-p window 'bottom))
- ;; Drag frame when the window is on the bottom of its frame and
- ;; there is no minibuffer window below.
+ ;; Drag frame when the window is on the bottom of its frame.
(mouse-drag-frame start-event 'move)))))
(defun hkey-debug ()
diff --git a/hmouse-sh.el b/hmouse-sh.el
index 7644977..7b89c8d 100644
--- a/hmouse-sh.el
+++ b/hmouse-sh.el
@@ -477,7 +477,7 @@ With optional MIDDLE-KEY-ONLY-FLAG non-nil, bind only the
middle mouse key."
;; for that. Use mouse1 only for setting point and drag selecting
;; regions.
;;
- ;; Don't bind mouse1 to action-key-depress-emacs to allow it to
+ ;; Don't bind mouse-1 to action-key-depress-emacs to allow it to
;; follow links because that will disable the region highlighting
;; that we would rather allow.`
(customize-set-variable 'mouse-1-click-follows-link nil)
diff --git a/hpath.el b/hpath.el
index 545875e..2fcf42d 100644
--- a/hpath.el
+++ b/hpath.el
@@ -1114,7 +1114,8 @@ path form is what is returned for PATH."
(setq path (hbut:key-to-label (hbut:label-to-key path)))
(or (not (string-match "[()]" path))
(string-match "\\`([^ \t\n\r\)]+)[ *A-Za-z0-9]" path))
- (if (string-match "\\$\{[^\}]+}" path)
+ ;; Allow for @{ and @} in texinfo-mode
+ (if (string-match "\\$@?\{[^\}]+@?\}" path)
;; Path may be a link reference with a suffix component
;; following a comma or # symbol, so temporarily strip
;; these, if any, before expanding any embedded variables.
@@ -1283,12 +1284,15 @@ in-buffer path will not match."
;; Uses free variables `match' and `start' from `hypb:replace-match-string'.
(substitute-in-file-name
(hypb:replace-match-string
- "\\$\{[^\}]+}"
+ "\\$@?\{\\([^\}]+\\)@?\}"
path
(lambda (str)
(let* ((var-group (substring path match start))
- (var-name (substring path (+ match 2) (1- start)))
(rest-of-path (substring path start))
+ (var-ext (substring path (match-beginning 1) (match-end 1)))
+ (var-name (if (= ?@ (aref var-ext (1- (length var-ext))))
+ (substring var-ext 0 -1)
+ var-ext))
(trailing-dir-sep-flag (and (not (string-empty-p rest-of-path))
(memq (aref rest-of-path 0) '(?/
?\\))))
(sym (intern-soft var-name)))
diff --git a/hypb.el b/hypb.el
index 148c7f3..131ea32 100644
--- a/hypb.el
+++ b/hypb.el
@@ -551,26 +551,23 @@ that returns a replacement string."
(literal newtext)
(t (mapconcat
(lambda (c)
- (if special
- (progn
- (setq special nil)
- (cond ((eq c ?\\) "\\")
- ((eq c ?&)
- (substring str
- (match-beginning 0)
- (match-end 0)))
- ((and (>= c ?0) (<= c ?9))
- (if (> c (+ ?0 (length
- (match-data))))
- ;; Invalid match num
- (error "(hypb:replace-match-string)
Invalid match num: %c" c)
- (setq c (- c ?0))
- (substring str
- (match-beginning c)
- (match-end c))))
- (t (char-to-string c))))
- (if (eq c ?\\) (progn (setq special t) nil)
- (char-to-string c))))
+ (cond (special
+ (setq special nil)
+ (cond ((eq c ?\\) "\\")
+ ((eq c ?&)
+ (match-string 0 str))
+ ((and (>= c ?0) (<= c ?9))
+ (if (> c (+ ?0 (length
+ (match-data))))
+ ;; Invalid match num
+ (error
"(hypb:replace-match-string) Invalid match num: %c" c)
+ (setq c (- c ?0))
+ (match-string c str)))
+ (t (char-to-string c))))
+ ((eq c ?\\)
+ (setq special t)
+ nil)
+ (t (char-to-string c))))
newtext ""))))))
(concat rtn-str (substring str start))))
diff --git a/hyperbole.el b/hyperbole.el
index 448b814..d6fd808 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -5,7 +5,7 @@
;; Author: Bob Weiner
;; Maintainer: Bob Weiner <rsw@gnu.org>, Mats Lidell <matsl@gnu.org>
;; Created: 06-Oct-92 at 11:52:51
-;; Released: 16-Feb-20
+;; Released: 17-Feb-20
;; Version: 7.0.9
;; Keywords: comm, convenience, files, frames, hypermedia, languages,
mail, matching, mouse, multimedia, outlines, tools, wp
;; Package: hyperbole
- [elpa] externals/hyperbole c050a69 42/51: kotl/klink.el: (require 'kcell): Removed recursive require loop, (continued)
- [elpa] externals/hyperbole c050a69 42/51: kotl/klink.el: (require 'kcell): Removed recursive require loop, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole 034d672 45/51: Only url encode the user input to the search (#25), Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole 96dcfee 41/51: Bulk of changes for test release 7.1.2, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole 2093d3e 48/51: quit-window - Handle primitive functions when replacing this command, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole aa04634 14/51: Handle null key sent to link-to-ibut and ibut:to, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole 8c234bf 46/51: Basic coding and documentation updates, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole f733d4f 20/51: Bug fixes in preparation for test release V7.0.9, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole a9ce82a 25/51: Removed {C-c C-r} ebut:rename binding due to major-mode conflicts, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole a566b48 38/51: Large partial update in preparation for 7.1.1 test release, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole ffdbe45 43/51: Allow buffer names to be lists (#26), Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole 9428ee7 27/51: Hyperbole 7.0.9 Test Release,
Stefan Monnier <=
- [elpa] externals/hyperbole cb8b283 39/51: V7.1.1 Test Release, Stefan Monnier, 2020/07/12
- [elpa] externals/hyperbole 4879832 49/51: hload-path.el - Use any symlink to Hyperbole root dir in load-path, Stefan Monnier, 2020/07/12