emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]