Package: hyperbole;
Reported by: Ihor Radchenko <yantar92 <at> posteo.net>
Date: Thu, 8 Dec 2022 12:45:02 UTC
Severity: normal
Done: rswgnu <at> gmail.com
Bug is archived. No further changes may be made.
Message #14 received at 59903 <at> debbugs.gnu.org (full text, mbox):
From: Robert Weiner <rsw <at> gnu.org> To: Ihor Radchenko <yantar92 <at> posteo.net> Cc: 59903 <at> debbugs.gnu.org Subject: Re: bug#59903: [BUG] Unable to load hyperbole Date: Sun, 11 Dec 2022 13:36:04 -0500
[Message part 1 (text/plain, inline)]
Hi Ihor: Please replace this function in your hyperbole.el file and see if when you reload Hyperbole, things are good for you. -- Bob (defun hkey-initialize () "If `hkey-init' is non-nil, initialize Hyperbole key bindings. Some keys are conditionally bound only if there are no existing prior bindings of the commands." (when hkey-init ;; ;; Setup so Hyperbole menus can be accessed from a key. If not ;; already bound to a key, this typically binds the command `hyperbole' ;; globally to {C-h h} and activates Hyperbole minor mode. (unless (or (where-is-internal #'hyperbole (current-global-map)) (null help-char) (not (keymapp (lookup-key (current-global-map) (char-to-string help-char))))) ;; In GNU Emacs, this binding replaces a command that shows ;; the word hello in foreign languages; this binding makes this ;; key much more useful. (global-set-key (vector help-char ?h) #'hyperbole)) ;; Set C-c prefix key in hyperbole-mode-map for later key bindings (hkey-set-key "\C-c" (make-sparse-keymap)) ;; ;; Bind the Action Key to {M-RET} and the Assist Key to {C-u M-RET} ;; and load the Hyperbole mouse key bindings. (unless (where-is-internal #'hkey-either) ;; Need to map all these variants to ensure can override ;; `org-meta-return' in Org mode when desired. (mapc (lambda (key) (hkey-set-key (kbd key) #'hkey-either)) '("\M-\C-m" "M-<return>" "M-RET" "ESC <return>" "ESC RET"))) ;; ;; Typically bind the key, {C-h A}, for Action Key help and {C-u C-h A} for Assist key ;; help. (unless (where-is-internal #'hkey-help) (hkey-set-key (vector help-char ?A) #'hkey-help)) ;; ;; Define virtual key used to activate hyperbole minor modeline menu ;; (hkey-set-key [hyperbole] (infodock-hyperbole-menu t)) ;; ;; Provide a site standard way of emulating most Hyperbole mouse drag ;; commands from the keyboard. This is most useful for rapidly creating ;; Hyperbole link buttons from the keyboard without invoking the Hyperbole ;; menu. Works only if Hyperbole is run under a window system. (when (hyperb:window-system) (if (eq (global-key-binding "\M-o") #'facemenu-keymap) ;; Override facemenu package that adds a keymap on M-o, ;; since this binding is more important to Hyperbole ;; users. (hkey-set-key "\M-o" #'hkey-operate) (hkey-maybe-set-key "\M-o" #'hkey-operate))) ;; ;; Explicit button renames without invoking the Hyperbole menu. ;; No binding by default. ;; Don't override prior bindings of this key. ;; (hkey-maybe-set-key "\C-cr" #'hui:ebut-rename) ;; ;; Bind {C-c RET} to select larger and larger syntactical units in a ;; buffer when invoked repeatedly, showing in the minibuffer the type ;; of unit selected each time. (hkey-maybe-set-key "\C-c\C-m" #'hui-select-thing) ;; ;; Override the {M-w} command from "simple.el" when hyperbole-mode is active ;; to allow copying delimited things, kcell references or regions to the kill ring. (hkey-set-key [remap kill-ring-save] #'hui-kill-ring-save) ;; ;; Override the {C-x r s} command from "register.el" when hyperbole-mode is active ;; to allow copying delimited things, kcell references or regions to a register. (hkey-set-key "\C-xrs" #'hui-copy-to-register) ;; ;; Bind {C-c @} to create a user-specified sized grid of windows ;; displaying different buffers. ;; ;; Don't override prior bindings of this key. (hkey-maybe-set-key "\C-c@" #'hycontrol-windows-grid) ;; ;; Bind {C-c \} to interactively manage windows and frames. (hkey-maybe-set-key "\C-c\\" #'hycontrol-enable-windows-mode) ;; ;; Bind {C-c /} to display the Hyperbole Find/Web search menu. (hkey-maybe-set-key "\C-c/" #'hui-search-web) ;; ;; Bind {C-c .} to jump between the start and end of a delimited thing. ;; Don't override prior bindings of this key. (hkey-maybe-set-key "\C-c." #'hui-select-goto-matching-delimiter) ;; ;; Initialize the Smart Mouse Key bindings. Shifted mouse buttons ;; are always set up. Under InfoDock or with `hmouse-middle-flag' ;; non-nil, also bind the middle mouse button to the Action Key. ;; These bindings are ignored if a particular frame does not have mouse ;; support. (hmouse-install hmouse-middle-flag) ;; ;; Make a double or triple click of the left mouse button do the ;; same thing as {C-c RET}. It also sets up Java, C++ and HTML modes ;; for proper entity selection. (hui-select-initialize))) On Sat, Dec 10, 2022 at 6:04 AM Ihor Radchenko <yantar92 <at> posteo.net> wrote: > Robert Weiner <rswgnu <at> gmail.com> writes: > > > Hi Ihor: > > > > We’d love to have you as a Hyperbole user. Try binding the hyperbole > command to a global key before you load Hyperbole and I believe that should > work. > > I tried > > (bind-key* "C-c h" #'hyperbole) > (require 'hyperbole) > > Same error. > > > We can add a check for your case as well, in case no binding is made. I > would recommend you try the elpa-devel version. > > I tried the Git upstream version. No difference. > > -- > Ihor Radchenko // yantar92, > Org mode contributor, > Learn more about Org mode at <https://orgmode.org/>. > Support Org development at <https://liberapay.com/org-mode>, > or support my work at <https://liberapay.com/yantar92> >
[Message part 2 (text/html, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.