emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hyperbole 4eb216e84f: Fix klink parsing and display iss


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 4eb216e84f: Fix klink parsing and display issues; update git-ref doc
Date: Sun, 13 Feb 2022 10:57:32 -0500 (EST)

branch: externals/hyperbole
commit 4eb216e84fb1ced1b74ac4d1b77094db35d86e69
Author: Bob Weiner <rsw@gnu.org>
Commit: Bob Weiner <rsw@gnu.org>

    Fix klink parsing and display issues; update git-ref doc
---
 ChangeLog          |  15 ++++++++
 DEMO               |   7 ++--
 FAST-DEMO          |  13 +++----
 HY-NEWS            |   5 +++
 hib-social.el      |   9 +++--
 hypb.el            |   9 +++--
 kotl/kcell.el      | 103 ++++++++++++++++++++++++++++-------------------------
 kotl/klink.el      |  15 ++++----
 kotl/kotl-mode.el  |   5 +--
 kotl/kview.el      |   6 ++--
 man/hyperbole.html |  26 ++++++++++----
 man/hyperbole.info | Bin 579209 -> 580221 bytes
 man/hyperbole.pdf  | Bin 1332726 -> 1333549 bytes
 man/hyperbole.texi |  22 ++++++++----
 14 files changed, 149 insertions(+), 86 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e8bec0e079..7d88cf2b44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2022-02-12  Bob Weiner  <rsw@gnu.org>
 
+* kotl/klink.el (klink:act): Add save-excursion, so point always ends
+    at the right place in displayed buffer after the relative id
+    is updated when out-of-date.
+
+* kotl/kcell.el (kcell:ref-to-id): Fix viewspec parsing by adding
+   the optional 'kviewspec-flag' parameter.
+  kotl/kview.el (kcell-view:cell-from-ref): Test that ref is an int.
+  kotl/kotl-mode.el (kotl-mode:goto-cell):
+  kotl/klink.el (link-to-kotl): Send true kviewspec-flag to
+    kcell:ref-to-id calls.
+
+* hib-social.el (git-commit-reference):
+  man/hyperbole.texi (git-commit-reference): Update doc to include
+    commands `hypb:fgrep-git-log' and `hypb:grep-git-log'.
+
 * hypb-maintenance.el (hypb:web-repo-location): Update to RSW's Hyperbole
     local website path.
 
diff --git a/DEMO b/DEMO
index 4776d6e067..e41c2637b6 100644
--- a/DEMO
+++ b/DEMO
@@ -881,11 +881,14 @@ fifth line at the seventh character.
 
 ----
 
-As another example, suppose you want to do a web search for Emacs Lisp 
libraries whose names may be very generic, like hyperbole.  For this, you can 
use a Google filetype-specific search.
+As another example, suppose you want to do a web search for Emacs Lisp
+libraries whose names may be very generic, like hyperbole.  For this,
+you can use a Google filetype-specific search.
 
 Define an action link type with:
 
-    (defal elsearch "https://www.google.com/search?q=%s+filetype:el"; "Find 
Elisp libraries via a Google file type search")
+    (defal elsearch "https://www.google.com/search?q=%s+filetype:el";
+           "Find Elisp libraries via a Google file type search")
 
 Then, an Action Key press on:
 
diff --git a/FAST-DEMO b/FAST-DEMO
index e61388ef14..c8b8463a52 100644
--- a/FAST-DEMO
+++ b/FAST-DEMO
@@ -212,10 +212,10 @@ pspell-config(1)         - prints information about a 
libpspell installation
 
 * Many More Implicit Button Types to Learn Across Time
 
-  Activate this button, <emacs-lisp-mode>, to set this buffer into
-  Emacs Lisp mode.  Then an Action Key press on each of the implicit
-  button types below will jump to its Lisp definition.  Use this if you
-  want to see what each type can do.  <normal-mode> reverts to the standard 
mode.
+  Activate this button, <emacs-lisp-mode>, to set this buffer into Emacs Lisp 
mode.
+  Then an Action Key press on each of the implicit button types below will 
jump to
+  its Lisp definition.  Use this if you want to see what each type can do.
+  <normal-mode> reverts to the standard mode.
 
 |-----------------------+------------------------+--------------------------|
 |                          Implicit Button Types                            |
@@ -237,8 +237,9 @@ pspell-config(1)         - prints information about a 
libpspell installation
 |---------------------------------------------------------------------------|
 
 Implicit button types are stored in their own namespace, 'ibtypes::', so to
-see the doc on the 'pathname' ibtype, use {C-h f ibtypes::pathname RET}.
-
+see the doc on the 'pathname' ibtype, use {C-h f ibtypes::pathname RET}.  To
+lean how to create new kinds of implicit button and action types, see:
+"(hyperbole)Creating Types".
 
 * Hyperbole Subsystems
 
diff --git a/HY-NEWS b/HY-NEWS
index d610791a4d..381b5e95a1 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -267,6 +267,11 @@
       or 'ripgrep' command, Hyperbole will prepend that directory to the grep
       output before jumping to the resultant path.
 
+  *** Git Log Grep: New commands, 'hypb:fgrep-git-log' and 'hypb:grep-git-log',
+      allow f/grepping over repo changesets and listing associated commit log
+      messages.  The Action Key on any resulting log entry displays the commit
+      changeset.
+
   *** Pathname Implicit Buttons: Much improved pathname handling including
       multiple variables per path, embedded . or .. within paths, better
       recognition of semicolon separated pathnames in Windows PATH variable.
diff --git a/hib-social.el b/hib-social.el
index 766cfd8bda..e7d936bc2a 100644
--- a/hib-social.el
+++ b/hib-social.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    20-Jul-16 at 22:41:34
-;; Last-Mod:     24-Jan-22 at 00:18:33 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 18:51:06 by Bob Weiner
 ;;
 ;; Copyright (C) 2016-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -610,7 +610,12 @@ PROJECT value is provided, it defaults to the value of
 ;;; Local git repository commit references
 
 (defib git-commit-reference ()
-  "Display the diff for a git commit reference, e.g. \"commit a55e21\", 
typically produced by git log."
+  "Display the changeset for a git commit reference, e.g. \"commit a55e21\", 
typically produced by git log.
+Hyperbole also includes two commands, `hypb:fgrep-git-log' and
+`hypb:grep-git-log' to list git commit references whose changesets
+contain either the string (fgrep) or regular expression (grep) given.
+Then an Action Key displays the associated changeset.
+"
   (when (save-excursion
          (beginning-of-line)
          (looking-at "\\(^\\|\\s-+\\)\\(commit 
#?\\([0-9a-f][0-9a-f][0-9a-f][0-9a-f]+\\)\\)\\(\\s-\\|$\\)"))
diff --git a/hypb.el b/hypb.el
index fe554ae77c..8fbe131a4e 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:     12-Feb-22 at 12:50:34 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 14:59:21 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -307,7 +307,8 @@ If no matching installation type is found, return a list of 
(\"unknown\" hyperb:
 
 (defun hypb:fgrep-git-log (string)
   "Asynchronously list git log entries whose changesets include `string' for 
selection and display.
-The current commit entry may be displayed with a press of RET, the Action Key 
or the Assist Key."
+A press of RET, the Action Key or the Assist Key on any log line will display 
its committed changes."
+  (interactive "sFgrep git commits containing: ")
   (compile (format "git log -S'%s' --line-prefix='commit ' --oneline" string)
           #'hypb:fgrep-git-log-mode))
 
@@ -474,7 +475,9 @@ If MARKER is invalid signal an error."
             (switch-to-buffer buffer)))))
 
 (defun hypb:grep-git-log (regexp)
-  "Asynchronously list git log entries whose changesets include `regexp'."
+  "Asynchronously list git log entries whose changesets include `regexp' for 
selection and display.
+A press of RET, the Action Key or the Assist Key on any log line will display 
its committed changes."
+  (interactive "sGrep git commits containing: ")
   (compile (format "git log -G'%s' --line-prefix='commit ' --oneline" regexp)))
 
 (defun hypb:help-buf-name (&optional suffix)
diff --git a/kotl/kcell.el b/kotl/kcell.el
index 763470045a..be35508882 100644
--- a/kotl/kcell.el
+++ b/kotl/kcell.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    5/1/1993
-;; Last-Mod:     24-Jan-22 at 00:25:12 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 19:02:00 by Bob Weiner
 ;;
 ;; Copyright (C) 1993-2021  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
@@ -76,11 +76,15 @@ not already there."
 
 (defalias 'kcell:plist 'identity)
 
-(defun kcell:ref-to-id (cell-ref)
+(defun kcell:ref-to-id (cell-ref &optional kviewspec-flag)
   "When CELL-REF is valid, return a CELL-REF string converted to a cell 
idstamp (integer).
 If CELL-REF contains both a relative and a permanent id, the permanent id is
 returned.  If CELL-REF is invalid, nil is returned.
 
+If optional KVIEWSPEC-FLAG is non-nil and CELL-REF includes a
+viewspec, return the concatenation of the idstamp, an optional space
+and the viewspec.
+
 CELL-REF may be a whole number:
 
   12       - permanent idstamp
@@ -90,7 +94,7 @@ or any of the following string forms:
   1.2       - relative id, legal style
   012       - permanent idstamp
   1a=012    - both relative and permanent ids (in that order) separated by =
-  |viewspec - a viewspec setting, rather than a cell reference
+  |viewspec - a koutliner viewspec setting, rather than a cell reference
   :viewspec - an augment viewspec, ignored for now.
 
 Optionally, any of these id forms (or the relative form) may be followed by
@@ -101,52 +105,53 @@ Augment capabilities not yet implemented and ignored for 
now:
   1. Augment viewspec characters preceded by a colon
   2. Any of the above id forms followed by a period and some
      alpha characters indicating a location relative to the id."
-  (cond ((integerp cell-ref)
-        (if (zerop cell-ref)
-            0
-          (when (kproperty:position 'idstamp cell-ref)
-            cell-ref)))
-       ((stringp cell-ref)
-        (setq cell-ref (hypb:replace-match-string "\\s-+" cell-ref "" t))
-        (if (string-equal cell-ref "0")
-            0
-          (let (specs
-                result)
-            ;; Ignore Augment :viewspecs.
-            (when (string-match ":" cell-ref)
-              (setq cell-ref (substring cell-ref 0 (match-beginning 0))))
-            ;; Separate koutline |viewspecs from cell id.
-            (when (string-match "\\(\\.[a-zA-Z]\\||\\)" cell-ref)
-              (setq specs (substring cell-ref (match-beginning 1))
-                    cell-ref (substring cell-ref 0 (match-beginning 0))))
-            (setq result
-                  (cond
-                   ((string-match "[^.= \t\n\r\f0-9a-zA-Z]" cell-ref) nil)
-                   ((or (string-match "^\\([.0-9a-zA-Z]+\\)=\\(0[0-9]*\\)$"
-                                      cell-ref)
-                        ;; idstamp only
-                        (string-match "^\\(\\)\\(0[0-9]*\\)$" cell-ref))
-                    (setq result (string-to-number (match-string 2 cell-ref)))
-                    ;; Validate that idstamp value exists, else return nil
-                    (when (kproperty:position 'idstamp result)
-                      result))
-                   ((string-match "^\\([.0-9a-zA-Z]+\\)$" cell-ref)
-                    ;; relative label
-                    (setq result (match-string 1 cell-ref))
-                    (save-excursion
-                      (goto-char (point-min))
-                      (when (re-search-forward (concat "^[ \t]*" (regexp-quote 
result)
-                                                       (regexp-quote 
(kview:label-separator kview)))
-                                               nil t)
-
-                        (setq result (string-to-number (kcell-view:idstamp)))
-                        ;; Validate that idstamp value exists, else return nil
-                        (when (kproperty:position 'idstamp result)
-                          result))))))
-            (cond (result
-                   (if specs (concat result specs) result))
-                  (specs
-                   (when (eq ?| (aref specs 0)) specs))))))))
+    (cond ((integerp cell-ref)
+          (if (zerop cell-ref)
+              0
+            (when (kproperty:position 'idstamp cell-ref)
+              cell-ref)))
+         ((stringp cell-ref)
+          (let (kviewspec
+                idstamp-string)
+            (setq cell-ref (hypb:replace-match-string "\\s-+" cell-ref "" t))
+            (if (string-equal cell-ref "0")
+                "0"
+              ;; Ignore Augment :viewspec.
+              (when (string-match ":" cell-ref)
+                (setq cell-ref (substring cell-ref 0 (match-beginning 0))))
+              ;; Separate koutline |kviewspec from cell id.
+              (when (string-match "|" cell-ref)
+                (setq kviewspec (substring cell-ref (match-beginning 0))
+                      cell-ref (substring cell-ref 0 (match-beginning 0))))
+              (setq idstamp-string
+                    (cond
+                     ((string-match-p "[^.= \t\n\r\f0-9a-zA-Z]" cell-ref) nil)
+                     ((or (string-match "^\\([.0-9a-zA-Z]+\\)=\\(0[0-9]*\\)$"
+                                        cell-ref)
+                          ;; idstamp only
+                          (string-match "^\\(\\)\\(0[0-9]*\\)$" cell-ref))
+                      (setq idstamp-string (match-string 2 cell-ref))
+                      ;; Validate that idstamp value exists, else return nil
+                      (when (kproperty:position 'idstamp (string-to-number 
idstamp-string))
+                        idstamp-string))
+                     ((string-match "^\\([.0-9a-zA-Z]+\\)$" cell-ref)
+                      ;; relative label
+                      (setq idstamp-string (match-string 1 cell-ref))
+                      (save-excursion
+                        (goto-char (point-min))
+                        (when (re-search-forward (concat "^[ \t]*" 
(regexp-quote idstamp-string)
+                                                         (regexp-quote 
(kview:label-separator kview)))
+                                                 nil t)
+
+                          (setq idstamp-string (kcell-view:idstamp))
+                          ;; Validate that idstamp value exists, else return 
nil
+                          (when (kproperty:position 'idstamp (string-to-number 
idstamp-string))
+                            idstamp-string)))))))
+            (if idstamp-string
+                (if (and kviewspec-flag kviewspec)
+                    (concat idstamp-string kviewspec)
+                  (string-to-number idstamp-string))
+              kviewspec)))))
        
 (defun kcell:remove-attr (kcell attribute)
   "Remove KCELL's ATTRIBUTE, if any, and return modified KCELL."
diff --git a/kotl/klink.el b/kotl/klink.el
index 6894fe79c8..f3dec16efe 100644
--- a/kotl/klink.el
+++ b/kotl/klink.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    15-Nov-93 at 12:15:16
-;; Last-Mod:     29-Jan-22 at 10:54:02 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 18:50:58 by Bob Weiner
 ;;
 ;; Copyright (C) 1993-2021  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
@@ -203,7 +203,7 @@ See documentation for the `link-to-kotl' function for valid 
klink formats."
 
 (defact link-to-kotl (link)
   "Display at the top of another window the referent pointed to by LINK.
-LINK may be of any of the following forms:
+LINK may be of any of the following forms; the <> are optional:
   < pathname [, cell-ref] >
   < [-!&] pathname >
   < @ cell-ref >
@@ -221,7 +221,7 @@ See documentation for `kcell:ref-to-id' for valid cell-ref 
formats."
     ;; < @ cell-ref > or < |viewspec > or < :augment-viewspec >
     (hact 'link-to-kcell
          nil
-         (kcell:ref-to-id (match-string 1 link))))
+         (kcell:ref-to-id (match-string 1 link) t)))
    ((and (string-match
          (format "\\`<?\\s-*\\([^ 
\t\n\r\f,<>]+\\)\\s-*\\(,\\s-*\\(%s\\)\\)?\\s-*>?\\'"
                  klink:cell-ref-regexp)
@@ -229,7 +229,7 @@ See documentation for `kcell:ref-to-id' for valid cell-ref 
formats."
         (match-end 3))
     ;; < pathname, cell-ref >
     (hact 'link-to-kcell (match-string 1 link)
-         (kcell:ref-to-id (match-string 3 link))))
+         (kcell:ref-to-id (match-string 3 link) t)))
    ((string-match
      "\\`<?\\s-*\\(\\([-!&]\\)?\\s-*[^ \t\n\r\f,<>]+\\)\\s-*>?\\'" link)
     ;; < [-!&] pathname >
@@ -245,9 +245,10 @@ See documentation for `kcell:ref-to-id' for valid cell-ref 
formats."
   (let ((obuf (current-buffer)))
     ;; Perform klink's action which is to jump to link referent.
     (hact 'link-to-kotl link)
-    ;; Update klink label if need be, which might be in a different buffer
-    ;; than the current one.
-    (klink:update-label link start-pos obuf)))
+    (save-excursion
+      ;; Update klink label if need be, which might be in a different buffer
+      ;; than the current one.
+      (klink:update-label link start-pos obuf))))
 
 (defun klink:parse (reference)
   "Return (file-ref cell-ref) list parsed from REFERENCE string.
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index 8ae132fe7e..70f8b7cba3 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:     29-Jan-22 at 09:58:17 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 18:19:52 by Bob Weiner
 ;;
 ;; Copyright (C) 1993-2021  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
@@ -1726,6 +1726,7 @@ part of the paragraph, or the end of the buffer."
 (defun kotl-mode:goto-cell (cell-ref &optional error-p)
   "Move point to start of cell given by CELL-REF (see `kcell:ref-to-id').
 Return point if CELL-REF is found within current view, else nil.
+(See the doc for `kcell:ref-to-id', for valid formats).
 
 With optional second arg ERROR-P non-nil, or if called
 interactively, will signal an error if CELL-REF is not found
@@ -1740,7 +1741,7 @@ for CELL-REF."
             (prefix-numeric-value current-prefix-arg)
           (read-string "Goto cell label or id: "))))
   (setq cell-ref
-       (or (kcell:ref-to-id cell-ref)
+       (or (kcell:ref-to-id cell-ref t)
            (error "(kotl-mode:goto-cell): Invalid cell reference, `%s'" 
cell-ref)))
   (let* ((opoint (point))
         (found)
diff --git a/kotl/kview.el b/kotl/kview.el
index ad7d808c85..659c980897 100644
--- a/kotl/kview.el
+++ b/kotl/kview.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    6/30/93
-;; Last-Mod:     24-Jan-22 at 00:25:32 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 18:51:04 by Bob Weiner
 ;;
 ;; Copyright (C) 1993-2021  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
@@ -122,9 +122,9 @@ Trigger an error if CELL-REF is not a string or is not 
found."
          (integerp cell-ref))
       (let ((idstamp (kcell:ref-to-id cell-ref))
            pos)
-       (cond ((and idstamp (zerop idstamp))
+       (cond ((and (integerp idstamp) (zerop idstamp))
               (kview:top-cell kview))
-             ((and idstamp (setq pos (kproperty:position 'idstamp idstamp)))
+             ((and (integerp idstamp) (setq pos (kproperty:position 'idstamp 
idstamp)))
               (kcell-view:cell pos))
              (t (error "(kcell:get-from-ref): No such Koutline cell: '%s'" 
cell-ref))))
     (error "(kcell:get-from-ref): cell-ref arg must be a string, not: %s" 
cell-ref)))
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 51f7d4b4f3..cf8bbc4db4 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -3134,12 +3134,19 @@ See <samp>${hyperb:dir}/DEMO#Git (Local) 
References</samp> for examples.
 value is provided, it defaults to the value of 
<code>hibtypes-git-default-project</code>. 
 </p>
 <span id="index-ibtypes-git_002dcommit_002dreference"></span>
+<span id="index-hypb_003afgrep_002dgit_002dlog"></span>
+<span id="index-hypb_003agrep_002dgit_002dlog"></span>
 <span id="index-git-commit-reference"></span>
+<span id="index-git-grep"></span>
+<span id="index-git-log-grep_002fmatch"></span>
 <span id="index-version-control-1"></span>
 </dd>
 <dt><code>git-commit-reference</code></dt>
-<dd><p>Display the diff for a git commit reference, e.g. commit a55e21, 
typically
-produced by git log.
+<dd><p>Display the changeset for a git commit reference, e.g. commit a55e21, 
typically
+produced by git log.  Hyperbole also includes two commands, 
<code>hypb:fgrep-git-log</code>
+and <code>hypb:grep-git-log</code> to list git commit references whose 
changesets contain
+either the string (fgrep) or regular expression (grep) given.  Then an Action 
Key
+press displays the associated changeset.
 </p>
 <span id="index-ibtypes-github_002dreference"></span>
 <span id="index-github-reference"></span>
@@ -4524,7 +4531,7 @@ access to popular web search engines.
 <p>The Find/Web menu looks like this:
 </p>
 <div class="example">
-<pre class="example">Web&gt;  Amazon Bing Dictionary Elisp Facebook Google 
Hub(git)
+<pre class="example">Web&gt;  Amazon Bing Dictionary Elisp Facebook Google 
gitHub
       Images Maps RFCs StackOverflow Twitter Wikipedia Youtube
 </pre></div>
 </li></ul>
@@ -7655,7 +7662,7 @@ text (&lsquo;<samp>\\&amp;</samp>&rsquo;) or any numbered 
grouping from TEXT-REG
 e.g. &lsquo;<samp>\\1</samp>&rsquo;, may be referenced in the LINK-EXPR to 
form the
 link referent.
 </p>
-<p>Here is a sample use case.  Let&rsquo;s create a button type whose whose
+<p>Here is a sample use case.  Let&rsquo;s create a button type whose
 buttons perform a grep-like function over a current repo&rsquo;s git log
 entries.  The buttons use this format: [&lt;text to match&gt;].
 </p>
@@ -7680,7 +7687,10 @@ Hyperbole source buffer, an Action Key press on a button 
of the form:
 release&rsquo;.  An Action Key press on any such line will then display the
 commit changes.
 </p>
-
+<p>If you don&rsquo;t mind extra text for every button, you could instead use
+Action Buttons of the form: &lt;hypb:fgrep-git-log &quot;string&quot;&gt; to 
do the
+same thing without any special definitions.
+</p>
 <hr>
 <span id="Programmatic-Implicit-Button-Types"></span><div class="header">
 <p>
@@ -9799,7 +9809,7 @@ Return number of cells left to move.
 </dd>
 <dt><code>kotl-mode:goto-cell  <kbd>{C-c g}</kbd></code></dt>
 <dd><p>Move point to start of cell given by CELL-REF.  (See the documentation
-for <code>(kcell:ref-to-id)</code>, for valid formats.)  Return point iff
+for <code>(kcell:ref-to-id)</code>, for valid formats).  Return point iff
 CELL-REF is found within current view.  With a prefix argument, CELL-REF
 is assigned the argument value for use as an idstamp.
 </p>
@@ -13345,6 +13355,8 @@ Next: <a href="#Concept-Index" accesskey="n" 
rel="next">Concept Index</a>, Previ
 <tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindows_002dgrid_002dby_002dbuffer_002dlist"><code>hycontrol-windows-grid-by-buffer-list</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindows_002dgrid_002dby_002dfile_002dlist"><code>hycontrol-windows-grid-by-file-list</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindows_002dgrid_002dby_002dfile_002dpattern"><code>hycontrol-windows-grid-by-file-pattern</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hypb_003afgrep_002dgit_002dlog"><code>hypb:fgrep-git-log</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Implicit-Button-Types">Implicit Button 
Types</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hypb_003agrep_002dgit_002dlog"><code>hypb:grep-git-log</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Implicit-Button-Types">Implicit Button 
Types</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hypb_003argrep_002dcommand">hypb:rgrep-command</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyperb_003adir">hyperb:dir</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Documentation">Documentation</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyperbole"><code>hyperbole</code></a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Invocation">Invocation</a></td></tr>
@@ -14134,6 +14146,8 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-gdb">gdb</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-git">git</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Magit-Mode">Smart Key - Magit Mode</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-git-commit-reference">git commit 
reference</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-git-grep">git 
grep</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-git-log-grep_002fmatch">git log 
grep/match</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-git-reference">git 
reference</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-github-reference">github 
reference</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-gitlab-reference">gitlab 
reference</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 1f6420f943..d8ba314d15 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index f71409b97f..eef2f38065 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 70d065e016..5bcfdceed4 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:     12-Feb-22 at 14:02:21 by Bob Weiner
+@c Last-Mod:     12-Feb-22 at 18:11:31 by Bob Weiner
 
 @c %**start of header (This is for running Texinfo on a region.)
 @setfilename hyperbole.info
@@ -2499,11 +2499,18 @@ If given, PROJECT overrides any project value in 
REFERENCE.  If no PROJECT
 value is provided, it defaults to the value of 
@code{hibtypes-git-default-project}. 
 
 @findex ibtypes git-commit-reference
+@findex hypb:fgrep-git-log
+@findex hypb:grep-git-log
 @cindex git commit reference
+@cindex git grep
+@cindex git log grep/match
 @cindex version control
 @item git-commit-reference
-Display the diff for a git commit reference, e.g. commit a55e21, typically
-produced by git log.
+Display the changeset for a git commit reference, e.g. commit a55e21, typically
+produced by git log.  Hyperbole also includes two commands, 
@code{hypb:fgrep-git-log}
+and @code{hypb:grep-git-log} to list git commit references whose changesets 
contain
+either the string (fgrep) or regular expression (grep) given.  Then an Action 
Key
+press displays the associated changeset.
 
 @findex ibtypes github-reference
 @cindex github reference
@@ -3784,7 +3791,7 @@ Web/ -             Select a search engine and term and 
search with them.
 
 @smallexample
 @noindent
-Web>  Amazon Bing Dictionary Elisp Facebook Google Hub(git)
+Web>  Amazon Bing Dictionary Elisp Facebook Google gitHub
       Images Maps RFCs StackOverflow Twitter Wikipedia Youtube
 @end smallexample
 @end itemize
@@ -6510,7 +6517,7 @@ text (@samp{\\&}) or any numbered grouping from 
TEXT-REGEXP,
 e.g. @samp{\\1}, may be referenced in the LINK-EXPR to form the
 link referent.
 
-Here is a sample use case.  Let's create a button type whose whose
+Here is a sample use case.  Let's create a button type whose
 buttons perform a grep-like function over a current repo's git log
 entries.  The buttons use this format: [<text to match>].
 
@@ -6537,6 +6544,9 @@ will display one line per commit whose change set matches 
'test
 release'.  An Action Key press on any such line will then display the
 commit changes.
 
+If you don't mind extra text for every button, you could instead use
+Action Buttons of the form: <hypb:fgrep-git-log "string"> to do the
+same thing without any special definitions.
 
 @node  Programmatic Implicit Button Types,  , Implicit Button Link Types, 
Creating Implicit Button Types
 @subsubsection Programmatic Implicit Button Types
@@ -8402,7 +8412,7 @@ Move point forward ARG (or 1) words and return point.
 @findex kotl-mode:goto-cell
 @item kotl-mode:goto-cell  @bkbd{C-c g}
 Move point to start of cell given by CELL-REF.  (See the documentation
-for @code{(kcell:ref-to-id)}, for valid formats.)  Return point iff
+for @code{(kcell:ref-to-id)}, for valid formats).  Return point iff
 CELL-REF is found within current view.  With a prefix argument, CELL-REF
 is assigned the argument value for use as an idstamp.
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]