branch: externals/hyperbole
commit faa82947b1139a55f21787ac0a75c533e6c4b697
Author: Bob Weiner <[email protected]>
Commit: Bob Weiner <[email protected]>

    Redo hyperbole-mode; new {r} HyRolo search in match buffer
---
 Changes            |  18 ++++++++--
 HY-NEWS            |   7 ++++
 hyperbole.el       | 101 +++++++++++++++++++++++++++++------------------------
 hyrolo.el          |  15 ++++++--
 man/hyperbole.html |  64 +++++++++++++++++++++------------
 man/hyperbole.info | Bin 544683 -> 545274 bytes
 man/hyperbole.pdf  | Bin 1299843 -> 1300307 bytes
 man/hyperbole.texi |  65 +++++++++++++++++++++-------------
 8 files changed, 171 insertions(+), 99 deletions(-)

diff --git a/Changes b/Changes
index 44010f2..2c394af 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,20 @@
 2021-04-28  Bob Weiner  <[email protected]>
 
+* hyrolo.el (hyrolo-grep-or-fgrep): Add.
+            (hyrolo-mode-map): Repurpose {r} to do a new regexp
+    HyRolo search, {C-u r} for string search, using above
+    new command.  This key had moved to previous matches but
+    that is already bound to {Shift-TAB} and {M-TAB}.
+            (hyrolo-bbdb-grep, hyrolo-google-contacts-grep): Let
+    current-prefix-arg be nil after captured as arg so does not
+    affect hyrolo-f/grep calls.
+  man/hyperbole.texi (HyRolo Keys): Document new {r} binding.
+
+* hyperbole.el (hyperbole-mode): Add hyperbole-mode-hook.
+               (enable-hyperbole-mode, disable-hyperbole-mode):
+    Add to separate from hyperb:init.
+               (hyperbole-mode): Update to use above functions.
+
 * hui-mini.el (hui:hypb-exit): "X" to exit from hyperbole-mode
     when a minibuffer menu is active.  Use {C-h h} to re-enable
     hyperbole-mode and display the minibuffer menu.
@@ -102,14 +117,11 @@
   hui-menu.el (hui-menu-options): Remove Toggle-Override-Local-Keys.
   hui-mini.el (hui:menus): Remove Override-Local-Keys.
 
-
 * hyperbole.el (hyperbole-mode): Finish documentation.
 
 * hib-org.el (org-mode): Add (not (hyperb:stack-frame '(hbut:at-p)))
     to prevent infinite loop.
 
-* hyperbole.el (hyperb:uninit): Add for use when disabling hyperbole-mode.
-
 * hpath.el (hpath:posix-mount-point-to-mswindows-alist): Made this an autoload
     since referenced in hyperbole.
 
diff --git a/HY-NEWS b/HY-NEWS
index 24cc08e..e72e384 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -39,6 +39,13 @@
    - ebut:program: Programmatically create an explicit Hyperbole button at
         point from LABEL, ACTYPE (action type), and optional actype ARGS.
 
+  HYROLO
+
+   - After performing a HyRolo search with point in the match buffer,
+     if you want different results, you can quickly do a new regular
+     expression HyRolo search with {r} or a string/logical search with
+     {C-u r}.
+
   KOUTLINER
 
    - Org Table Support: Org table editing now automatically works in the
diff --git a/hyperbole.el b/hyperbole.el
index 14b60d1..48c7d42 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -616,35 +616,12 @@ If FLAG is nil then text is shown, while if FLAG is t the 
text is hidden."
   ;; Conditionally initialize Hyperbole key bindings (when hkey-init is t).
   (hkey-initialize)
   ;;
-  ;; Abbreviate MSWindows /cygdrive mount point paths.
-  (when (file-exists-p "/cygdrive")
-    (add-to-list 'directory-abbrev-alist hyperb:cygdrive))
-  ;; When running under a POSIX system with possible access to MSWindows 
servers,
-  ;; cache valid MSWindows mount points.
-  (hpath:cache-mswindows-mount-points)
-  ;;
-  ;; Save button attribute file whenever same dir file is saved and
-  ;; `ebut:hattr-save' is non-nil.
-  (add-hook (if (boundp 'write-file-functions)
-               'write-file-functions
-             'write-file-hooks)
-           #'hattr:save t)
-  ;;
-  (hyperb:init-menubar)
+  ;; The keymaps in `emulation-mode-map-alists' take precedence over
+  ;; `minor-mode-map-alist'
+  (add-to-list 'emulation-mode-map-alists `((hyperbole-mode . 
,hyperbole-mode-map)))
   ;;
   ;; Hyperbole initialization is complete.
-  (message "Initializing Hyperbole...done")
-  (message "Hyperbole mode enabled"))
-
-(defun hyperb:uninit ()
-  "Remove standard Hyperbole initializations/hooks."
-  (setq directory-abbrev-alist (remq hyperb:cygdrive
-                                    directory-abbrev-alist)
-       hpath:posix-mount-point-to-mswindows-alist nil)
-  (remove-hook (if (boundp 'write-file-functions)
-               'write-file-functions
-             'write-file-hooks)
-           #'hattr:save))
+  (message "Initializing Hyperbole...done"))
 
 (defun hyperb:autoloads-exist-p ()
   "Return t if all Hyperbole autoload files exist or nil otherwise."
@@ -686,6 +663,48 @@ This is used only when running from git source and not a 
package release."
   "Define a Hyperbole minor mode help-map KEY bound to COMMAND."
   (define-key hyperbole-help-map key command))
 
+(defun enable-hyperbole-mode ()
+  "Enable Hyperbole global minor mode."
+  (interactive)
+  ;;
+  ;; Abbreviate MSWindows /cygdrive mount point paths.
+  (when (file-exists-p "/cygdrive")
+    (add-to-list 'directory-abbrev-alist hyperb:cygdrive))
+  ;; When running under a POSIX system with possible access to MSWindows 
servers,
+  ;; cache valid MSWindows mount points.
+  (hpath:cache-mswindows-mount-points)
+  ;;
+  ;; Save button attribute file whenever same dir file is saved and
+  ;; `ebut:hattr-save' is non-nil.
+  (add-hook (if (boundp 'write-file-functions)
+               'write-file-functions
+             'write-file-hooks)
+           #'hattr:save t)
+  ;;
+  (hyperb:init-menubar)
+  ;; Activate hyperbole-mode
+  (run-hooks 'hyperbole-mode-hook))
+
+(defun disable-hyperbole-mode ()
+  "Disable Hyperbole keys, menus and hooks."
+  (interactive)
+    ;; Deactivate hyperbole-mode
+    ;; Delete Hyperbole menu from all menubars.
+    (hui-menu-remove Hyperbole)
+    ;;
+    ;; Remove Hyperbole button comment from future outgoing mail.
+    (when (boundp 'smail:comment) (setq smail:comment nil))
+    (remove-hook 'after-init-hook #'hyperb:init)
+    ;;
+    (setq directory-abbrev-alist (remq hyperb:cygdrive
+                                      directory-abbrev-alist)
+         hpath:posix-mount-point-to-mswindows-alist nil)
+    ;;
+    (remove-hook (if (boundp 'write-file-functions)
+                    'write-file-functions
+                  'write-file-hooks)
+                #'hattr:save))
+
 (defvar hyperbole-mode-map (make-sparse-keymap)
   "Keymap for the GNU Hyperbole global minor mode.
 See `hkey-initialize'.")
@@ -700,7 +719,7 @@ See `hkey-initialize'.")
   "Toggle the Everyday Hypertextual Information Manager global minor mode 
(Hyperbole mode).
 
 When Hyperbole mode is enabled, the `hyperbole-mode' variable
-is non-nil.
+is non-nil, Hyperbole menus are enabled, as are Hyperbole keys.
 
 Invoke the Hyperbole minibuffer menu with \\[hyperbole].  See the
 documentation at \"(hyperbole)Top\".
@@ -710,24 +729,14 @@ documentation at \"(hyperbole)Top\".
   :keymap hyperbole-mode-map
   :lighter hyperbole-mode-lighter
   (if hyperbole-mode
-      ;; activate
-      (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))
-    ;; deactivate
-    ;; Delete Hyperbole menu from all menubars.
-    (hui-menu-remove Hyperbole)
-    ;;
-    ;; Remove Hyperbole button comment from future outgoing mail.
-    (when (boundp 'smail:comment) (setq smail:comment nil))
-    (remove-hook 'after-init-hook #'hyperb:init)
-    (hyperb:uninit)))
-
-;; The keymaps in `emulation-mode-map-alists' take precedence over
-;; `minor-mode-map-alist'
-(add-to-list 'emulation-mode-map-alists `((hyperbole-mode . 
,hyperbole-mode-map)))
+      (enable-hyperbole-mode)
+    (disable-hyperbole-mode)))
+
+(if after-init-time
+    ;; Initialize Hyperbole key bindings and hooks.
+    (hyperb:init)
+  ;; Initialize after other key bindings are loaded at startup.
+  (add-hook 'after-init-hook #'hyperb:init t))
 
 ;; !! FIXME: Loading a file should not change Emacs's behavior but we
 ;; need this here for awhile until can ensure Hyperbole users know to
diff --git a/hyrolo.el b/hyrolo.el
index 18e4188..9d82e7e 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -440,6 +440,13 @@ Return number of entries matched.  See also documentation 
for the variable
               (if (= total-matches 1) "y" "ies")))
     total-matches))
 
+;;;###autoload
+(defun hyrolo-grep-or-fgrep (&optional arg)
+  "Grep over `hyrolo-file-list' and display the results as rolo entries.
+With optional prefix ARG, do an fgrep string match instead of a regexp match."
+  (interactive "P")
+  (call-interactively (if arg 'hyrolo-fgrep 'hyrolo-grep)))
+
 (defun hyrolo-isearch (&optional arg)
   "Interactively search forward for the next occurrence of the current match 
string.
 Then add characters to further narrow the search.  With optional prefix ARG 
non-nil,
@@ -810,7 +817,8 @@ Output looks like so:
        (hyrolo-display-format-function #'hyrolo-bbdb-entry-format)
        ;; Kill the bbdb file after use if it is not already in a buffer.
        (hyrolo-kill-buffers-after-use
-        (not (get-file-buffer (expand-file-name bbdb-file)))))
+        (not (get-file-buffer (expand-file-name bbdb-file))))
+       (current-prefix-arg))
     (call-interactively (if arg 'hyrolo-fgrep 'hyrolo-grep))
     (read-only-mode 0)
     (re-search-forward "^\\*" nil t)
@@ -864,7 +872,8 @@ Output looks like so:
   (require 'google-contacts)
   (let ((hyrolo-file-list (list google-contacts-buffer-name))
        ;; Kill the google-contacts buffer after use if it is not already in 
use.
-       (hyrolo-kill-buffers-after-use (not (get-buffer 
google-contacts-buffer-name))))
+       (hyrolo-kill-buffers-after-use (not (get-buffer 
google-contacts-buffer-name)))
+       (current-prefix-arg))
     (call-interactively (if arg 'hyrolo-fgrep 'hyrolo-grep))
     (read-only-mode 0)
     (re-search-forward hyrolo-entry-regexp nil t)
@@ -1528,7 +1537,7 @@ String search expressions are converted to regular 
expressions.")
   (define-key hyrolo-mode-map "o"        'hyrolo-overview)
   (define-key hyrolo-mode-map "p"        'outline-previous-visible-heading)
   (define-key hyrolo-mode-map "q"        'hyrolo-quit)
-  (define-key hyrolo-mode-map "r"        'hyrolo-previous-match)
+  (define-key hyrolo-mode-map "r"        'hyrolo-grep-or-fgrep)
   (define-key hyrolo-mode-map "s"        'outline-show-subtree)
   (define-key hyrolo-mode-map "\M-s"     'hyrolo-isearch)
   (define-key hyrolo-mode-map "t"        'hyrolo-top-level)
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 528fa6c..5323c7b 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -353,7 +353,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 7.1.4
-Printed April 27, 2021.
+Printed April 28, 2021.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -6269,25 +6269,31 @@ Next: <a href="#HyRolo-Settings" accesskey="n" 
rel="next">HyRolo Settings</a>, P
 <span id="index-rolo-keys"></span>
 <p>After a rolo search is performed, point is left in the <em>rolo
 match buffer</em>, <samp>*Hyperbole Rolo*</samp>, which uses 
<code>hyrolo-mode</code> to
-simplify browsing many rolo matches.  Press <kbd>{?}</kbd> when in the
+simplify browsing many HyRolo matches.  Press <kbd>{?}</kbd> when in the
 match buffer for a summary of available keys, all of which are
 documented in this section.
 </p>
+<span id="index-rolo_002c-r"></span>
+<span id="index-rolo_002c-search-again"></span>
+<p>If your HyRolo search did not match what you want, use <kbd>{r}</kbd> to 
start
+a new regular expresion query or <kbd>{C-u r}</kbd> for a string query.  The
+rest of the match buffer keys work with the search results currently
+displayed.
+</p>
 <span id="index-HyRolo_002c-see-rolo"></span>
 <span id="index-rolo_002c-TAB"></span>
 <span id="index-rolo_002c-M_002dTAB"></span>
 <span id="index-rolo_002c-SHIFT_002dTAB"></span>
-<span id="index-rolo_002c-r"></span>
 <span id="index-rolo_002c-highlighting-matches"></span>
 <span id="index-rolo_002c-finding-matches"></span>
 <span id="index-rolo_002c-moving-through-matches"></span>
 <p>If your emacs version supports textual highlighting, each search match
 is highlighted for quick, visual location.  {<tt class="key">TAB</tt>} moves 
point
 forward to successive spans of text which match the search expression.
-<kbd>{M-<span class="key">TAB</span>}</kbd> <kbd>{<span 
class="key">SHIFT</span>-<span class="key">TAB</span>}</kbd> or <kbd>{r}</kbd> 
move
-point backward to earlier matches.  These keys allow you to quickly
-find the matching entry of most interest to you if your search
-expression failed to narrow the matches sufficiently.
+<kbd>{M-<span class="key">TAB</span>}</kbd> or <kbd>{<span 
class="key">SHIFT</span>-<span class="key">TAB</span>}</kbd> move point backward
+to earlier matches.  These keys allow you to quickly find the matching
+entry of most interest to you if your search expression failed to
+narrow the matches sufficiently.
 </p>
 <span id="index-rolo_002c-M_002ds"></span>
 <span id="index-rolo_002c-C_002ds"></span>
@@ -6318,18 +6324,18 @@ the rolo match buffer.
 <span id="index-rolo_002c-t"></span>
 <span id="index-rolo_002c-outlining"></span>
 <p>Single key outlining commands are also available for browsing matches.
-If your search matches a large number of entries, use
-<kbd>{t}</kbd> to get a top-level summary of entries.  Only the first
-line of each first-level match is shown.  If you want to see an
-overview of all the levels, use <kbd>{o}</kbd> which shows the first line
-of every entry level.  If you want an overview of just the first two
-levels, <kbd>{C-u 2 o}</kbd> will work.
+If your search matches a large number of entries, use <kbd>{t}</kbd> to get
+a top-level summary of entries.  Only the first line of each
+first-level match is shown.  If you want to see an overview of all the
+levels, use <kbd>{o}</kbd> which shows the first line of every entry level.
+If you want an overview of just the first two levels, <kbd>{C-u 2 o}</kbd>
+will work.
 </p>
 <p>Press <kbd>{s}</kbd> to show (expand) the entry at point.
 Use <kbd>{h}</kbd> to hide (collapse) the entry.  Press <kbd>{a}</kbd>
 to expand all entries in the buffer.
 </p>
-<p>Many other keys are defined to help you move through matching entries.
+<p>Other keys are defined to help you work with matching entries.
 </p>
 <span id="index-rolo_002c-moving-to-entries"></span>
 <dl compact="compact">
@@ -6357,7 +6363,7 @@ to expand all entries in the buffer.
 <span id="index-u-1"></span>
 </p></dd>
 <dt><kbd>{u}</kbd></dt>
-<dd><p>Move to the previous entry one level up.
+<dd><p>Move to the previous higher entry one level up.
 <span id="index-rolo_002c-_002e"></span>
 <span id="index-rolo_002c-_003c"></span>
 <span id="index-_002e-or-_003c"></span>
@@ -6418,19 +6424,30 @@ Previous: <a href="#HyRolo-Keys" accesskey="p" 
rel="prev">HyRolo Keys</a>, Up: <
 <span id="index-hyrolo_002dfile_002dlist"></span>
 <span id="index-rolo_002c-personal"></span>
 <p>The files used in any rolo search are given by the
-<code>hyrolo-file-list</code> variable, whose default value is
-typically <code>(&quot;~/.rolo.otl&quot;</code>.  Searches scan only your
-personal rolo file.  Any entries added to this list should be absolute
-filenames.  If a file in the list does not exist or is not readable, it
-is skipped.  Files are searched in the order in which they appear in the
-list.  In general, you should leave your personal rolo file as the
-first entry in the list, since this is the only file to which the Add
-command on the rolo menu adds entries.
+<code>hyrolo-file-list</code> variable, whose default value is typically
+<code>(&quot;~/.rolo.otl&quot;</code>.  Searches scan only your personal rolo 
file.
+Any entries added to this list should be absolute filenames.  If a
+file in the list does not exist or is not readable, it is skipped.
+Files are searched in the order in which they appear in the list.  In
+general, you should leave your personal rolo file as the first entry
+in the list, since this is the only file to which the Add command on
+the rolo menu adds entries.
 </p>
 <p>Hyperbole releases earlier than 4.17 used a different filename for the
 personal rolo.  If such a file exists, you will be prompted to rename
 it whenever the HyRolo system is loaded.
 </p>
+<p>If you want to have HyRolo search your directory of Org files, add the
+following to your Emacs initialization file:
+</p>
+<div class="format">
+<pre class="format">(add-hook &rsquo;hyperbole-init-hook
+         (lambda ()
+           (require &rsquo;org)
+           (setq hyrolo-file-list (append (hyrolo-initialize-file-list)
+                                          (cddr (directory-files 
org-directory))))))
+</pre></div>
+
 <span id="index-BBDB"></span>
 <span id="index-Big-Brother-DataBase"></span>
 <p>If you use the Big Brother DataBase (BBDB) Emacs package to capture
@@ -13877,6 +13894,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-rolo_002c-outlining">rolo, 
outlining</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Keys">HyRolo Keys</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-rolo_002c-personal">rolo, 
personal</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Settings">HyRolo Settings</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-rolo_002c-quitting">rolo, 
quitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyRolo-Keys">HyRolo 
Keys</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rolo_002c-search-again">rolo, 
search again</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Keys">HyRolo Keys</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-root-cell">root 
cell</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Creating-Outlines">Creating Outlines</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-root-cell-1">root 
cell</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Idstamps">Idstamps</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 5071abf..f669e41 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index 6638043..9a03f85 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 472d99e..e552c05 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -155,7 +155,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 7.1.4
-Printed April 27, 2021.
+Printed April 28, 2021.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -197,7 +197,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 7.1.4
-April 27, 2021
+April 28, 2021
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -5301,25 +5301,31 @@ you should contact.
 @cindex rolo keys
 After a rolo search is performed, point is left in the @dfn{rolo
 match buffer}, @file{*Hyperbole Rolo*}, which uses @code{hyrolo-mode} to
-simplify browsing many rolo matches.  Press @bkbd{?} when in the
+simplify browsing many HyRolo matches.  Press @bkbd{?} when in the
 match buffer for a summary of available keys, all of which are
 documented in this section.
 
+@kindex rolo, r
+@cindex rolo, search again
+If your HyRolo search did not match what you want, use @bkbd{r} to start
+a new regular expresion query or @bkbd{C-u r} for a string query.  The
+rest of the match buffer keys work with the search results currently
+displayed.
+
 @kindex HyRolo, see rolo
 @kindex rolo, @key{TAB}
 @kindex rolo, M-@key{TAB}
 @kindex rolo, @key{SHIFT}-@key{TAB}
-@kindex rolo, r
 @cindex rolo, highlighting matches
 @cindex rolo, finding matches
 @cindex rolo, moving through matches
 If your emacs version supports textual highlighting, each search match
 is highlighted for quick, visual location.  @{@key{TAB}@} moves point
 forward to successive spans of text which match the search expression.
-@bkbd{M-@key{TAB}} @bkbd{@key{SHIFT}-@key{TAB}} or @bkbd{r} move
-point backward to earlier matches.  These keys allow you to quickly
-find the matching entry of most interest to you if your search
-expression failed to narrow the matches sufficiently.
+@bkbd{M-@key{TAB}} or @bkbd{@key{SHIFT}-@key{TAB}} move point backward
+to earlier matches.  These keys allow you to quickly find the matching
+entry of most interest to you if your search expression failed to
+narrow the matches sufficiently.
 
 @kindex rolo, M-s
 @kindex rolo, C-s
@@ -5350,19 +5356,19 @@ the rolo match buffer.
 @kindex rolo, t
 @cindex rolo, outlining
 Single key outlining commands are also available for browsing matches.
-If your search matches a large number of entries, use
-@bkbd{t} to get a top-level summary of entries.  Only the first
-line of each first-level match is shown.  If you want to see an
-overview of all the levels, use @bkbd{o} which shows the first line
-of every entry level.  If you want an overview of just the first two
-levels, @bkbd{C-u 2 o} will work.
+If your search matches a large number of entries, use @bkbd{t} to get
+a top-level summary of entries.  Only the first line of each
+first-level match is shown.  If you want to see an overview of all the
+levels, use @bkbd{o} which shows the first line of every entry level.
+If you want an overview of just the first two levels, @bkbd{C-u 2 o}
+will work.
 
 Press @bkbd{s} to show (expand) the entry at point.
 Use @bkbd{h} to hide (collapse) the entry.  Press @bkbd{a}
 to expand all entries in the buffer.
 
 @noindent
-Many other keys are defined to help you move through matching entries.
+Other keys are defined to help you work with matching entries.
 
 @cindex rolo, moving to entries
 @table @asis
@@ -5380,7 +5386,7 @@ Move to the next entry at any level.
 Move to the previous entry at any level.
 @kindex rolo, u
 @kitem u
-Move to the previous entry one level up.
+Move to the previous higher entry one level up.
 @kindex rolo, .
 @kindex rolo, <
 @kitem . or <
@@ -5428,19 +5434,30 @@ current frame to its state prior to the rolo search.
 @vindex hyrolo-file-list
 @cindex rolo, personal
 The files used in any rolo search are given by the
-@code{hyrolo-file-list} variable, whose default value is
-typically @code{("~/.rolo.otl"}.  Searches scan only your
-personal rolo file.  Any entries added to this list should be absolute
-filenames.  If a file in the list does not exist or is not readable, it
-is skipped.  Files are searched in the order in which they appear in the
-list.  In general, you should leave your personal rolo file as the
-first entry in the list, since this is the only file to which the Add
-command on the rolo menu adds entries.
+@code{hyrolo-file-list} variable, whose default value is typically
+@code{("~/.rolo.otl"}.  Searches scan only your personal rolo file.
+Any entries added to this list should be absolute filenames.  If a
+file in the list does not exist or is not readable, it is skipped.
+Files are searched in the order in which they appear in the list.  In
+general, you should leave your personal rolo file as the first entry
+in the list, since this is the only file to which the Add command on
+the rolo menu adds entries.
 
 Hyperbole releases earlier than 4.17 used a different filename for the
 personal rolo.  If such a file exists, you will be prompted to rename
 it whenever the HyRolo system is loaded.
 
+If you want to have HyRolo search your directory of Org files, add the
+following to your Emacs initialization file:
+
+@format
+(add-hook 'hyperbole-init-hook
+         (lambda ()
+           (require 'org)
+           (setq hyrolo-file-list (append (hyrolo-initialize-file-list)
+                                          (cddr (directory-files 
org-directory))))))
+@end format
+
 @cindex BBDB
 @cindex Big Brother DataBase
 If you use the Big Brother DataBase (BBDB) Emacs package to capture

Reply via email to