[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 40d80671ea: With {M-o} as hkey-operate, defer
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole 40d80671ea: With {M-o} as hkey-operate, defer to any other minor mode binding |
Date: |
Mon, 13 Feb 2023 02:57:45 -0500 (EST) |
branch: externals/hyperbole
commit 40d80671eafec230cd1331071609702e9b6c4a18
Author: Bob Weiner <rsw@gnu.org>
Commit: Bob Weiner <rsw@gnu.org>
With {M-o} as hkey-operate, defer to any other minor mode binding
Fix mis-parsing of grep lines where file is followed by both
line and col numbers.
Silence byte-compiler warnings on actypes: display-*.
---
.hypb | Bin 2341 -> 2457 bytes
ChangeLog | 20 ++++++++++++++++++++
hibtypes.el | 10 ++++++++--
hmouse-drv.el | 56 +++++++++++++++++++++++++++++++++++---------------------
hui-mouse.el | 29 +++++++++++++++++++----------
hyrolo.el | 17 +++++++++++++----
6 files changed, 95 insertions(+), 37 deletions(-)
diff --git a/.hypb b/.hypb
index e7f0a59d58..c1ddb112a4 100644
Binary files a/.hypb and b/.hypb differ
diff --git a/ChangeLog b/ChangeLog
index 1e7f92c01c..e89651468c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2023-02-12 Bob Weiner <rsw@gnu.org>
+
+* hibtypes.el (grep-msg): Fix problem where filename match includes trailing
line
+ number because of allowing for Lisp variables with colons in their name.
Fix
+ by disallowing a digit as the final file name character. Below is a sample
+ of the type of grep line that was resolved improperly:
+ (display-boolean, display-variable, display-value): Declare
these actypes
+ as functions to silence the byte-compiler. These still are not fboundp.
+
+ hibtypes.el:1540:1:Warning: the following functions are not known to be
defined:
+
+* hyrolo.el (hyrolo-to-entry-end): Add 2nd _curr-entry-level-len optional
parameter
+ for future use.
+
+2023-02-11 Bob Weiner <rsw@gnu.org>
+
+* hmouse-drv.el (hkey-operate): Typically bound to {M-o} which avy transient
minor
+ mode also binds, so defer to other minor-modes that bind the same key
rather
+ than performing Hyperbole command.
+
2023-02-06 Mats Lidell <matsl@gnu.org>
* test/set-tests.el: Add tests for Hyperbole set library.
diff --git a/hibtypes.el b/hibtypes.el
index 601d98f2e1..15c6b58b36 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 19-Sep-91 at 20:45:31
-;; Last-Mod: 29-Jan-23 at 17:17:39 by Mats Lidell
+;; Last-Mod: 13-Feb-23 at 00:23:50 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -938,7 +938,7 @@ in grep and shell buffers."
(looking-at "Loading \\(\\S-+\\) (\\S-+)\\.\\.\\.$")
;; Grep matches (allowing for Emacs Lisp vars with : in
;; name within the pathname), Ruby, UNIX C compiler and Introl
68HC11 C compiler errors
- (looking-at "\\([^ \t\n\r\"'`]*[^ \t\n\r:\"'`]\\):
?\\([1-9][0-9]*\\)[ :]")
+ (looking-at "\\([^ \t\n\r\"'`]*[^ \t\n\r:\"'`0-9]\\):
?\\([1-9][0-9]*\\)[ :]")
;; Ruby tracebacks
(looking-at "[ \t]+[1-9][0-9]*: from \\([^ \t\n\r\"'`]*[^
\t\n\r:\"'`]\\):\\([1-9][0-9]*\\):in")
;; Grep matches, UNIX C compiler and Introl 68HC11 C
@@ -1392,6 +1392,12 @@ original DEMO file."
(defconst action:end ">"
"Regexp matching the end of a Hyperbole Emacs Lisp expression to evaluate.")
+;; Silence the byte-compiler that thinks these actype references
+;; should be regular functions.
+(declare-function display-boolean "ext:ignore")
+(declare-function display-variable "ext:ignore")
+(declare-function display-value "ext:ignore")
+
(defib action ()
"The Action Button type.
At point, activate any of: an Elisp variable, a Hyperbole
diff --git a/hmouse-drv.el b/hmouse-drv.el
index a368a05d3a..32deae5eb4 100644
--- a/hmouse-drv.el
+++ b/hmouse-drv.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 04-Feb-90
-;; Last-Mod: 29-Jan-23 at 00:15:24 by Mats Lidell
+;; Last-Mod: 13-Feb-23 at 00:23:43 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -1152,29 +1152,43 @@ Each invocation alternates between starting a drag and
ending it.
Optional prefix ARG non-nil means emulate Assist Key rather than the
Action Key.
-Only works when running under a window system, not from a dumb terminal."
+Only works when running under a window system, not from a dumb terminal.
+
+If a non-Hyperbole minor mode, e.g. ivy, has a different binding for the
+key to which this command is bound, then defer to that binding."
(interactive "P")
- (unless (hyperb:window-system)
- (hypb:error "(hkey-operate): Drag actions require mouse support"))
- (if arg
- (if assist-key-depressed-flag
- (progn (assist-mouse-key)
+ (catch 'other-binding
+ ;; If a non-Hyperbole minor mode has a different binding for the
+ ;; key to which this command is bound, then defer to that binding
+ (let* ((hyperbole-mode)
+ (key (car (where-is-internal #'hkey-operate (list
hyperbole-mode-map))))
+ (binding (when key (cdar (minor-mode-key-binding key)))))
+ (when binding
+ (throw 'other-binding (call-interactively binding))))
+
+ (unless (hyperb:window-system)
+ (hypb:error "(hkey-operate): Drag actions require mouse support"))
+
+ ;; Otherwise, handle the drag command
+ (if arg
+ (if assist-key-depressed-flag
+ (progn (assist-mouse-key)
+ (when (called-interactively-p 'interactive)
+ (message "Assist Key released.")))
+ (assist-key-depress)
+ (when (called-interactively-p 'interactive)
+ (message
+ "Assist Key depressed; go to release point and press {%s %s}."
+ (substitute-command-keys "\\[universal-argument]")
+ (substitute-command-keys "\\[hkey-operate]"))))
+ (if action-key-depressed-flag
+ (progn (action-mouse-key)
(when (called-interactively-p 'interactive)
- (message "Assist Key released.")))
- (assist-key-depress)
+ (message "Action Key released.")))
+ (action-key-depress)
(when (called-interactively-p 'interactive)
- (message
- "Assist Key depressed; go to release point and press {%s %s}."
- (substitute-command-keys "\\[universal-argument]")
- (substitute-command-keys "\\[hkey-operate]"))))
- (if action-key-depressed-flag
- (progn (action-mouse-key)
- (when (called-interactively-p 'interactive)
- (message "Action Key released.")))
- (action-key-depress)
- (when (called-interactively-p 'interactive)
- (message "Action Key depressed; go to release point and press {%s}."
- (substitute-command-keys "\\[hkey-operate]"))))))
+ (message "Action Key depressed; go to release point and press {%s}."
+ (substitute-command-keys "\\[hkey-operate]")))))))
(defun hkey-summarize (&optional current-window)
"Display smart key operation summary in help buffer.
diff --git a/hui-mouse.el b/hui-mouse.el
index 2e3832171c..d040bff8ce 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 04-Feb-89
-;; Last-Mod: 29-Jan-23 at 03:47:20 by Bob Weiner
+;; Last-Mod: 11-Feb-23 at 17:39:40 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -169,6 +169,8 @@ Its default value is `smart-scroll-down'. To disable it,
set it to
(declare-function company-show-location "ext:company")
(declare-function company-select-mouse "ext:company")
+(declare-function unix-apropos-get-man "ext:man-apropos")
+
;;; ************************************************************************
;;; Hyperbole context-sensitive keys dispatch table
;;; ************************************************************************
@@ -425,6 +427,7 @@ Its default value is `smart-scroll-down'. To disable it,
set it to
((eq major-mode 'calendar-mode) .
((smart-calendar) . (smart-calendar-assist)))
;;
+ ;; Part of InfoDock
((eq major-mode 'unix-apropos-mode) .
((smart-apropos) . (smart-apropos-assist)))
;;
@@ -1522,17 +1525,19 @@ If assist-key is pressed:
;;; smart-man functions
;;; ************************************************************************
-;; "unix-apropos.el" is a publicly available Emacs Lisp package that
-;; allows man page browsing from apropos listings. "superman.el" is a
-;; newer, much more complete package that you would probably prefer at
-;; this point, but there is no Smart Key apropos support for it. There
-;; is smart key support within the man page buffers it produces, however.
+;; "man-apropos.el" which contains the unix-apropos functions below is a
+;; part of InfoDock; these functions are not called unless this
+;; library has been loaded and is in use. It generates a buffer of apropos
+;; listing and allows selection and associated man page display.
+;;
+;; Man page cross-references in Emacs man buffers are handled
+;; separately via the 'man-apropos' implicit button type.
;;
(defun smart-apropos ()
"Move through UNIX man apropos listings by using one key or mouse key.
-Invoked via a key press when in unix-apropos-mode. It assumes that
+Invoked via a key press when in `unix-apropos-mode'. It assumes that
its caller has already checked that the key was pressed in an appropriate
buffer and has moved the cursor to the selected buffer.
@@ -1545,12 +1550,14 @@ If key is pressed:
(interactive)
(if (last-line-p)
(scroll-other-window)
- (unix-apropos-get-man))) ;; FIXME - Deprecated?
+ ;; Called only if man-apropos.el of InfoDock is loaded
+ (when (fboundp #'unix-apropos-get-man)
+ (unix-apropos-get-man))))
(defun smart-apropos-assist ()
"Move through UNIX man apropos listings by using assist-key or mouse
assist-key.
-Invoked via an assist-key press when in unix-apropos-mode. It assumes that
+Invoked via an assist-key press when in `unix-apropos-mode'. It assumes that
its caller has already checked that the assist-key was pressed in an
appropriate
buffer and has moved the cursor to the selected buffer.
@@ -1563,7 +1570,9 @@ If assist-key is pressed:
(interactive)
(if (last-line-p)
(scroll-other-window (- 3 (window-height)))
- (unix-apropos-get-man)))
+ ;; Called only if man-apropos.el of InfoDock is loaded
+ (when (fboundp #'unix-apropos-get-man)
+ (unix-apropos-get-man))))
(defun smart-man-display (lisp-form)
"Evaluate LISP-FORM returned from `smart-man-entry-ref' to display a man
page."
diff --git a/hyrolo.el b/hyrolo.el
index 3a2cc54ec0..a95ca85707 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 5-Feb-23 at 15:23:10 by Bob Weiner
+;; Last-Mod: 12-Feb-23 at 23:13:31 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -33,6 +33,7 @@
(require 'set)
(require 'sort)
(require 'xml)
+(declare-function kotl-mode:to-valid-position "kotl/kotl-mode")
;; Quiet byte compiler warnings for these free variables.
(eval-when-compile
@@ -44,6 +45,7 @@
;;; ************************************************************************
;;; Public declarations
;;; ************************************************************************
+(defvar helm-org-rifle-show-level-stars)
(defvar org-roam-directory)
(defvar org-roam-db-autosync-mode)
(defvar markdown-regex-header)
@@ -1241,6 +1243,7 @@ around a matching line rather than entire entries."
(require 'helm-org-rifle)
(let ((files (seq-filter (lambda (f) (string-match "\\.\\(org\\|otl\\)$" f))
(seq-filter #'file-readable-p hyrolo-file-list)))
+ ;; Next 2 local settings used by helm-org-rifle-files call below
(helm-org-rifle-show-level-stars t)
(helm-org-rifle-show-full-contents (not context-only-flag)))
(save-excursion
@@ -1425,7 +1428,7 @@ Return number of matching entries found."
(setq start (point))
(re-search-forward hyrolo-entry-regexp nil t)
(setq curr-entry-level-len (length
(buffer-substring-no-properties start (point))))
- (hyrolo-to-entry-end t)
+ (hyrolo-to-entry-end t curr-entry-level-len)
(or count-only
(if (and (zerop num-found) incl-hdr)
(let* ((src (or (buffer-file-name actual-buf)
@@ -1625,13 +1628,19 @@ beginning of the highest ancestor level. Return final
point."
(outline-up-heading 80))))
include-sub-entries))
-(defun hyrolo-to-entry-end (&optional include-sub-entries)
+(defun hyrolo-to-entry-end (&optional include-sub-entries
_curr-entry-level-len)
"Move point past the end of the current entry.
With optional prefix arg INCLUDE-SUB-ENTRIES non-nil, move past
the end of the entire subtree. Return final point.
+CURR-ENTRY-LEVEL-LEN is the integer length of the last entry
+header found. If INCLUDE-SUB-ENTRIES is nil,
+CURR-ENTRY-LEVEL-LEN is not needed.
+
When called interactively, leave point one character earlier, before
-the final newline of the entry."
+the final newline of the entry.
+
+Return current point."
(interactive "P")
(hyrolo-move-forward
(lambda (include-sub-entries)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/hyperbole 40d80671ea: With {M-o} as hkey-operate, defer to any other minor mode binding,
ELPA Syncer <=