branch: externals/hyperbole commit bd5f59b2e0632c1a7e9815e9f111cf9c20272f54 Author: bw <r...@gnu.org> Commit: bw <r...@gnu.org>
hyrolo-mode-map - add [ and ] keys to move to prev and next @loc> In same keymap, fix , and . movement keys. For all supported HyRolo major modes, include file headers in both hyrolo-hdr-regexp and outline-regexp. --- ChangeLog | 29 ++++++++++ hbut.el | 15 +++-- hmoccur.el | 9 ++- hyrolo.el | 166 ++++++++++++++++++++++++++++++++++++----------------- kotl/kotl-mode.el | 9 +-- man/hyperbole.html | 16 +++++- man/hyperbole.info | Bin 617671 -> 618111 bytes man/hyperbole.pdf | Bin 1371766 -> 1372120 bytes man/hyperbole.texi | 12 +++- 9 files changed, 183 insertions(+), 73 deletions(-) diff --git a/ChangeLog b/ChangeLog index 447190c6eb..14128fd64b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2023-12-25 Bob Weiner <r...@gnu.org> + +* hyrolo.el (hyrolo-hdr-move-after-p): Modify to handle when point is not at + the start of but is on a hdr separator or loc line. + (hyrolo-to-entry-beginning): Fix to move past any file hdr. + +* man/hyperbole.texi (HyRolo Keys): Document [ and ] keys to move to prev and + next buffer/file @loc> line. + +* hyrolo.el (hyrolo-to-entry-end): Don't move back one char if on end of line. + +* hbut.el (hbut:source-prefix): + hmoccur.el (moccur-source-prefix): Clarify doc. + +* hyrolo.el (hyrolo-markdown-suffix-regexp): Add and use in `hyrolo-file-suffix-regexp' + to capture all Markdown suffixes. + (hyrolo-any-file-type-problem-p): Use above regexp here. Separate out + invalid files due to invalid suffixes from files with invalid major modes due + to not being in 'auto-mode-alist'. + (outline-mode-hook): Add to configure outline-mode for use with HyRolo. + (hyrolo-org-mode): Update to set all local hyrolo variables. + +* kotl/kotl-mode.el (kotl-mode): Set 'outline-regexp' to match 'hyrolo-entry-regexp' + to account for file headers in 'hyrolo-mode' (multi-format major-mode). + 2023-12-24 Bob Weiner <r...@gnu.org> * hyrolo.el (hyrolo-any-file-type-problem-p): Add to handle file suffixes @@ -6,6 +31,10 @@ (hyrolo-let-file-list, hyrolo-set-file-list): Call above function. This fixes failures with Markdown files improperly put into fundamental-mode which means their headings are not recognized properly. + (hyrolo-to-previous-loc, hyrolo-to-next-loc): Add and + bind to [ and ] keys in 'hyrolo-mode-map'. + (hyrolo-hdr-prefix-regexp): Add so do not repeat expression multiple places + and add this to `outline-regexp' in all major-modes supported by HyRolo. * hload-path.el (auto-mode-alist): Setup to invoke 'outline-mode' on ".otl" suffixed files. diff --git a/hbut.el b/hbut.el index f956da94a3..73a6717736 100644 --- a/hbut.el +++ b/hbut.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 18-Sep-91 at 02:57:09 -;; Last-Mod: 21-Dec-23 at 13:12:49 by Bob Weiner +;; Last-Mod: 25-Dec-23 at 01:59:28 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -95,17 +95,16 @@ others who use a different value!") (defvar ibut:label-separator " - " "Default separator string inserted between implicit button name and its text. -This separates it from the implicit button text. See also -`ibut:label-separator-regexp' for all valid characters that may be -manually inserted to separate an implicit button label from its -text.") +See also `ibut:label-separator-regexp' for all valid characters that may be +inserted manually to separate an implicit button label from its text.") (defconst hbut:source-prefix moccur-source-prefix - "String found at start of a buffer containing only a hyper-button menu. + "String prefix for lines indicating the source of the matches. + It should not contain any characters needing regular expression quoting. -This expression should be followed immediately by a file-name indicating the -source file for the buttons in the menu, if any.") +This expression should be followed immediately by a buffer or file name +indicating the source of any of its Hyperbole buttons.") ;;; ************************************************************************ ;;; Public definitions diff --git a/hmoccur.el b/hmoccur.el index dd91e692d2..9f952ff858 100644 --- a/hmoccur.el +++ b/hmoccur.el @@ -3,7 +3,7 @@ ;; Author: Markus Freericks <m...@cs.tu-berlin.de> / Bob Weiner ;; ;; Orig-Date: 1-Aug-91 -;; Last-Mod: 3-Oct-23 at 23:28:17 by Mats Lidell +;; Last-Mod: 25-Dec-23 at 01:58:55 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -59,7 +59,12 @@ ;;; ************************************************************************ (defconst moccur-source-prefix "@loc> " - "Prefix for lines indicating source of matches.") + "String prefix for lines indicating the source of the matches. + +It should not contain any characters needing regular expression quoting. + +This expression should be followed immediately by a buffer or file name +indicating the source of any of its Hyperbole buttons.") ;;; ************************************************************************ ;;; Public functions diff --git a/hyrolo.el b/hyrolo.el index 8a19b7337a..dc5f03626b 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: 24-Dec-23 at 02:38:06 by Bob Weiner +;; Last-Mod: 25-Dec-23 at 03:05:40 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -108,6 +108,7 @@ (defvar hyrolo-entry-trailing-space-group-number) (defvar hyrolo-hdr-format) (defvar hyrolo-hdr-regexp) +(defvar hyrolo-hdr-prefix-regexp) (defvar hyrolo-match-regexp) (defvar hyrolo-mode-map) (defvar hyrolo-mode-prefix-map) @@ -179,10 +180,15 @@ See `hyrolo-entry-regexp'") (defvar hyrolo-entry-trailing-space-group-number 2 "Group number within `hyrolo-entry-regexp' containing trailing space.") -(defvar hyrolo-entry-regexp +(defvar hyrolo-hdr-prefix-regexp (concat hyrolo-hdr-regexp "\\|^" (if (boundp 'hbut:source-prefix) hbut:source-prefix "@loc> ") - "\\|^\\(\\*+\\)\\([ \t]+\\)") + "\\|") + "Regular expression to prefix to `hyrolo-entry-regexp' and `outline-regexp'. +It must not contain any parenthesized match groupings.") + +(defvar hyrolo-entry-regexp + (concat hyrolo-hdr-prefix-regexp "^\\(\\*+\\)\\([ \t]+\\)") "Regular expression to match the beginning of a HyRolo entry. This pattern must match the beginning of a line. `hyrolo-entry-group-number' must capture the entry's level in the @@ -193,16 +199,25 @@ level.") ;; Support hyrolo searches in markdown files (add-hook 'markdown-mode-hook (lambda () - (setq-local hyrolo-entry-regexp - (concat hyrolo-hdr-regexp - "\\|^" (if (boundp 'hbut:source-prefix) hbut:source-prefix "@loc> ") - "\\|^\\(#+\\)\\([ ]+\\)") + (setq-local hyrolo-entry-regexp (concat hyrolo-hdr-prefix-regexp "^\\(#+\\)\\([ \t\n\r]+\\)") hyrolo-entry-group-number 1 ;; `hyrolo-add' handles removing # prefix from ;; trailing-space grouping below hyrolo-entry-trailing-space-group-number 2 + outline-regexp (concat hyrolo-hdr-prefix-regexp markdown-regex-header) outline-level #'hyrolo-markdown-outline-level))) +;; Support hyrolo searches in Emacs outline files +(add-hook 'outline-mode-hook + (lambda () + (setq-local hyrolo-entry-regexp (concat hyrolo-hdr-prefix-regexp "^\\([*\^L]+\\)\\([ \t\n\r]+\\)") + hyrolo-entry-group-number 1 + ;; `hyrolo-add' handles removing # prefix from + ;; trailing-space grouping below + hyrolo-entry-trailing-space-group-number 2 + outline-regexp hyrolo-entry-regexp + outline-level #'hyrolo-outline-level))) + (defcustom hyrolo-date-format "%m/%d/%Y" "Format of date string used in HyRolo automatic date stamps. An empty string disables adding or updating HyRolo dates. @@ -228,7 +243,11 @@ It must contain a %s indicating where to put the entry name and a second (defvar hyrolo-entry-name-regexp "[-_a-zA-Z0-9@.]+\\( ?, ?[-_a-zA-Z0-9@.]+\\)?" "*Regexp matching a hyrolo entry name after matching to `hyrolo-entry-regexp'.") -(defcustom hyrolo-file-suffix-regexp "\\.\\(kotl\\|md\\|org\\|otl\\)$" +(defconst hyrolo-markdown-suffix-regexp "md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn" + "Regexp matching Markdown file suffixes.") + +(defcustom hyrolo-file-suffix-regexp (concat "\\.\\(kotl?\\|org\\|otl\\|" + hyrolo-markdown-suffix-regexp "\\)$") "File suffix regexp used to select files to search with HyRolo." :type 'string :group 'hyperbole-hyrolo) @@ -664,7 +683,7 @@ select it." ;; change adds one to the default `outline-level' function, ;; so `hyrolo-outline-level' overrides that as well ;; to get the correct calculation. -- rsw, 2023-11-17 - (setq-local outline-regexp "[*\^L]+[ \t\n\r]" + (setq-local outline-regexp "\\([*\^L]+\\)\\([ \t\n\r]\\)" outline-level #'hyrolo-outline-level)) (setq buffer-read-only nil)))))))) @@ -1586,7 +1605,7 @@ Stop at the first and last subheadings of a superior heading." (hyrolo-move-forward #'outline-forward-same-level arg)) (defun hyrolo-hdr-to-last-line-p () - "If point is at the start of a hdr line, move to the start of its last line. + "If point is on a file hdr separator/loc line, move to start of its last line. Return t in such cases. Otherwise, don't move and return nil. The header includes lines matching both `hyrolo-hdr-regexp' and @@ -1596,15 +1615,17 @@ The header includes lines matching both `hyrolo-hdr-regexp' and t)) (defun hyrolo-hdr-move-after-p () - "If point is at the start of a hdr line, move past the hdr and return t. + "If point is on a file hdr separator/loc line, move past the hdr and return t. Otherwise, don't move and return nil." (let ((opoint (point)) (hdr-delim-count 0) (loc-count 0)) - (while (or (when (looking-at hyrolo-hdr-regexp) - (cl-incf hdr-delim-count)) - (when (looking-at hbut:source-prefix) - (cl-incf loc-count))) + (while (save-excursion + (beginning-of-line) + (or (when (looking-at hyrolo-hdr-regexp) + (cl-incf hdr-delim-count)) + (when (looking-at hbut:source-prefix) + (cl-incf loc-count)))) (forward-line 1)) (when (and (/= (point) opoint) (< hdr-delim-count 2) (zerop loc-count)) (if (looking-at hyrolo-hdr-regexp) @@ -1837,7 +1858,7 @@ Calls the functions given by `hyrolo-mode-hook'. ;; the end of the match. Note this change adds one ;; level to the level count, so `hyrolo-outline-level' ;; decrements it by one. -- rsw, 2023-11-17 - outline-regexp "[*\^L]+[ \t\n\r]" + outline-regexp "\\([*\^L]+\\)\\([ \t\n\r]\\)" outline-level #'hyrolo-outline-level ;; Can't cycle because {TAB} moves to next match outline-minor-mode-cycle nil @@ -2138,7 +2159,9 @@ beginning of the highest ancestor level. Return final point." (outline-back-to-heading) (when include-sub-entries (unless (<= (hyrolo-outline-level) 1) - (outline-up-heading 80)))) + (outline-up-heading 80))) + (when (hyrolo-hdr-move-after-p) + (hyrolo-next-visible-heading 1))) include-sub-entries)) (defun hyrolo-to-entry-end (&optional include-sub-entries) @@ -2152,7 +2175,8 @@ before the final newline of the entry. Return current point." (interactive "P") (hyrolo-move-forward (lambda () (hyrolo-move-to-entry-end include-sub-entries))) - (when (called-interactively-p 'any) + (when (and (called-interactively-p 'any) + (not (eolp))) (goto-char (1- (point)))) (point)) @@ -2163,6 +2187,25 @@ Return current point." (goto-char (1+ (point)))) include-sub-entries) +(defun hyrolo-to-next-loc () + "Move to next file/buffer location header in HyRolo display matches buffer." + (interactive) + (if (re-search-forward (concat "^" hbut:source-prefix) nil t + (if (looking-at hbut:source-prefix) 2 1)) + (goto-char (match-beginning 0)) + (when (called-interactively-p 'interactive) + (message "No next file/buffer location") (beep)))) + +(defun hyrolo-to-previous-loc () + "Move to previous file/buffer location header in HyRolo display matches buffer." + (interactive) + (let ((opoint (point))) + (beginning-of-line) + (unless (re-search-backward (concat "^" hbut:source-prefix) nil t) + (goto-char opoint) + (when (called-interactively-p 'interactive) + (message "No previous file/buffer location") (beep))))) + ;;; ************************************************************************ ;;; Private functions ;;; ************************************************************************ @@ -2184,18 +2227,19 @@ Entry is inserted before point. The region is between START to END." The list of unusable files is displayed in a HyRolo error window. This will install `markdown-mode' if any Markdown files are specified and the package is not installed." - ;; 1. Ignore files without suffixes + ;; 1. Ignore files without suffixes in step 2 (let ((file-suffixes (delq nil (mapcar (lambda (filename) (file-name-extension filename)) (hyrolo-get-file-list)))) file-and-major-mode-list files-no-mode-list + files-invalid-suffix-list package-archives) ;; 2. If any `hyrolo-file-list' file has a markdown file suffix, (when (delq nil (mapcar (lambda (suffix) - (string-match "\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" - suffix)) + (string-match-p (concat "\\(?:" hyrolo-markdown-suffix-regexp "\\)$") + suffix)) file-suffixes)) ;; 3. ensure the markdown-mode package is installed from melpa. @@ -2207,28 +2251,48 @@ package is not installed." (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)) (package-install 'markdown-mode))) - ;; 5. Check that each suffix has an entry in auto-mode-alist, + ;; 5. Check that each file has an entry in auto-mode-alist, (setq file-and-major-mode-list (mapcar (lambda (filename) (cons filename (hypb:major-mode-from-file-name filename))) (hyrolo-get-file-list)) + + files-invalid-suffix-list + (delq nil (mapcar (lambda (item) (when (not (string-match-p hyrolo-file-suffix-regexp (car item))) + (car item))) + file-and-major-mode-list)) + files-no-mode-list - (delq nil (mapcar (lambda (item) (when (null (cdr item)) (car item))) - file-and-major-mode-list))) + (cl-set-difference + (delq nil (mapcar (lambda (item) (when (null (cdr item)) (car item))) + file-and-major-mode-list)) + files-invalid-suffix-list)) + ;; 6. if not, display a buffer with the invalid file types and return t - (when files-no-mode-list + (when (or files-invalid-suffix-list files-no-mode-list) (with-help-window "*HyRolo Errors*" - (princ "hyrolo-file-list specifies invalid HyRolo files:\n") - (mapc (lambda (spec) (princ (format "\t%S" spec)) (terpri)) + (princ "`hyrolo-file-list' gets its files from these patterns:\n") + (mapc (lambda (spec) (princ (format "\t%S\n" spec))) hyrolo-file-list) (terpri) - (princ "When expanded, includes these files that HyRolo cannot process\n") - (princ "because their file suffixes are not in `auto-mode-alist':\n") - (mapc (lambda (file) (princ (format "\t%S" file)) (terpri)) - files-no-mode-list) - (terpri) - (princ "Please either remove the above files from `hyrolo-file-list'\n") - (princ "or add appropriate entries for them to `auto-mode-alist'.\n")) + (princ "When expanded, it includes the following files that HyRolo cannot process:\n\n") + + (when files-invalid-suffix-list + (princ (format "Files with invalid or no suffixes:\n (valid suffixes: %S)\n" + hyrolo-file-suffix-regexp)) + (mapc (lambda (file) (princ (format "\t%S\n" file))) + files-invalid-suffix-list) + (terpri) + (princ "Please remove the above files from `hyrolo-file-list'.\n") + (terpri)) + + (when files-no-mode-list + (princ "Files with invalid modes (file suffixes not in `auto-mode-alist'):\n") + (mapc (lambda (file) (princ (format "\t%S\n" file))) + files-no-mode-list) + (terpri) + (princ "Please add appropriate entries for the above files to `auto-mode-alist'.\n") + (terpri))) t))) (defun hyrolo-buffer-exists-p (hyrolo-buf) @@ -2246,9 +2310,7 @@ HYROLO-BUF may be a file-name, `buffer-name', or buffer." (defun hyrolo-display-to-entry-end () "Go to end of current entry, ignoring sub-entries." (let (case-fold-search) - (if (re-search-forward (concat hyrolo-hdr-regexp "\\|" - hyrolo-entry-regexp) - nil t) + (if (re-search-forward hyrolo-entry-regexp nil t) (progn (beginning-of-line) (point)) (goto-char (point-max))))) @@ -2381,7 +2443,12 @@ Any non-nil value returned is a cons of (<entry-name> . <entry-source>)." ;; set its parent mode property to org-mode so can `derived-mode-p' ;; checks will pass. (put 'hyrolo-org-mode 'derived-mode-parent 'org-mode) - (setq-local outline-regexp org-outline-regexp + (setq-local hyrolo-entry-regexp (concat hyrolo-hdr-prefix-regexp "^\\(\\*+\\)\\([ ]+\\)") + hyrolo-entry-group-number 1 + ;; `hyrolo-add' handles removing # prefix from + ;; trailing-space grouping below + hyrolo-entry-trailing-space-group-number 2 + outline-regexp (concat hyrolo-hdr-prefix-regexp "^\\(\\*+\\)\\( \\)") outline-level #'hyrolo-org-outline-level) (use-local-map org-mode-map) ;; Modify a few syntax entries @@ -2556,7 +2623,8 @@ This is actually either the level specified in `outline-heading-alist' or else the number of characters matched by `outline-regexp' minus trailing periods and whitespace. -Point must be at the beginning of a heading line." +Point must be at the beginning of a heading line and a regexp match to +`outline-regexp' must have been done prior to calling this." (or (cdr (assoc (match-string-no-properties 0) outline-heading-alist)) (1- (- (match-end 0) (match-beginning 0))))) @@ -2722,8 +2790,6 @@ Call whenever `hyrolo-display-buffer' is changed." hyrolo--cache-major-mode-indexes (list 0) hyrolo--cache-major-mode-index 1))) -;; TODO: !! Lookup hyrolo-entry-regexp like outline-regexp. - (defun hyrolo--cache-major-mode (matched-buf) "Cache buffer `major-mode' for MATCHED-BUF with point in HyRolo display buffer. MATCHED-BUF must be a live buffer, not a buffer name. @@ -2755,17 +2821,10 @@ Ensure MATCHED-BUF's `major-mode' is stored in the hash table." "Set the `major-mode' for POS in the current HyRolo display buffer. Add `hyrolo-hdr-regexp' to `hyrolo-entry-regexp' and `outline-regexp'." (funcall (hyrolo-cache-get-major-mode-from-pos pos)) - (let ((source-prefix (if (boundp 'hbut:source-prefix) hbut:source-prefix "@loc> "))) - (unless (or (string-prefix-p hyrolo-hdr-regexp hyrolo-entry-regexp) - (string-prefix-p source-prefix hyrolo-entry-regexp)) - (setq-local hyrolo-entry-regexp (concat hyrolo-hdr-regexp "\\|" - "^" source-prefix "\\|" - hyrolo-entry-regexp))) - (unless (or (string-prefix-p hyrolo-hdr-regexp outline-regexp) - (string-prefix-p source-prefix outline-regexp)) - (setq-local outline-regexp (concat hyrolo-hdr-regexp "\\|" - "^" source-prefix "\\|" - outline-regexp)))) + (unless (string-prefix-p hyrolo-hdr-regexp hyrolo-entry-regexp) + (setq-local hyrolo-entry-regexp (concat hyrolo-hdr-prefix-regexp hyrolo-entry-regexp))) + (unless (string-prefix-p hyrolo-hdr-regexp outline-regexp) + (setq-local outline-regexp (concat hyrolo-hdr-prefix-regexp outline-regexp))) (when (eq outline-level #'markdown-outline-level) (setq-local outline-level #'hyrolo-markdown-outline-level))) @@ -2785,6 +2844,8 @@ Add `hyrolo-hdr-regexp' to `hyrolo-entry-regexp' and `outline-regexp'." (define-key hyrolo-mode-map "." 'hyrolo-to-entry-end) (define-key hyrolo-mode-map "<" 'beginning-of-buffer) (define-key hyrolo-mode-map ">" 'end-of-buffer) + (define-key hyrolo-mode-map "[" 'hyrolo-to-previous-loc) + (define-key hyrolo-mode-map "]" 'hyrolo-to-next-loc) (define-key hyrolo-mode-map "?" 'describe-mode) (define-key hyrolo-mode-map "\177" 'scroll-down) (define-key hyrolo-mode-map " " 'scroll-up) @@ -2820,7 +2881,6 @@ Add `hyrolo-hdr-regexp' to `hyrolo-entry-regexp' and `outline-regexp'." (substitute-key-definition otl-cmd hyrolo-cmd hyrolo-mode-map))) outline-mode-prefix-map))) - (provide 'hyrolo) ;;; hyrolo.el ends here diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el index 625533207d..96cab5192b 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: 23-Dec-23 at 01:28:38 by Bob Weiner +;; Last-Mod: 25-Dec-23 at 00:22:31 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -149,10 +149,7 @@ It provides the following keys: (unless (and (boundp 'kotl-previous-mode) kotl-previous-mode (eq kotl-previous-mode #'kotl-mode) (not (string-prefix-p hyrolo-display-buffer (buffer-name)))) - (setq hyrolo-entry-regexp - (concat hyrolo-hdr-regexp - "\\|^" (if (boundp 'hbut:source-prefix) hbut:source-prefix "@loc> ") - "\\|^" kview:outline-regexp) + (setq hyrolo-entry-regexp (concat hyrolo-hdr-prefix-regexp "^" kview:outline-regexp) hyrolo-entry-group-number 2 hyrolo-entry-trailing-space-group-number 3 @@ -171,7 +168,7 @@ It provides the following keys: mode-line-format (copy-sequence mode-line-format) mode-line-format (set:remove "%n" mode-line-format) outline-level #'kcell-view:level - outline-regexp kview:outline-regexp)) + outline-regexp hyrolo-entry-regexp)) ;; (when (fboundp 'add-to-invisibility-spec) (add-to-invisibility-spec '(outline . t))) diff --git a/man/hyperbole.html b/man/hyperbole.html index bc4a13c7ec..60f037e3e0 100644 --- a/man/hyperbole.html +++ b/man/hyperbole.html @@ -382,7 +382,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P> <PRE> Edition 9.0.0 -Printed December 24, 2023. +Printed December 25, 2023. Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -7531,6 +7531,16 @@ move to the beginning of highest ancestor level. <dt><kbd>{.}</kbd></dt> <dd><p>Move to the end of the entry. With a prefix argument, move to the end of the entire subtree. +<a name="index-rolo_002c-_005b"></a> +<a name="index-_005b-1"></a> +</p></dd> +<dt><kbd>{[}</kbd></dt> +<dd><p>Move to previous file/buffer location header beginning with @loc>. +<a name="index-rolo_002c-_005d"></a> +<a name="index-_005d-1"></a> +</p></dd> +<dt><kbd>{]}</kbd></dt> +<dd><p>Move to next file/buffer location header beginning with @loc>. <a name="index-rolo_002c-_003c"></a> <a name="index-_003c"></a> </p></dd> @@ -13769,9 +13779,11 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <tr><td colspan="4"> <hr></td></tr> <tr><th><a name="Key-Index_ky_symbol-14">[</a></th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-_005b"><code>[</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_005b-1"><code>[</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th><a name="Key-Index_ky_symbol-15">]</a></th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-_005d"><code>]</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_005d-1"><code>]</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th><a name="Key-Index_ky_symbol-16">~</a></th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-_007e"><code>~</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> @@ -14052,6 +14064,8 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <tr><td></td><td valign="top"><a href="#index-rolo_002c-t"><code>rolo, t</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> <tr><td></td><td valign="top"><a href="#index-rolo_002c-TAB"><code>rolo, <span class="key">TAB</span></code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> <tr><td></td><td valign="top"><a href="#index-rolo_002c-u"><code>rolo, u</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rolo_002c-_005b"><code>rolo, [</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rolo_002c-_005d"><code>rolo, ]</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th><a name="Key-Index_ky_letter-S">S</a></th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-s"><code>s</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> diff --git a/man/hyperbole.info b/man/hyperbole.info index 20b8514b45..c28b93dc06 100644 Binary files a/man/hyperbole.info and b/man/hyperbole.info differ diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf index 5966ba07e6..81d83e3c11 100644 Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ diff --git a/man/hyperbole.texi b/man/hyperbole.texi index 30475d7fd0..5e2cca6020 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: 24-Dec-23 at 00:20:35 by Bob Weiner +@c Last-Mod: 25-Dec-23 at 02:39:36 by Bob Weiner @c %**start of header (This is for running Texinfo on a region.) @setfilename hyperbole.info @@ -156,7 +156,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P> <PRE> Edition 9.0.0 -Printed December 24, 2023. +Printed December 25, 2023. Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -198,7 +198,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @example Edition 9.0.0 -December 24, 2023 +December 25, 2023 Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -6324,6 +6324,12 @@ move to the beginning of highest ancestor level. @kitem . Move to the end of the entry. With a prefix argument, move to the end of the entire subtree. +@kindex rolo, [ +@kitem [ +Move to previous file/buffer location header beginning with @@loc>. +@kindex rolo, ] +@kitem ] +Move to next file/buffer location header beginning with @@loc>. @kindex rolo, < @kitem < Move to the beginning of the buffer.