[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 4879832 49/51: hload-path.el - Use any symlin
From: |
Stefan Monnier |
Subject: |
[elpa] externals/hyperbole 4879832 49/51: hload-path.el - Use any symlink to Hyperbole root dir in load-path |
Date: |
Sun, 12 Jul 2020 18:10:19 -0400 (EDT) |
branch: externals/hyperbole
commit 48798326f753523e120e0b56f4aa76ee01895f94
Author: Bob Weiner <Bob.Weiner@DuffandPhelps.com>
Commit: Bob Weiner <Bob.Weiner@DuffandPhelps.com>
hload-path.el - Use any symlink to Hyperbole root dir in load-path
---
Changes | 5 +++++
hload-path.el | 19 +++++++++----------
hyperbole.el | 12 +++++++-----
3 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/Changes b/Changes
index ef7be6e..d15dbfe 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,10 @@
2020-06-28 Bob Weiner <rsw@gnu.org>
+* hload-path.el: Use (setq hyperb:dir (file-truename hyperb:dir)) only after
Hyperbole paths
+ have been added to load-path, so that if they are symlinks, the symlink
name rather than
+ the truename is used there since the package manage usses the symlink name
and may have
+ added such a path already.
+
* hmouse-drv.el (quit-window): Handle primitive functions when replacing this
command.
* hypb.el (hypb:function-symbol-replace): Make a no-op if symbol-function is a
non-Lisp primitive.
diff --git a/hload-path.el b/hload-path.el
index 5e85b62..53c69cc 100644
--- a/hload-path.el
+++ b/hload-path.el
@@ -18,25 +18,18 @@
(defconst hyperb:dir (or (file-name-directory
(or (and (stringp load-file-name) load-file-name)
- (hyperb:path-being-loaded)
(locate-file "hmouse-tag.el" load-path)
+ (hyperb:path-being-loaded)
""))
(error
"(Hyperbole): Failed to set hyperb:dir. Try setting
it manually"))
"Directory where the Hyperbole executable code is kept.
It must end with a directory separator character.")
-;; Ensure final name (after resolving all links) of hyperb:dir is
-;; used; otherwise, Hyperbole may fail to substitute this as a
-;; variable into link path buttons.
-(when (stringp hyperb:dir)
- (setq hyperb:dir (file-truename hyperb:dir)))
-
;; Add hyperb:dir to load-path so other Hyperbole libraries can be
;; found unless it is already there since the Emacs Package Manager
;; may have already added it.
-(unless (member (directory-file-name hyperb:dir) load-path)
- (add-to-list 'load-path hyperb:dir))
+(add-to-list 'load-path (directory-file-name hyperb:dir))
;;; ************************************************************************
;;; Koutliner mode and file suffix importation settings
@@ -44,11 +37,17 @@ It must end with a directory separator character.")
;; Perform Koutliner initializations.
-(add-to-list 'load-path (expand-file-name "kotl/" hyperb:dir))
+(add-to-list 'load-path (expand-file-name "kotl" hyperb:dir))
;; Invoke kotl-mode for files ending in ".kotl".
;; Also allow ".kot" for DOS and Windows users.
(add-to-list 'auto-mode-alist '("\\.kotl?\\'" . kotl-mode))
+;; Ensure final name (after resolving all links) of hyperb:dir is
+;; used after setting up load-path; otherwise, Hyperbole may fail
+;; to substitute this as a variable into link path buttons.
+(when (stringp hyperb:dir)
+ (setq hyperb:dir (file-truename hyperb:dir)))
+
(provide 'hload-path)
;;; hload-path.el ends here
diff --git a/hyperbole.el b/hyperbole.el
index 55f9ef7..5fada36 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -736,11 +736,13 @@ This is used only when running from git source and not a
package release."
;; This call loads the rest of the Hyperbole system.
(require 'hinit)
-(if after-init-time
- ;; This call initializes Hyperbole key bindings and hooks.
- (hyperb:init)
- ;; Initialize after other key bindings are loaded at startup.
- (add-hook 'after-init-hook #'hyperb:init t))
+;; Prevent multiple initializations of Hyperbole
+(unless (featurep 'hyperbole)
+ (if after-init-time
+ ;; This call initializes Hyperbole key bindings and hooks.
+ (hyperb:init)
+ ;; Initialize after other key bindings are loaded at startup.
+ (add-hook 'after-init-hook #'hyperb:init t)))
(makunbound 'hyperbole-loading)
- [elpa] externals/hyperbole 96dcfee 41/51: Bulk of changes for test release 7.1.2, (continued)
- [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, 2020/07/12
- [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 <=