branch: externals/hyperbole commit 8a8787ff50196e8fb03857613f4a7ddb4387fdcd Author: Bob Weiner <r...@gnu.org> Commit: Bob Weiner <r...@gnu.org>
Initial 8.0.1pre changes and fixes for async nativecomp errors --- ChangeLog | 55 +++++++++++++++++++++++ HY-ABOUT | 2 +- HY-NEWS | 17 +++++++ Makefile | 49 ++++++++++---------- README.md | 2 +- hactypes.el | 6 +-- hbdata.el | 3 +- hgnus.el | 4 +- hibtypes.el | 4 +- hinit.el | 6 +-- hload-path.el | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++-- hmh.el | 4 +- hrmail.el | 4 +- hsys-www.el | 3 +- hui-em-but.el | 3 +- hui-mouse.el | 27 +++++------ hui-select.el | 16 ++++--- hversion.el | 15 +------ hvm.el | 4 +- hypb-ert.el | 3 +- hypb.el | 52 ++++------------------ hyperbole.el | 85 +++-------------------------------- kotl/kotl-mode.el | 4 +- kotl/kview.el | 4 +- kotl/kvspec.el | 3 +- man/hyperbole.html | 32 +++++++------- man/hyperbole.info | Bin 589642 -> 589583 bytes man/hyperbole.pdf | Bin 1342011 -> 1342006 bytes man/hyperbole.texi | 36 +++++++-------- man/version.texi | 4 +- 30 files changed, 326 insertions(+), 249 deletions(-) diff --git a/ChangeLog b/ChangeLog index e4396a37c6..b4028b6122 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,58 @@ +2022-05-12 Bob Weiner <r...@gnu.org> + +* hypb.el (hypb:rgrep): Fix so --exclude directories are always included; sexp + nesting was wrong. + +2022-05-11 Bob Weiner <r...@gnu.org> + +* hversion.el (hyperb:microsoft-os-p, hyperb:wsl-os-p): Move to "hload-path.el". + All the changes in the last 3 days resolve the async native compiler Errors, + leaving just warnings which may be ignored. + +2022-05-10 Bob Weiner <r...@gnu.org> + +* hibtypes.el (elisp-compiler-msg): Add support for "*Async-native-compile-log*". + +* hui-mouse.el (smart-dired): Remove 'quit-window' when (eolp) since Hyperbole globally + controls EOL behavior and overrides this. Extend subdir display when on any Dired + header line (not just the first one), i.e. when subdirs are inserted with {i}. + +* hbdata.el (require 'hversion): Add to satisfy async nativecomp. + +* hypb.el (hypb:with-suppressed-warnings): Move to "hload-path.el" and rename to + 'hyperb:with-suppressed-warnings'. + +2022-05-09 Bob Weiner <r...@gnu.org> + +* Makefile (release): Add 'git-pull' and 'git-verify-no-update' dependencies and remove + from 'pkg' target so can make test packages without having to synchronize with git + master. + (hyperbole-$(HYPB_VERSION).tar): Archive the current state of the Hyperbole + branch rather than the last commit, so can test packages before committing. + +* hyperbole.el: + hrmail.el: + hmh.el: + hgnus.el: + hsys-www.el: + hui-em-but.el: + hui-mouse.el: + hypb-ert.el: + hvm.el (hload-path): Add require of this library to handle autoloads. + +2022-05-08 Bob Weiner <r...@gnu.org> + +* hyperbole.el (hyperb:init): Run 'hyperb:maybe-generate-autoloads' even if + Emacs is noninteractive. + (hyperb:init): Move loading of autoloads from here to "hload-path.el" + so can be loaded when native compilation is invoked asynchronously upon + Hyperbole package installation. + hload-path.el: Move whole autoloads section from "hyperbole.el" to here. + +2022-05-02 Bob Weiner <r...@gnu.org> + +* hactypes.el (require 'hvar): Add to ensure var:append is defined. + 2022-05-02 Mats Lidell <ma...@gnu.org> * hypb-maintenance.el (hypb:web-repo-update): Add files to website that diff --git a/HY-ABOUT b/HY-ABOUT index 9c0747e275..5811c10f31 100644 --- a/HY-ABOUT +++ b/HY-ABOUT @@ -3,7 +3,7 @@ Designed and Written by Bob Weiner Maintained by Mats Lidell and Bob Weiner https://www.gnu.org/software/hyperbole/ - Version 8.0.0 + Version 8.0.1pre Say thanks or send a testimonial if you like Hyperbole: Email: <r...@gnu.org> diff --git a/HY-NEWS b/HY-NEWS index 0a8b09cc81..b55ba8bb29 100644 --- a/HY-NEWS +++ b/HY-NEWS @@ -1,6 +1,23 @@ What's New in GNU Hyperbole by Bob Weiner +=========================================================================== +* V8.0.1pre +=========================================================================== + +** HYPERBOLE SYSTEM + +*** Native Comp Autoloads: Work around Emacs bug where async native comp of + a package being installed does not load hyperbole-autoloads.el (require + libraries to eliminate all Error-level messages). + + +** SMART KEYS + +*** Smart Dired: Action Key subdirectory selection at point now works on + any dired header line, not just the first one. Use {i} to insert + multiple subdirectories in Dired mode. + =========================================================================== * V8.0.0 =========================================================================== diff --git a/Makefile b/Makefile index d3f9da112c..9f2ebd7831 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # Author: Bob Weiner # # Orig-Date: 15-Jun-94 at 03:42:38 -# Last-Mod: 1-May-22 at 11:33:26 by Bob Weiner +# Last-Mod: 11-May-22 at 01:30:04 by Bob Weiner # # Copyright (C) 1994-2022 Free Software Foundation, Inc. # See the file HY-COPY for license information. @@ -83,7 +83,7 @@ # This ver setup won't work under any make except GNU make, so set it manually. #HYPB_VERSION = "`head -3 hversion.el | tail -1 | sed -e 's/.*|\(.*\)|.*/\1/'`" -HYPB_VERSION = 8.0.0 +HYPB_VERSION = 8.0.1pre # Emacs executable used to byte-compile .el files into .elc's. # Possibilities include: emacs, infodock, etc. @@ -145,11 +145,11 @@ ZIP = \zip -qry CVS = \cvs # Directory in which to create new package distributions of Hyperbole. -pkg_dir = /tmp -pkg_hyperbole = $(pkg_dir)/hyperbole +pkg_parent = /tmp +pkg_hyperbole = $(pkg_parent)/hyperbole-$(HYPB_VERSION) # Temp file to use to build .elc files. -ELISP_TO_COMPILE = $(pkg_dir)/elc-${USER} +ELISP_TO_COMPILE = $(pkg_parent)/elc-${USER} # Path to dir where the web repository is located i.e. hypb:web-repo-location HYPB_WEB_REPO_LOCATION = "../hyweb/hyperbole/" @@ -162,7 +162,7 @@ HYPB_WEB_REPO_LOCATION = "../hyweb/hyperbole/" PRELOADS = $(SITE_PRELOADS) -l ./hload-path.el -l ./hversion.el -l ./hyperbole.el # Compile in batch mode. Load site-lisp/site-start.el, which may set load-path. -BATCHFLAGS = -batch -Q +BATCHFLAGS = -batch -Q --eval "(setq debug-on-error t)" EMACS_BATCH=$(EMACS) $(BATCHFLAGS) $(PRELOADS) @@ -378,11 +378,11 @@ website: website-local # Generate a Hyperbole package suitable for distribution via the Emacs package manager. pkg: package -package: git-pull doc git-verify-no-update $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.sig +package: doc $(pkg_parent)/hyperbole-$(HYPB_VERSION).tar.sig # Generate and distribute a Hyperbole release to ftp.gnu.org. # One step in this is to generate an autoloads file for the Koutliner, kotl/kotl-autoloads.el. -release: package $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.gz ftp website git-tag-release +release: git-pull git-verify-no-update package $(pkg_parent)/hyperbole-$(HYPB_VERSION).tar.gz ftp website git-tag-release @ echo; echo "Hyperbole $(HYPB_VERSION) released to ftp.gnu.org successfully." # Ensure local hyperbole directory is synchronized with master before building a release. @@ -401,8 +401,8 @@ git-tag-release: # Send compressed tarball for uploading to GNU ftp site; this must be done from the directory # containing the tarball to upload. -ftp: package $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.gz - cd $(pkg_dir) && $(GNUFTP) hyperbole-$(HYPB_VERSION).tar.gz +ftp: package $(pkg_parent)/hyperbole-$(HYPB_VERSION).tar.gz + cd $(pkg_parent) && $(GNUFTP) hyperbole-$(HYPB_VERSION).tar.gz # Autoloads autoloads: hyperbole-autoloads.el kotl/kotl-autoloads.el @@ -414,20 +414,21 @@ kotl/kotl-autoloads.el: $(EL_KOTL) $(EMACS_BATCH) --debug --eval "(progn (setq generated-autoload-file (expand-file-name \"kotl/kotl-autoloads.el\") backup-inhibited t) (let (find-file-hooks) (make-directory-autoloads \"kotl/\" generated-autoload-file)))" # Used for ftp.gnu.org tarball distributions. -$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.gz: - cd $(pkg_dir) && $(GZIP) hyperbole-$(HYPB_VERSION).tar > hyperbole-$(HYPB_VERSION).tar.gz - -$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.sig: $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar - $(RM) $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.sig - cd $(pkg_dir) && $(GPG) -ba -o hyperbole-$(HYPB_VERSION).tar.sig hyperbole-$(HYPB_VERSION).tar - @ echo; echo "Hyperbole package built successfully:" - @ ls -l $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar* - -$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar: version $(HYPERBOLE_FILES) - $(RM) -fr $(pkg_hyperbole) $(pkg_hyperbole)-$(HYPB_VERSION).tar - git archive --format=tar --prefix=hyperbole-$(HYPB_VERSION)/ HEAD | (cd $(pkg_dir) && tar xf -) - cd $(pkg_hyperbole)-$(HYPB_VERSION) && make autoloads && chmod 755 topwin.py - COPYFILE_DISABLE=1 $(TAR) -C $(pkg_dir) -clf $(pkg_hyperbole)-$(HYPB_VERSION).tar hyperbole-$(HYPB_VERSION) +$(pkg_parent)/hyperbole-$(HYPB_VERSION).tar.gz: + cd $(pkg_parent) && $(GZIP) hyperbole-$(HYPB_VERSION).tar > hyperbole-$(HYPB_VERSION).tar.gz + +$(pkg_parent)/hyperbole-$(HYPB_VERSION).tar.sig: $(pkg_parent)/hyperbole-$(HYPB_VERSION).tar + $(RM) $(pkg_parent)/hyperbole-$(HYPB_VERSION).tar.sig && \ + cd $(pkg_parent) && $(GPG) -ba -o hyperbole-$(HYPB_VERSION).tar.sig hyperbole-$(HYPB_VERSION).tar && \ + echo && echo "Hyperbole package built successfully:" && \ + ls -l $(pkg_parent)/hyperbole-$(HYPB_VERSION).tar* + +$(pkg_parent)/hyperbole-$(HYPB_VERSION).tar: version $(HYPERBOLE_FILES) + $(RM) -fr $(pkg_hyperbole) $(pkg_hyperbole).tar + # git archive --format=tar --prefix=hyperbole-$(HYPB_VERSION)/ HEAD | (cd $(pkg_parent) && tar xf -) + (mkdir -p $(pkg_hyperbole) && git ls-files | tar Tzcf - - | (cd $(pkg_hyperbole) && tar zxf -)) && \ + $(CP) hyperbole-pkg.el $(pkg_hyperbole) && cd $(pkg_hyperbole) && make autoloads && chmod 755 topwin.py && \ + COPYFILE_DISABLE=1 $(TAR) -C $(pkg_parent) -clf $(pkg_hyperbole).tar hyperbole-$(HYPB_VERSION) pkgclean: packageclean packageclean: diff --git a/README.md b/README.md index 82b462fec5..f9bc1f185d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GNU Hyperbole 8.0.0 - The Everyday Hypertextual Information Manager +# GNU Hyperbole 8.0.1pre - The Everyday Hypertextual Information Manager [We work on Hyperbole as a gift to the Emacs community and request you send us a thank you or a testimonial describing your usage if you like diff --git a/hactypes.el b/hactypes.el index 63bcde4c21..f7d6f17510 100644 --- a/hactypes.el +++ b/hactypes.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 23-Sep-91 at 20:34:36 -;; Last-Mod: 17-Apr-22 at 12:37:06 by Bob Weiner +;; Last-Mod: 2-May-22 at 00:25:26 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -16,9 +16,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ -(eval-and-compile (mapc #'require '(hbut hpath hargs hmail))) -(eval-when-compile (mapc #'require '(comint hsettings))) -(require 'bookmark) +(eval-and-compile (mapc #'require '(bookmark hvar hsettings comint hbut hpath hargs hmail))) ;;; ************************************************************************ ;;; Public declarations diff --git a/hbdata.el b/hbdata.el index 6d8d76ffff..4f8d694db0 100644 --- a/hbdata.el +++ b/hbdata.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 2-Apr-91 -;; Last-Mod: 17-Apr-22 at 12:38:53 by Bob Weiner +;; Last-Mod: 10-May-22 at 00:24:16 by Bob Weiner ;; ;; Copyright (C) 1991-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -50,6 +50,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ +(require 'hversion) ;; For hyperb:microsoft-os-p (require 'hbmap) (require 'hgnus) diff --git a/hgnus.el b/hgnus.el index 938f14f2dc..b878a5a665 100644 --- a/hgnus.el +++ b/hgnus.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 24-Dec-91 at 22:29:28 -;; Last-Mod: 24-Jan-22 at 00:31:29 by Bob Weiner +;; Last-Mod: 9-May-22 at 00:01:49 by Bob Weiner ;; ;; Copyright (C) 1991-2016 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -33,7 +33,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ -(eval-and-compile (mapc #'require '(hmail hsmail hypb gnus-msg))) +(eval-and-compile (mapc #'require '(hload-path hmail hsmail hypb gnus-msg))) ;;; ************************************************************************ ;;; Public variables diff --git a/hibtypes.el b/hibtypes.el index 5d6efd94df..10a42e921c 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: 17-Apr-22 at 13:47:31 by Bob Weiner +;; Last-Mod: 11-May-22 at 00:32:46 by Bob Weiner ;; ;; Copyright (C) 1991-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -1066,7 +1066,7 @@ This works with JavaScript and Python tracebacks, gdb, dbx, and xdb. Such lines "Jump to source code for definition associated with an Emacs Lisp byte-compiler error message or ERT test output line. Works when activated anywhere within such a line." (when (or (member (buffer-name) '("*Compile-Log-Show*" "*Compile-Log*" - "*compilation*")) + "*compilation*" "*Async-native-compile-log*")) (save-excursion (and (re-search-backward "^[^ \t\n\r]" nil t) (looking-at "While compiling")))) diff --git a/hinit.el b/hinit.el index f3a465609a..8ee179b0a5 100644 --- a/hinit.el +++ b/hinit.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 1-Oct-91 at 02:32:51 -;; Last-Mod: 17-Apr-22 at 12:11:55 by Bob Weiner +;; Last-Mod: 8-May-22 at 19:32:32 by Bob Weiner ;; ;; Copyright (C) 1991-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -35,7 +35,7 @@ ;; browser. Define this as a dummy function that always returns nil ;; until the OO-Browser is ever loaded. (defun br-in-browser () - "Always returns nil since the OO-Browser is not loaded." + "Always return nil since the OO-Browser is not loaded." nil)) ;;;###autoload @@ -67,7 +67,7 @@ ;;; ************************************************************************ (defun hyperb:check-dir-user () - "Ensures `hbmap:dir-user' exists and is writable or signals an error." + "Ensure `hbmap:dir-user' exists and is writable or signal an error." (if (or (null hbmap:dir-user) (not (stringp hbmap:dir-user)) (and (setq hbmap:dir-user (file-name-as-directory (expand-file-name hbmap:dir-user))) diff --git a/hload-path.el b/hload-path.el index 80f671a4c1..29481985bd 100644 --- a/hload-path.el +++ b/hload-path.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 29-Jun-16 at 14:39:33 -;; Last-Mod: 24-Jan-22 at 00:18:33 by Bob Weiner +;; Last-Mod: 11-May-22 at 00:12:11 by Bob Weiner ;; ;; Copyright (C) 1992-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -13,6 +13,22 @@ ;;; Commentary: ;;; Code: + +;;; ************************************************************************ +;;; Public variables +;;; ************************************************************************ + +;;;###autoload +(defvar hyperb:microsoft-os-p + (memq system-type '(ms-windows windows-nt ms-dos win32)) + "Non-nil iff Hyperbole is running under a Microsoft OS but not under Windows Subsystem for Linux (WSL). +Use `hyperb:wsl-os-p' to test if running under WSL.") + +;;;###autoload +(defvar hyperb:wsl-os-p + (and (eq system-type 'gnu/linux) (executable-find "wsl.exe") t) + "T iff Hyperbole is running under Microsoft Windows Subsystem for Linux (WSL).") + ;;; ************************************************************************ ;;; Hyperbole Directory Setting (dynamically computed) ;;; ************************************************************************ @@ -25,7 +41,7 @@ (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.") +Valid values end with a directory separator character.") ;; Add hyperb:dir to load-path so other Hyperbole libraries can be ;; found unless it is already there since the Emacs Package Manager @@ -49,13 +65,119 @@ It must end with a directory separator character.") (add-to-list 'load-path (expand-file-name "test" hyperb:dir)) - ;; 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))) +;;; ************************************************************************ +;;; Autoloads +;;; ************************************************************************ + +(defmacro hyperb:with-suppressed-warnings (warnings &rest body) + "Like `progn', but prevents compiler WARNINGS in BODY. + +Defined here for elpa build compatibility which uses Emacs 26 and +does not include `with-suppressed-warnings'. + +WARNINGS is an associative list where the first element of each +item is a warning type, and the rest of the elements in each item +are symbols they apply to. For instance, if you want to suppress +byte compilation warnings about the two obsolete functions `foo' +and `bar', as well as the function `zot' being called with the +wrong number of parameters, say + +\(with-suppressed-warnings ((obsolete foo bar) + (callargs zot)) + (foo (bar)) + (zot 1 2)) + +The warnings that can be suppressed are a subset of the warnings +in `byte-compile-warning-types'; see the variable +`byte-compile-warnings' for a fuller explanation of the warning +types. The types that can be suppressed with this macro are +`free-vars', `callargs', `redefine', `obsolete', +`interactive-only', `lexical', `mapcar', `constants' and +`suspicious'. + +For the `mapcar' case, only the `mapcar' function can be used in +the symbol list. For `suspicious', only `set-buffer' can be used." + + (declare (debug (sexp &optional body)) (indent 1)) + (if (fboundp 'with-suppressed-warnings) + `(with-suppressed-warnings ,warnings ,@body) + `(with-no-warnings ,@body))) +;; New autoload generation function defined only in Emacs 28 + +(unless (fboundp #'make-directory-autoloads) + (defun make-directory-autoloads (dir output-file) + "Update autoload definitions for Lisp files in the directories DIRS. +DIR can be either a single directory or a list of +directories. (The latter usage is discouraged.) + +The autoloads will be written to OUTPUT-FILE. If any Lisp file +binds ‘generated-autoload-file’ as a file-local variable, write +its autoloads into the specified file instead. + +The function does NOT recursively descend into subdirectories of the +directory or directories specified." + ;; Don't use a 'let' on this next line or it will fail. + (setq generated-autoload-file output-file) + (hyperb:with-suppressed-warnings ((obsolete update-directory-autoloads)) + (update-directory-autoloads dir)))) + +;; Menu items could call this function before Info is loaded. +(autoload 'Info-goto-node "info" "Jump to specific Info node." t) + +;; Auto-autoload doesn't work for next item because it is defined +;; within a condition-case, so autoload it here. +(autoload 'Vm-init "hvm" "Initializes Hyperbole Vm support." t) + +(defun hyperb:autoloads-exist-p () + "Return t if all Hyperbole autoload files exist or nil otherwise." + (and (file-readable-p (expand-file-name "hyperbole-autoloads.el" hyperb:dir)) + (file-readable-p (expand-file-name "kotl-autoloads.el" + (expand-file-name "kotl" hyperb:dir))))) + +(defun hyperb:maybe-generate-autoloads () + "Ensure Hyperbole *-autoload.el files are already generated or generate them. +This is used only when running from git source and not a package release." + (unless (hyperb:autoloads-exist-p) + (hyperb:generate-autoloads))) + +(defun hyperb:generate-autoloads () + "Renerate Hyperbole *-autoloads.el files whether they already exist or not." + (let* ((default-directory hyperb:dir) + (backup-inhibited t) + (find-file-hook) ;; Prevent header insertion + (al-file (expand-file-name "hyperbole-autoloads.el"))) + ;; (make-local-variable 'generated-autoload-file) + (with-current-buffer (find-file-noselect al-file) + (make-directory-autoloads "." al-file)) + (setq al-file (expand-file-name "kotl/kotl-autoloads.el")) + (with-current-buffer (find-file-noselect al-file) + (make-directory-autoloads "." al-file))) + (unless (hyperb:autoloads-exist-p) + (error (format "Hyperbole failed to generate autoload files; try running 'make src' in a shell in %s" hyperb:dir)))) + +(defun hyperb:maybe-load-autoloads () + "Load Hyperbole autoload files that have not already been loaded." + (let* ((default-directory hyperb:dir) + (hypb-autoloads (expand-file-name "hyperbole-autoloads.el")) + (kotl-autoloads (expand-file-name "kotl/kotl-autoloads.el"))) + (unless (featurep 'hyperbole-autoloads) + (when (file-readable-p hypb-autoloads) + (load-file hypb-autoloads))) + (unless (featurep 'kotl-autoloads) + (when (file-readable-p kotl-autoloads) + (load-file kotl-autoloads))))) + +;; Ensure *-autoloads.el files are already generated or generate them. +;; Then ensure they are loaded. +(hyperb:maybe-generate-autoloads) +(hyperb:maybe-load-autoloads) + (provide 'hload-path) ;;; hload-path.el ends here diff --git a/hmh.el b/hmh.el index 31dfb1c7cf..e0d4322896 100644 --- a/hmh.el +++ b/hmh.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 21-May-91 at 17:06:36 -;; Last-Mod: 24-Jan-22 at 00:18:46 by Bob Weiner +;; Last-Mod: 9-May-22 at 22:36:31 by Bob Weiner ;; ;; Copyright (C) 1991-2016 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -31,7 +31,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ -(eval-and-compile (mapc #'require '(hmail mh-e))) +(eval-and-compile (mapc #'require '(hload-path hmail mh-e))) (load "hsmail") ;;; ************************************************************************ diff --git a/hrmail.el b/hrmail.el index 958c8003bb..c5281b1480 100644 --- a/hrmail.el +++ b/hrmail.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 9-May-91 at 04:22:02 -;; Last-Mod: 24-Jan-22 at 00:18:47 by Bob Weiner +;; Last-Mod: 9-May-22 at 22:37:10 by Bob Weiner ;; ;; Copyright (C) 1991-2016 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -25,7 +25,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ -(eval-and-compile (mapc #'require '(hvar hmail hact rmail rmailsum rmailedit))) +(eval-and-compile (mapc #'require '(hload-path hvar hmail hact rmail rmailsum rmailedit))) (load "hsmail") ;;; ************************************************************************ diff --git a/hsys-www.el b/hsys-www.el index 1925e6f50f..4eca5d0513 100644 --- a/hsys-www.el +++ b/hsys-www.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 7-Apr-94 at 17:17:39 by Bob Weiner -;; Last-Mod: 17-Apr-22 at 13:37:44 by Bob Weiner +;; Last-Mod: 11-May-22 at 00:01:48 by Bob Weiner ;; ;; Copyright (C) 1994-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -28,6 +28,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ +(require 'hload-path) ;;; This does not require any particular web browser. (require 'browse-url) (require 'hbut) diff --git a/hui-em-but.el b/hui-em-but.el index 4128cc8c3a..d966967802 100644 --- a/hui-em-but.el +++ b/hui-em-but.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 21-Aug-92 -;; Last-Mod: 24-Jan-22 at 00:18:47 by Bob Weiner +;; Last-Mod: 11-May-22 at 00:01:27 by Bob Weiner ;; ;; Copyright (C) 1992-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -26,6 +26,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ +(require 'hload-path) (require 'custom) ;; For defface. (require 'hbut) (eval-when-compile (require 'hyrolo)) diff --git a/hui-mouse.el b/hui-mouse.el index 2919869adb..3b2554aacb 100644 --- a/hui-mouse.el +++ b/hui-mouse.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 04-Feb-89 -;; Last-Mod: 17-Apr-22 at 13:46:49 by Bob Weiner +;; Last-Mod: 10-May-22 at 23:37:13 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -38,6 +38,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ +(require 'hload-path) (eval-when-compile (require 'hsys-org)) (require 'hbut) (unless (fboundp 'smart-info) @@ -483,10 +484,6 @@ Action and Assist Mouse Keys.") ;;; driver code ;;; ************************************************************************ -;; The following autoload is needed if another subsystem besides -;; Hyperbole uses this mouse handling code. -(autoload 'var:append "hvar" "Append to a list variable." nil) - (require 'hargs) (defvar hmouse-alist hkey-alist "Alist of predicates and form-conses for the Action and Assist Mouse Keys. @@ -834,25 +831,25 @@ If key is pressed: for display in another window, then this entry is displayed in the current window (DisplayHere minor mode is shown in the mode-line; use {g} to disable it) - (2) on the first line of the buffer (other than the end of line): + (2) on a dired header line (other than the end of line): (a) within the leading whitespace, then if any deletes are to be performed, they are executed after user verification; otherwise, nothing is done; (b) otherwise, dired is run in another window on the ancestor directory of the current directory path up through the location of point; - if point is before the first character, then the / root directory + if point is on the first character, then the / root directory is used. - (3) on or after the last line in the buffer or at the end of the first line, - this dired invocation is quit." + (3) on or after the last line in the buffer, this dired invocation is quit." (interactive) - (cond ((first-line-p) - (cond ((eolp) (quit-window)) - ((and (looking-at "\\s-") + (cond ((save-excursion + (forward-line 0) + (looking-at dired-subdir-regexp)) + (cond ((and (looking-at "\\s-") (save-excursion (skip-syntax-backward "-")) (bolp)) - ;; In whitespace at beginning of 1st line, perform deletes. + ;; In whitespace at beginning of a directory header line, perform deletes. (if (save-excursion (goto-char (point-min)) (re-search-forward "^D" nil t)) @@ -880,8 +877,8 @@ If assist-key is pressed: deletion; (3) anywhere else within an entry line, the current entry is marked for deletion; - (4) on or after the last line in the buffer or at the end of the - first line, all delete marks on all entries are undone." + (4) on or after the last line in the buffer, all delete marks on all entries + are undone." (interactive) (cond ((or (last-line-p) (and (first-line-p) (eolp))) diff --git a/hui-select.el b/hui-select.el index cdfedb40e1..4b56f4958e 100644 --- a/hui-select.el +++ b/hui-select.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 19-Oct-96 at 02:25:27 -;; Last-Mod: 17-Apr-22 at 15:33:00 by Bob Weiner +;; Last-Mod: 8-May-22 at 11:06:42 by Bob Weiner ;; ;; Copyright (C) 1996-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -205,11 +205,13 @@ ;;; Private variables ;;; ************************************************************************ -(defconst hui-select-syntax-table (make-syntax-table emacs-lisp-mode-syntax-table) +(defconst hui-select-syntax-table + (let ((st (make-syntax-table emacs-lisp-mode-syntax-table))) + ;; Make braces be thing delimiters, not punctuation. + (modify-syntax-entry ?\{ "(}" st) + (modify-syntax-entry ?\} "){" st) + st) "Syntax table to use when selecting delimited things.") -;; Make braces be thing delimiters, not punctuation. -(modify-syntax-entry ?\{ "\(\}" hui-select-syntax-table) -(modify-syntax-entry ?\} "\)\{" hui-select-syntax-table) (defvar hui-select-bigger-alist '((char nil) @@ -368,8 +370,8 @@ Also, add language-specific syntax setups to aid in thing selection." (keymap (symbol-value ',keymap-sym))) (modify-syntax-entry ?< "(>" syntax-table) (modify-syntax-entry ?> ")<" syntax-table) - (modify-syntax-entry ?\{ "\(\}" syntax-table) - (modify-syntax-entry ?\} "\)\{" syntax-table) + (modify-syntax-entry ?\{ "(}" syntax-table) + (modify-syntax-entry ?\} "){" syntax-table) (modify-syntax-entry ?\" "\"" syntax-table) (modify-syntax-entry ?= "." syntax-table) (modify-syntax-entry ?. "_" syntax-table) diff --git a/hversion.el b/hversion.el index 35e9a5cf2b..89f1547935 100644 --- a/hversion.el +++ b/hversion.el @@ -4,7 +4,7 @@ ;; Maintainer: Bob Weiner, Mats Lidell ;; ;; Orig-Date: 1-Jan-94 -;; Last-Mod: 1-May-22 at 10:25:28 by Bob Weiner +;; Last-Mod: 11-May-22 at 01:11:22 by Bob Weiner ;; ;; Copyright (C) 1994-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -24,18 +24,7 @@ ;;; Public variables ;;; ************************************************************************ -(defconst hyperb:version "8.0.0" "GNU Hyperbole revision number.") - -;;;###autoload -(defvar hyperb:microsoft-os-p - (memq system-type '(ms-windows windows-nt ms-dos win32)) - "Non-nil iff Hyperbole is running under a Microsoft OS but not under Windows Subsystem for Linux (WSL). -Use `hyperb:wsl-os-p' to test if running under WSL.") - -;;;###autoload -(defvar hyperb:wsl-os-p - (and (eq system-type 'gnu/linux) (executable-find "wsl.exe") t) - "T iff Hyperbole is running under Microsoft Windows Subsystem for Linux (WSL).") +(defconst hyperb:version "8.0.1pre" "GNU Hyperbole revision number.") ;;;###autoload (defvar hyperb:mouse-buttons diff --git a/hvm.el b/hvm.el index 408b460f65..4774af562a 100644 --- a/hvm.el +++ b/hvm.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 10-Oct-91 at 01:51:12 -;; Last-Mod: 24-Jan-22 at 00:18:53 by Bob Weiner +;; Last-Mod: 8-May-22 at 23:59:33 by Bob Weiner ;; ;; Copyright (C) 1991-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -34,6 +34,8 @@ (condition-case nil (progn +(require 'hload-path) + (eval-and-compile (require 'hmail) (load "hsmail") diff --git a/hypb-ert.el b/hypb-ert.el index b3f1e89027..ff4a05a412 100644 --- a/hypb-ert.el +++ b/hypb-ert.el @@ -3,7 +3,7 @@ ;; Author: Mats Lidell <ma...@gnu.org> and Bob Weiner <r...@gnu.org> ;; ;; Orig-Date: 31-Mar-21 at 21:11:00 -;; Last-Mod: 24-Jan-22 at 00:36:17 by Bob Weiner +;; Last-Mod: 11-May-22 at 00:00:42 by Bob Weiner ;; ;; Copyright (C) 2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -27,6 +27,7 @@ ;;; Code: +(require 'hload-path) (require 'ert) (require 'hbut) (require 'hargs) diff --git a/hypb.el b/hypb.el index 2965787bc5..73c8ac3ef7 100644 --- a/hypb.el +++ b/hypb.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 6-Oct-91 at 03:42:38 -;; Last-Mod: 1-May-22 at 10:25:55 by Bob Weiner +;; Last-Mod: 12-May-22 at 00:03:09 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -710,16 +710,16 @@ If in an Emacs Lisp mode buffer and no PREFX-ARG is given, limit search to only (grep-cmd (if (and (not current-prefix-arg) (equal (buffer-name) "*Locate*")) (format "%s -e \%c%s\%c %s" hypb:rgrep-command delim pattern delim (hypb:locate-pathnames)) - (format "%s %s -e \%c%s\%c ." + (format "%s %s %s -e \%c%s\%c ." hypb:rgrep-command - (if (and (memq major-mode '(emacs-lisp-mode lisp-interaction-mode)) - (not prefx-arg)) - (if (string-match "\\`rg " hypb:rgrep-command) - "-g \"*.el\" -g \"*.el.gz\"" - "--include=\"*.el\" --include=\"*.el.gz\"") + (when (and (memq major-mode '(emacs-lisp-mode lisp-interaction-mode)) + (not prefx-arg)) (if (string-match "\\`rg " hypb:rgrep-command) - "-g \"!*~\" -g \"!#*\" -g \"!TAGS\"" - "--exclude=\".git\" --exclude=\"CVS\" --exclude=\"*~\" --exclude=\"#*\" --exclude=\"TAGS\"")) + "-g \"*.el\" -g \"*.el.gz\"" + "--include=\"*.el\" --include=\"*.el.gz\"")) + (if (string-match "\\`rg " hypb:rgrep-command) + "-g \"!*~\" -g \"!#*\" -g \"!TAGS\"" + "--exclude=\".git\" --exclude=\"CVS\" --exclude=\"*~\" --exclude=\"#*\" --exclude=\"TAGS\"") delim pattern delim)))) (setq this-command `(grep ,grep-cmd)) (push this-command command-history) @@ -839,40 +839,6 @@ in the list, even if it is not active. If MINIBUFFER-FLAG is neither t nor nil it means to not count the minibuffer window even if it is active." (window-list nil minibuffer-flag)) -(defmacro hypb:with-suppressed-warnings (warnings &rest body) - "Like `progn', but prevents compiler WARNINGS in BODY. - -Defined here for elpa build compatibility which uses Emacs 26 and -does not include `with-suppressed-warnings'. - -WARNINGS is an associative list where the first element of each -item is a warning type, and the rest of the elements in each item -are symbols they apply to. For instance, if you want to suppress -byte compilation warnings about the two obsolete functions `foo' -and `bar', as well as the function `zot' being called with the -wrong number of parameters, say - -\(with-suppressed-warnings ((obsolete foo bar) - (callargs zot)) - (foo (bar)) - (zot 1 2)) - -The warnings that can be suppressed are a subset of the warnings -in `byte-compile-warning-types'; see the variable -`byte-compile-warnings' for a fuller explanation of the warning -types. The types that can be suppressed with this macro are -`free-vars', `callargs', `redefine', `obsolete', -`interactive-only', `lexical', `mapcar', `constants' and -`suspicious'. - -For the `mapcar' case, only the `mapcar' function can be used in -the symbol list. For `suspicious', only `set-buffer' can be used." - - (declare (debug (sexp &optional body)) (indent 1)) - (if (fboundp 'with-suppressed-warnings) - `(with-suppressed-warnings ,warnings ,@body) - `(with-no-warnings ,@body))) - ;;; ************************************************************************ ;;; About Hyperbole Setup ;;; ************************************************************************ diff --git a/hyperbole.el b/hyperbole.el index 84e1614d00..03e575a25e 100644 --- a/hyperbole.el +++ b/hyperbole.el @@ -5,9 +5,9 @@ ;; Author: Bob Weiner ;; Maintainer: Bob Weiner <r...@gnu.org>, Mats Lidell <ma...@gnu.org> ;; Created: 06-Oct-92 at 11:52:51 -;; Last-Mod: 1-May-22 at 10:31:04 by Bob Weiner -;; Released: 03-May-21 -;; Version: 8.0.0 +;; Last-Mod: 11-May-22 at 01:16:34 by Bob Weiner +;; Released: 01-May-22 +;; Version: 8.0.1pre ;; Keywords: comm, convenience, files, frames, hypermedia, languages, mail, matching, mouse, multimedia, outlines, tools, wp ;; Package: hyperbole ;; Package-Requires: ((emacs "27.0")) @@ -163,6 +163,7 @@ Info documentation at \"(hyperbole)Top\". ;;; Other required Elisp libraries ;;; ************************************************************************ +(require 'hload-path) ;; Avoid any potential library name conflict by giving the load directory. (require 'set (expand-file-name "set" hyperb:dir)) (require 'hypb) @@ -256,8 +257,8 @@ of the commands." ;; ;; Typically bind the key, {C-h A}, for Action Key help and {C-u C-h A} for Assist key ;; help. - (or (where-is-internal #'hkey-help) - (hkey-set-key (vector help-char ?A) #'hkey-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)) @@ -371,34 +372,6 @@ frame, those functions by default still return the prior frame." (add-hook 'temp-buffer-show-hook #'hkey-help-show) (setq temp-buffer-show-function #'hkey-help-show) -;;; ************************************************************************ -;;; Autoloads -;;; ************************************************************************ - -;; New autoload generation function defined only in Emacs 28 -(unless (fboundp #'make-directory-autoloads) - (defun make-directory-autoloads (dir output-file) - "Update autoload definitions for Lisp files in the directories DIRS. -DIR can be either a single directory or a list of -directories. (The latter usage is discouraged.) - -The autoloads will be written to OUTPUT-FILE. If any Lisp file -binds ‘generated-autoload-file’ as a file-local variable, write -its autoloads into the specified file instead. - -The function does NOT recursively descend into subdirectories of the -directory or directories specified." - ;; Don't use a 'let' on this next line or it will fail. - (setq generated-autoload-file output-file) - (hypb:with-suppressed-warnings ((obsolete update-directory-autoloads)) - (update-directory-autoloads dir)))) - -;; Menu items could call this function before Info is loaded. -(autoload 'Info-goto-node "info" "Jump to specific Info node." t) - -;; Auto-autoload doesn't work for next item because it is defined -;; within a condition-case, so autoload it here. -(autoload 'Vm-init "hvm" "Initializes Hyperbole Vm support." t) ;;; ************************************************************************ ;;; Outline Mode Aliases @@ -500,13 +473,6 @@ If FLAG is nil then text is shown, while if FLAG is t the text is hidden." user-mail-address) (concat (user-login-name) (hypb:domain-name))))) ;; - ;; When running from git source and not a release package, ensure - ;; *-autoloads.el files are already generated or generate them. - ;; Then ensure they are loaded. - (unless noninteractive - (hyperb:maybe-generate-autoloads)) - (hyperb:maybe-load-autoloads) - ;; ;; Modify syntactic character pairs for use with implicit button activations. (hbut:modify-syntax) ;; @@ -529,45 +495,6 @@ If FLAG is nil then text is shown, while if FLAG is t the text is hidden." ;; Hyperbole initialization is complete. (message "Initializing Hyperbole...done")) -(defun hyperb:autoloads-exist-p () - "Return t if all Hyperbole autoload files exist or nil otherwise." - (and (file-readable-p (expand-file-name "hyperbole-autoloads.el" hyperb:dir)) - (file-readable-p (expand-file-name "kotl-autoloads.el" - (expand-file-name "kotl" hyperb:dir))))) - -(defun hyperb:maybe-generate-autoloads () - "Ensure Hyperbole *-autoload.el files are already generated or generate them. -This is used only when running from git source and not a package release." - (unless (hyperb:autoloads-exist-p) - (hyperb:generate-autoloads))) - -(defun hyperb:generate-autoloads () - "Renerate Hyperbole *-autoloads.el files whether they already exist or not." - (let* ((default-directory hyperb:dir) - (backup-inhibited t) - (find-file-hook) ;; Prevent header insertion - (al-file (expand-file-name "hyperbole-autoloads.el"))) - ;; (make-local-variable 'generated-autoload-file) - (with-current-buffer (find-file-noselect al-file) - (make-directory-autoloads "." al-file)) - (setq al-file (expand-file-name "kotl/kotl-autoloads.el")) - (with-current-buffer (find-file-noselect al-file) - (make-directory-autoloads "." al-file))) - (unless (hyperb:autoloads-exist-p) - (error (format "Hyperbole failed to generate autoload files; try running 'make src' in a shell in %s" hyperb:dir)))) - -(defun hyperb:maybe-load-autoloads () - "Load Hyperbole autoload files that have not already been loaded." - (let* ((default-directory hyperb:dir) - (hypb-autoloads (expand-file-name "hyperbole-autoloads.el")) - (kotl-autoloads (expand-file-name "kotl/kotl-autoloads.el"))) - (unless (featurep 'hyperbole-autoloads) - (when (file-readable-p hypb-autoloads) - (load-file hypb-autoloads))) - (unless (featurep 'kotl-autoloads) - (when (file-readable-p kotl-autoloads) - (load-file kotl-autoloads))))) - ;; This call loads the rest of the Hyperbole system. (require 'hinit) diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el index ab4cfbee6f..35a3de3cc2 100644 --- a/kotl/kotl-mode.el +++ b/kotl/kotl-mode.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 6/30/93 -;; Last-Mod: 18-Apr-22 at 00:45:33 by Bob Weiner +;; Last-Mod: 12-May-22 at 00:11:23 by Bob Weiner ;; ;; Copyright (C) 1993-2021 Free Software Foundation, Inc. ;; See the "../HY-COPY" file for license information. @@ -168,7 +168,7 @@ It provides the following keys: ;; We have been converting a buffer from a foreign format to a koutline. ;; Now that it is converted, ensure that `kotl-previous-mode' is set to ;; koutline. - (hypb:with-suppressed-warnings ((free-vars kotl-previous-mode)) + (hyperb:with-suppressed-warnings ((free-vars kotl-previous-mode)) (setq kotl-previous-mode 'kotl-mode)) ;; Enable Org Table editing minor mode (user can disable via kotl-mode-hook ;; if desired). diff --git a/kotl/kview.el b/kotl/kview.el index 534fde635d..9157361590 100644 --- a/kotl/kview.el +++ b/kotl/kview.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 6/30/93 -;; Last-Mod: 1-May-22 at 10:27:06 by Bob Weiner +;; Last-Mod: 11-May-22 at 00:54:33 by Bob Weiner ;; ;; Copyright (C) 1993-2021 Free Software Foundation, Inc. ;; See the "../HY-COPY" file for license information. @@ -17,7 +17,7 @@ ;;; Other required Lisp Libraries ;;; ************************************************************************ -(eval-and-compile (mapc #'require '(klabel kfill klink hypb))) +(eval-and-compile (mapc #'require '(hact klabel kfill klink hypb))) ;; Quiet byte compiler warnings for this free variable. (eval-when-compile (defvar label-sep-len nil)) diff --git a/kotl/kvspec.el b/kotl/kvspec.el index e81cba2fb5..ad95e07ff6 100644 --- a/kotl/kvspec.el +++ b/kotl/kvspec.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 21-Oct-95 at 15:17:07 -;; Last-Mod: 12-Feb-22 at 10:42:20 by Mats Lidell +;; Last-Mod: 11-May-22 at 00:51:57 by Bob Weiner ;; ;; Copyright (C) 1995-2021 Free Software Foundation, Inc. ;; See the "../HY-COPY" file for license information. @@ -53,6 +53,7 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ +(require 'hact) ;; Ensure symtable:add is defined. (require 'kview) ;; Quiet byte compiler warnings for these free variables. diff --git a/man/hyperbole.html b/man/hyperbole.html index cf00b19bb4..1bce8edc71 100644 --- a/man/hyperbole.html +++ b/man/hyperbole.html @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- This manual is for GNU Hyperbole -(Edition 8.0.0, Published May, 2022). +(Edition 8.0.1pre, Published May, 2022). Copyright (C) 1989-2022 Free Software Foundation, Inc. @@ -369,8 +369,8 @@ WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P> <PRE> -Edition 8.0.0 -Printed May 1, 2022. +Edition 8.0.1pre +Printed May 11, 2022. Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -888,7 +888,7 @@ Next: <a href="#Usage" accesskey="n" rel="next">Usage</a>, Previous: <a href="#T <span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> <p>This edition of the GNU Hyperbole Manual is for use with any version -8.0.0 or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 27.1 +8.0.1pre or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 27.1 or higher. It will trigger an error if your Emacs is older. </p> <p>This chapter summarizes the structure of the rest of the manual, @@ -1138,7 +1138,7 @@ operations across emacs usage, including activating and showing help for Hyperbole buttons. In many popular Emacs modes, they allow you to perform common, sometimes complex operations without having to use a different key for each operation. Just press a Smart Key and the -right thing happens. See <a href="#Smart-Keys">Smart Keys</a>; +right thing happens. See <a href="#Smart-Keys">Smart Keys</a>. </p> </dd> <dt><em>Contact and Text Finder</em></dt> @@ -1520,7 +1520,7 @@ argument, such as <kbd>{C-u}</kbd>, then invokes <code>assist-key</code> actions </p> <p>You may also bind <code>action-mouse-key</code> and <code>assist-mouse-key</code> to other mouse keys, though you won’t be able to execute mouse drag actions with -such key bindings. See <a href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a> and see <a href="#Keyboard-Drags">Keyboard Drags</a>. +such key bindings. See <a href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a>, and see <a href="#Keyboard-Drags">Keyboard Drags</a>. </p> <p>To permanently change any of these key bindings, use: <code>(add-hook 'hyperbole-init-hook (lambda () (hkey-set-key <KEY> '<CMD>)</code>, @@ -2117,7 +2117,7 @@ their buffers. diagonal mouse drags within a single window. A diagonal drag in any direction of the Action Key saves the current window configuration to a ring of window configurations, just like the Emacs text kill ring. -(See <a href="https://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Kill-Ring">Kill Ring</a> in <cite>the Emacs Manual</cite>). Each diagonal drag in any +See <a href="https://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Kill-Ring">Kill Ring</a> in <cite>the Emacs Manual</cite>. Each diagonal drag in any direction of the Assist Key restores a prior saved window configuration from the ring. Window configurations are restored in reverse order of the way they were saved. Since a ring is circular, after the oldest element is @@ -8412,7 +8412,7 @@ keys were typed in by the user. </p> <p>Optionally, any of these id forms (or the relative form) may be followed by zero or more whitespace characters, a | and some view specification -characters. See <a href="#View-Specs">View Specs</a> +characters. See <a href="#View-Specs">View Specs</a>. </p> </dd> <dt><b>Klink</b></dt> @@ -8621,7 +8621,7 @@ display location and so forth. <dt><b>View Spec</b></dt> <dd><p>A terse string that specifies a particular view of a koutline or a link referent. If a view spec is active for a buffer, the view spec appears -within the modeline like so, <|view spec>. See <a href="#View-Specs">View Specs</a> +within the modeline like so, <|view spec>. See <a href="#View-Specs">View Specs</a>. </p> </dd> <dt><b>Window</b></dt> @@ -11089,16 +11089,14 @@ Next: <a href="#Smart-Key-_002d-Hyperbole-Buttons" accesskey="n" rel="next">Smar for display in another window, then this entry is displayed in the current window (DisplayHere minor mode is shown in the mode-line; use <kbd>{g}</kbd> to disable it) - (2) on the first line of the buffer: + (2) on a dired header line (other than the end of line): (a) within the leading whitespace, then if any deletes are to be performed, they are executed after user verification; otherwise, nothing is done; (b) otherwise, dired is run in another window on the ancestor directory - of the current directory path up through the location of point; - if point is before the first character, then the / root directory - is used. - (3) on or after the last line in the buffer or at the end of the first line, - this dired invocation is quit. + of the current directory path up through the location of point; if + point is on the first character, then the / root directory is used. + (3) on or after the last line in the buffer, this dired invocation is quit. </pre></div> <div class="format"> <pre class="format"> ASSIST KEY @@ -11106,8 +11104,8 @@ Next: <a href="#Smart-Key-_002d-Hyperbole-Buttons" accesskey="n" rel="next">Smar (2) on a # character, all auto-save files in the directory are marked for deletion; (3) anywhere else within an entry line, the current entry is marked for deletion; - (4) on or after the last line in the buffer or at the end of the first line, - all delete marks on all entries are undone. + (4) on or after the last line in the buffer, all delete marks on all entries are + undone. </pre></div> <hr> diff --git a/man/hyperbole.info b/man/hyperbole.info index 0760ea6152..8971ac36be 100644 Binary files a/man/hyperbole.info and b/man/hyperbole.info differ diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf index 302ece2294..8f106c99ba 100644 Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ diff --git a/man/hyperbole.texi b/man/hyperbole.texi index 22925142b7..59d83436e6 100644 --- a/man/hyperbole.texi +++ b/man/hyperbole.texi @@ -7,7 +7,7 @@ @c Author: Bob Weiner @c @c Orig-Date: 6-Nov-91 at 11:18:03 -@c Last-Mod: 1-May-22 at 10:32:20 by Bob Weiner +@c Last-Mod: 11-May-22 at 01:17:39 by Bob Weiner @c %**start of header (This is for running Texinfo on a region.) @setfilename hyperbole.info @@ -155,8 +155,8 @@ WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P> <PRE> -Edition 8.0.0 -Printed May 1, 2022. +Edition 8.0.1pre +Printed May 11, 2022. Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -197,8 +197,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @sp 2 @example -Edition 8.0.0 -May 1, 2022 +Edition 8.0.1pre +May 11, 2022 Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -511,7 +511,7 @@ Smart Keyboard Keys @chapter Introduction This edition of the GNU Hyperbole Manual is for use with any version -8.0.0 or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 27.1 +8.0.1pre or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 27.1 or higher. It will trigger an error if your Emacs is older. This chapter summarizes the structure of the rest of the manual, @@ -755,7 +755,7 @@ operations across emacs usage, including activating and showing help for Hyperbole buttons. In many popular Emacs modes, they allow you to perform common, sometimes complex operations without having to use a different key for each operation. Just press a Smart Key and the -right thing happens. @xref{Smart Keys}; +right thing happens. @xref{Smart Keys}. @item Contact and Text Finder an interactive, textual information management interface, including @@ -1100,7 +1100,7 @@ argument, such as @bkbd{C-u}, then invokes @code{assist-key} actions. You may also bind @code{action-mouse-key} and @code{assist-mouse-key} to other mouse keys, though you won't be able to execute mouse drag actions with -such key bindings. @xref{Smart Mouse Key Drags} and @pxref{Keyboard Drags}. +such key bindings. @xref{Smart Mouse Key Drags}, and @pxref{Keyboard Drags}. To permanently change any of these key bindings, use: @code{(add-hook 'hyperbole-init-hook (lambda () (hkey-set-key <KEY> '<CMD>)}, @@ -1552,7 +1552,7 @@ Hyperbole allows you to save and restore window configurations with simple diagonal mouse drags within a single window. A diagonal drag in any direction of the Action Key saves the current window configuration to a ring of window configurations, just like the Emacs text kill ring. -(@xref{Kill Ring,,,emacs, the Emacs Manual}). Each diagonal drag in any +@xref{Kill Ring,,,emacs, the Emacs Manual}. Each diagonal drag in any direction of the Assist Key restores a prior saved window configuration from the ring. Window configurations are restored in reverse order of the way they were saved. Since a ring is circular, after the oldest element is @@ -7190,7 +7190,7 @@ or any of the following string forms: Optionally, any of these id forms (or the relative form) may be followed by zero or more whitespace characters, a | and some view specification -characters. @xref{View Specs} +characters. @xref{View Specs}. @item Klink An angle bracket, <>, delimited implicit button type that displays a @@ -7367,7 +7367,7 @@ display location and so forth. @item View Spec A terse string that specifies a particular view of a koutline or a link referent. If a view spec is active for a buffer, the view spec appears -within the modeline like so, <|view spec>. @xref{View Specs} +within the modeline like so, <|view spec>. @xref{View Specs}. @item Window An Emacs window displays a single Emacs buffer within a single frame. @@ -9543,16 +9543,14 @@ If pressed within a dired-mode (directory editor) buffer: for display in another window, then this entry is displayed in the current window (DisplayHere minor mode is shown in the mode-line; use @bkbd{g} to disable it) - (2) on the first line of the buffer: + (2) on a dired header line (other than the end of line): (a) within the leading whitespace, then if any deletes are to be performed, they are executed after user verification; otherwise, nothing is done; (b) otherwise, dired is run in another window on the ancestor directory - of the current directory path up through the location of point; - if point is before the first character, then the / root directory - is used. - (3) on or after the last line in the buffer or at the end of the first line, - this dired invocation is quit. + of the current directory path up through the location of point; if + point is on the first character, then the / root directory is used. + (3) on or after the last line in the buffer, this dired invocation is quit. @end group @end format @format @@ -9562,8 +9560,8 @@ If pressed within a dired-mode (directory editor) buffer: (2) on a # character, all auto-save files in the directory are marked for deletion; (3) anywhere else within an entry line, the current entry is marked for deletion; - (4) on or after the last line in the buffer or at the end of the first line, - all delete marks on all entries are undone. + (4) on or after the last line in the buffer, all delete marks on all entries are + undone. @end group @end format diff --git a/man/version.texi b/man/version.texi index c4d35ac8fb..e3c0a6f00d 100644 --- a/man/version.texi +++ b/man/version.texi @@ -1,4 +1,4 @@ @set UPDATED May, 2022 @set UPDATED-MONTH May 2022 -@set EDITION 8.0.0 -@set VERSION 8.0.0 +@set EDITION 8.0.1pre +@set VERSION 8.0.1pre