GNU bug report logs - #36751
[PATCH] gnu: Add emacs-hyperbole.

Previous Next

Package: guix-patches;

Reported by: "LaFreniere\, Joseph" <joseph <at> lafreniere.xyz>

Date: Sun, 21 Jul 2019 19:38:02 UTC

Severity: normal

Tags: patch

Done: Jakub Kądziołka <kuba <at> kadziolka.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 36751 in the body.
You can then email your comments to 36751 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#36751; Package guix-patches. (Sun, 21 Jul 2019 19:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "LaFreniere\, Joseph" <joseph <at> lafreniere.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 21 Jul 2019 19:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "LaFreniere\, Joseph" <joseph <at> lafreniere.xyz>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add emacs-hyperbole.
Date: Sun, 21 Jul 2019 14:36:39 -0500
[Message part 1 (text/plain, inline)]
Please see the attached patch.

--
Joseph LaFreniere
[0001-gnu-Add-emacs-hyperbole.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#36751; Package guix-patches. (Tue, 23 Jul 2019 04:34:02 GMT) Full text and rfc822 format available.

Message #8 received at 36751 <at> debbugs.gnu.org (full text, mbox):

From: joseph <at> lafreniere.xyz (LaFreniere, Joseph)
To: 36751 <at> debbugs.gnu.org
Subject: Re: [bug#36751] [PATCH] gnu: Add emacs-hyperbole.
Date: Mon, 22 Jul 2019 23:33:03 -0500
[Message part 1 (text/plain, inline)]
Please find a fixup commit attached.  The original patch omitted
several sample files;  whie those files are not necessary for the
functioning of Hyperbole itself, they are referred to in its menu system
and are valuable resources for new users.

-- 
Joseph LaFreniere
[0001-fixup-gnu-Add-emacs-hyperbole.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#36751; Package guix-patches. (Sat, 03 Aug 2019 04:17:02 GMT) Full text and rfc822 format available.

Message #11 received at 36751 <at> debbugs.gnu.org (full text, mbox):

From: "LaFreniere\, Joseph" <joseph <at> lafreniere.xyz>
To: 36751 <at> debbugs.gnu.org
Subject: Re: [bug#36751] [PATCH] gnu: Add emacs-hyperbole.
Date: Fri, 02 Aug 2019 23:16:19 -0500
[Message part 1 (text/plain, inline)]
I have squashed the fixup into the original commit and rebased on 
current master (82ebb785f178d8618d39b658932d23d9f859fc91).  The 
resulting commit is attached.


--
Joseph LaFreniere
[0001-gnu-Add-emacs-hyperbole.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#36751; Package guix-patches. (Tue, 06 Aug 2019 11:33:02 GMT) Full text and rfc822 format available.

Message #14 received at 36751 <at> debbugs.gnu.org (full text, mbox):

From: swedebugia <swedebugia <at> riseup.net>
To: "LaFreniere, Joseph" <joseph <at> lafreniere.xyz>, 36751 <at> debbugs.gnu.org
Subject: Re: [bug#36751] [PATCH] gnu: Add emacs-hyperbole.
Date: Tue, 6 Aug 2019 13:32:50 +0200
Hi!

Thanks for the patch.

On 2019-08-03 06:16, LaFreniere, Joseph wrote:
> I have squashed the fixup into the original commit and rebased on 
> current master (82ebb785f178d8618d39b658932d23d9f859fc91).  The 
> resulting commit is attached.
>
>
> -- 
> Joseph LaFreniere

Git said this:

$ git apply 0001-gnu-Add-emacs-hyperbole.patch
0001-gnu-Add-emacs-hyperbole.patch:122: space before tab in indent.
         (or (and (boundp 'user-mail-address)
0001-gnu-Add-emacs-hyperbole.patch:123: trailing whitespace.
-- 
0001-gnu-Add-emacs-hyperbole.patch:149: trailing whitespace.

0001-gnu-Add-emacs-hyperbole.patch:155: space before tab in indent.
      (dname (or (and (boundp 'message-user-fqdn) (stringp 
message-user-fqdn)
0001-gnu-Add-emacs-hyperbole.patch:156: space before tab in indent.
              (string-match "\\." message-user-fqdn)
warning: squelched 10 whitespace errors
warning: 15 lines add whitespace errors.

---

Could you take a look at that?

Otherwise LGTM.

(I linted it, inspected the output in the store with 'ls -lR' and opened 
the info file)

-- 
Cheers Swedebugia




Information forwarded to guix-patches <at> gnu.org:
bug#36751; Package guix-patches. (Mon, 11 May 2020 23:18:02 GMT) Full text and rfc822 format available.

Message #17 received at 36751 <at> debbugs.gnu.org (full text, mbox):

From: Alex ter Weele <alex.ter.weele <at> gmail.com>
To: swedebugia <swedebugia <at> riseup.net>
Cc: "LaFreniere, Joseph" <joseph <at> lafreniere.xyz>, 36751 <at> debbugs.gnu.org
Subject: Re: [bug#36751] [PATCH] gnu: Add emacs-hyperbole.
Date: Mon, 11 May 2020 19:16:47 -0400
[Message part 1 (text/plain, inline)]
swedebugia <swedebugia <at> riseup.net> writes:

> Hi!
>
> Thanks for the patch.
>
> On 2019-08-03 06:16, LaFreniere, Joseph wrote:
>> I have squashed the fixup into the original commit and rebased on
>> current master (82ebb785f178d8618d39b658932d23d9f859fc91). The 
>> resulting commit is attached.
>>
>>
>> -- Joseph LaFreniere
>
> Git said this:
>
> $ git apply 0001-gnu-Add-emacs-hyperbole.patch
> 0001-gnu-Add-emacs-hyperbole.patch:122: space before tab in indent.
>      (or (and (boundp 'user-mail-address)
> 0001-gnu-Add-emacs-hyperbole.patch:123: trailing whitespace.
> -- 
> 0001-gnu-Add-emacs-hyperbole.patch:149: trailing whitespace.
>
> 0001-gnu-Add-emacs-hyperbole.patch:155: space before tab in indent.
>    (dname (or (and (boundp 'message-user-fqdn)
> (stringp message-user-fqdn)
> 0001-gnu-Add-emacs-hyperbole.patch:156: space before tab in indent.
>        (string-match "\\." message-user-fqdn)
> warning: squelched 10 whitespace errors
> warning: 15 lines add whitespace errors.
>
> ---
>
> Could you take a look at that?

I took a look at this. Regarding "trailing whitespace", I think
those are generated with trailing whitespace in them, so I think it is
normal that when adding .patch files to git that we'd see that
message. Regarding "space before tab in indent", a mixture of tabs and
spaces appears to be consistent with the Hyperbole codebase, so I think
that's ok too.

Attached is a patch that should apply against master. I have tested it a
bit, by going through some of the Hyperbole demo. Things like Koutliner
and Hycontrol seem to work, though I did not test all of Hyperbole's
many features.

[0001-gnu-Add-emacs-hyperbole.patch (text/x-patch, inline)]
From 96091af1de0ed8b91dc42e042ec9128c999d5016 Mon Sep 17 00:00:00 2001
From: "LaFreniere, Joseph" <joseph <at> lafreniere.xyz>
Date: Fri, 2 Aug 2019 23:16:19 -0500
Subject: [PATCH] gnu: Add emacs-hyperbole.

* gnu/packages/emacs-xyz.scm (emacs-hyperbole): Add at 7.0.3
---
 gnu/packages/emacs-xyz.scm                    | 68 +++++++++++++++
 .../emacs-hyperbole-do-not-check-dir.patch    | 24 ++++++
 .../patches/emacs-hyperbole-domainname.patch  | 29 +++++++
 .../emacs-hyperbole-toggle-messaging.patch    | 86 +++++++++++++++++++
 4 files changed, 207 insertions(+)
 create mode 100644 gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch
 create mode 100644 gnu/packages/patches/emacs-hyperbole-domainname.patch
 create mode 100644 gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c472958886..bd312c2f87 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -243,6 +243,74 @@ using geiser.")
       (license license:bsd-3)
       (home-page "https://github.com/xiaohanyu/ac-geiser"))))
 
+(define-public emacs-hyperbole
+  (package
+    (name "emacs-hyperbole")
+    (version "7.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://ftpmirror.gnu.org/hyperbole/"
+                    "hyperbole-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0znsjhm0lmzpmkgfni4qzx4l6dp604bmrzp3mwxxax2v96wpwmcx"))
+              (patches
+               (search-patches
+                "emacs-hyperbole-do-not-check-dir.patch"
+                "emacs-hyperbole-domainname.patch"
+                "emacs-hyperbole-toggle-messaging.patch"))))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:include '("DEMO"
+                   "DEMO-ROLO.otl"
+                   "HY-ABOUT"
+                   "\\.el$"
+                   "\\.info$"
+                   "\\.kotl$")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'make-info
+           (lambda _
+             (invoke "make" "info"))))))
+    (propagated-inputs `(("inetutils" ,inetutils)))
+    (home-page "https://www.gnu.org/software/hyperbole/")
+    (synopsis "The Everyday Hypertextual Information Manager")
+    (description
+     "GNU Hyperbole, or just Hyperbole, is an easy-to-use, yet powerful and
+programmable hypertextual information management system implemented as a GNU
+Emacs package.  It offers rapid views and interlinking of all kinds of textual
+information, utilizing Emacs for editing.  It can dramatically increase your
+productivity and greatly reduce the number of keyboard/mouse keys you'll need
+to work efficiently.  Hyperbole lets you:
+
+@itemize
+@item Quickly create hyperlink buttons either from the keyboard or by dragging
+between a source and destination window with a mouse button depressed.  Later,
+activate buttons by pressing/clicking on them or by giving the name of the
+button.
+@item Activate many kinds of \"implicit buttons\" recognized by context within
+text buffers, e.g. URLs, grep output lines, and git commits.  A single key or
+mouse button automatically does the right thing in dozens of contexts; just
+press and go.
+@item Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6,
+that all renumber automatically as any node or tree is moved in the outline.
+Each node also has a permanent hyperlink anchor that you can reference from
+any other node.
+@item Manage all your contacts quickly with hierarchical categories and embed
+hyperlinks within each entry.  Or create an archive of documents with
+hierarchical entries and use the same search mechanism to quickly find any
+matching entry.
+@item Use single keys to easily manage your Emacs windows or frames and
+quickly retrieve saved window and frame configurations.
+@item Search for things in your current buffers, in a directory tree or across
+major web search engines with the touch of a few keys.
+@end itemize
+
+The common thread in all these features is making retrieval, management and
+display of information fast and easy.  That is Hyperbole's purpose.")
+    (license license:gpl3+)))
+
 (define-public emacs-paredit
   (package
     (name "emacs-paredit")
diff --git a/gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch b/gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch
new file mode 100644
index 0000000000..66c7a0fb08
--- /dev/null
+++ b/gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch
@@ -0,0 +1,24 @@
+From 3016fbd61e47978be73bbbaf7a8c2709bec42066 Mon Sep 17 00:00:00 2001
+From: Joseph LaFreniere <joseph <at> lafreniere.xyz>
+Date: Fri, 12 Jul 2019 13:12:40 -0500
+Subject: [PATCH] Do not run hyperb:check-dir-user during initialization
+
+---
+ hyperbole.el | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/hyperbole.el b/hyperbole.el
+index 872dbaf..6edb2a7 100644
+--- a/hyperbole.el
++++ b/hyperbole.el
+@@ -653,7 +653,6 @@ If FLAG is nil then text is shown, while if FLAG is t the text is hidden."
+   (interactive)
+   (message "Initializing Hyperbole...")
+   (run-hooks 'hyperbole-init-hook)
+-  (hyperb:check-dir-user)
+   (or (stringp hyperb:user-email)
+       (setq hyperb:user-email
+ 	    (or (and (boundp 'user-mail-address)
+-- 
+2.22.0
+
diff --git a/gnu/packages/patches/emacs-hyperbole-domainname.patch b/gnu/packages/patches/emacs-hyperbole-domainname.patch
new file mode 100644
index 0000000000..cf4b63b54b
--- /dev/null
+++ b/gnu/packages/patches/emacs-hyperbole-domainname.patch
@@ -0,0 +1,29 @@
+From 17c87ac58ce6d475fa1987347fcb868ef7f75e40 Mon Sep 17 00:00:00 2001
+From: Joseph LaFreniere <joseph <at> lafreniere.xyz>
+Date: Sun, 2 Jun 2019 12:38:27 -0500
+Subject: [PATCH] Replace executable domainname with hostname
+
+Fixes build failure:
+> ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
+> patch-el-files: unable to locate  "domainname"
+---
+ hypb.el | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/hypb.el b/hypb.el
+index 6abc17a..0332946 100644
+--- a/hypb.el
++++ b/hypb.el
+@@ -183,8 +183,7 @@ Global keymap is used unless optional KEYMAP is given."
+ 
+ (defun hypb:domain-name ()
+   "Returns current Internet domain name with '@' prepended or nil if none."
+-  (let* ((dname-cmd (or (file-exists-p "/usr/bin/domainname")
+-			(file-exists-p "/bin/domainname")))
++  (let* ((dname-cmd (file-exists-p "/bin/hostname"))
+ 	 (dname (or (and (boundp 'message-user-fqdn) (stringp message-user-fqdn)
+ 			 (string-match "\\." message-user-fqdn)
+ 			 message-user-fqdn)
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch b/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch
new file mode 100644
index 0000000000..ab66e1b389
--- /dev/null
+++ b/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch
@@ -0,0 +1,86 @@
+From 6d5c587ec719e3309077c7d637b03b13db65c047 Mon Sep 17 00:00:00 2001
+From: Joseph LaFreniere <joseph <at> lafreniere.xyz>
+Date: Fri, 12 Jul 2019 12:43:46 -0500
+Subject: [PATCH] Move definition of hyperbole-toggle-messaging to hsettings
+
+---
+ hsettings.el | 25 +++++++++++++++++++++++++
+ hyperbole.el | 26 --------------------------
+ 2 files changed, 25 insertions(+), 26 deletions(-)
+
+diff --git a/hsettings.el b/hsettings.el
+index 6cdd1b8..9632067 100644
+--- a/hsettings.el
++++ b/hsettings.el
+@@ -163,6 +163,31 @@ package to display search results."
+ 			      search-term)))
+       (user-error "(Hyperbole): Invalid web search service `%s'" service-name))))
+ 
++;;;###autoload
++(defun hyperbole-toggle-messaging (&optional arg)
++  "Toggle Hyperbole support for explicit buttons in mail and news buffers.
++Toggles the boolean variable `inhibit-hyperbole-messaging’ and either
++adds hooks (nil value) or removes them (t value).
++
++With optional prefix ARG > 0, enables support.  If ARG <= 0,
++disables/inhibits support."
++  (interactive "P")
++  (setq inhibit-hyperbole-messaging (if (null arg)
++					(not inhibit-hyperbole-messaging)
++				      (<= (prefix-numeric-value arg) 0)))
++  (if inhibit-hyperbole-messaging
++      (var:remove-all)
++    (var:append-all)
++    ;; Add any hooks that were skipped when inhibit-hyperbole-messaging
++    ;; was nil.
++    (cond ((boundp 'hyperbole-loading))
++	  ((not after-init-time)
++	   (add-hook 'after-init-hook (lambda () (load "hyperbole"))))
++	  (t (load "hyperbole"))))
++  (if (called-interactively-p 'interactive)
++      (message "Hyperbole messaging button support is %s"
++	       (if inhibit-hyperbole-messaging "disabled" "enabled"))))
++
+ (defcustom inhibit-hyperbole-messaging t
+   "*Determines whether Hyperbole supports explicit buttons in mail and news buffers.
+ The default of t means disable such support (work remains to
+diff --git a/hyperbole.el b/hyperbole.el
+index 4aa427d..872dbaf 100644
+--- a/hyperbole.el
++++ b/hyperbole.el
+@@ -121,32 +121,6 @@
+ 			    t)))
+     (error "(Hyperbole): Startup failure: `hyperb:dir' must be manually added to `load-path' to fix.")))
+ 
+-;; This must be defined before the defcustom `inhbit-hyperbole-messaging'.
+-;;;###autoload
+-(defun hyperbole-toggle-messaging (&optional arg)
+-  "Toggle Hyperbole support for explicit buttons in mail and news buffers.
+-Toggles the boolean variable `inhibit-hyperbole-messaging’ and either
+-adds hooks (nil value) or removes them (t value).
+-
+-With optional prefix ARG > 0, enables support.  If ARG <= 0,
+-disables/inhibits support."
+-  (interactive "P")
+-  (setq inhibit-hyperbole-messaging (if (null arg)
+-					(not inhibit-hyperbole-messaging)
+-				      (<= (prefix-numeric-value arg) 0)))
+-  (if inhibit-hyperbole-messaging
+-      (var:remove-all)
+-    (var:append-all)
+-    ;; Add any hooks that were skipped when inhibit-hyperbole-messaging
+-    ;; was nil.
+-    (cond ((boundp 'hyperbole-loading))
+-	  ((not after-init-time)
+-	   (add-hook 'after-init-hook (lambda () (load "hyperbole"))))
+-	  (t (load "hyperbole"))))
+-  (if (called-interactively-p 'interactive)
+-      (message "Hyperbole messaging button support is %s"
+-	       (if inhibit-hyperbole-messaging "disabled" "enabled"))))
+-
+ (defgroup hyperbole-koutliner nil
+   "Hyperbole multi-level autonumbered outliner customizations."
+   :group 'hyperbole)
+-- 
+2.22.0
+
-- 
2.26.2

[Message part 3 (text/plain, inline)]
>
>
> Otherwise LGTM.
>
> (I linted it, inspected the output in the store with 'ls -lR' and
> opened the info file)

Reply sent to Jakub Kądziołka <kuba <at> kadziolka.net>:
You have taken responsibility. (Sat, 20 Jun 2020 19:34:01 GMT) Full text and rfc822 format available.

Notification sent to "LaFreniere\, Joseph" <joseph <at> lafreniere.xyz>:
bug acknowledged by developer. (Sat, 20 Jun 2020 19:34:01 GMT) Full text and rfc822 format available.

Message #22 received at 36751-done <at> debbugs.gnu.org (full text, mbox):

From: Jakub Kądziołka <kuba <at> kadziolka.net>
To: 36751-done <at> debbugs.gnu.org
Subject: Done: [PATCH] gnu: Add emacs-hyperbole.
Date: Sat, 20 Jun 2020 21:33:42 +0200
[Message part 1 (text/plain, inline)]
Thanks for the patch, pushed as commit 7d80d795248b029183b27361e9ab4895079375f7.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 19 Jul 2020 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 279 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.