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

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

[elpa] externals/hyperbole 6f19f0e78e: Add Smart Key support for Org mod


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 6f19f0e78e: Add Smart Key support for Org mode todo cycling
Date: Sun, 15 May 2022 12:57:34 -0400 (EDT)

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

    Add Smart Key support for Org mode todo cycling
    
    Also, add Koutliner Org-compatible key bindings {M-S-left} and
    {M-S-right} to promote and demote trees.
    
    Defer Hyperbole {C-c /} binding to Org mode's binding.
---
 ChangeLog          |  26 ++++++++++++++++++++++++++
 HY-NEWS            |  17 +++++++++++++++++
 README.md          |  48 ++++++++++++++++++++++++++++++++++--------------
 hmouse-drv.el      |   7 ++++++-
 hpath.el           |   8 ++++++--
 hsys-org.el        |  37 +++++++++++++++++++++++++++++++------
 hui-mini.el        |  19 +++++++++++++++++--
 hui-mouse.el       |  15 +++++++++++++--
 kotl/kotl-mode.el  |   8 +++++---
 man/hyperbole.html |  29 +++++++++++++++++++++++++++--
 man/hyperbole.info | Bin 589583 -> 590690 bytes
 man/hyperbole.pdf  | Bin 1342006 -> 1341841 bytes
 man/hyperbole.texi |  31 +++++++++++++++++++++++++++----
 13 files changed, 209 insertions(+), 36 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3416fe44e6..ecaa36966b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2022-05-14  Bob Weiner  <rsw@gnu.org>
+
+* hsys-org.el (hsys-org-todo-occur): Add.
+  hui-mini.el (hui-search-web): Hyperbole binds this to {C-c /} which
+    conflicts with an Org mode binding, so if in Org mode, use its binding
+    when this command is called interactively from that key.
+
+* man/hyperbole.texi (Implicit Button Types, Smart Key - Org Mode): Add Org
+    mode Action Key todo cycling and Assist Key todo set cycling.
+  hsys-org.el (hsys-org-cycle, hsys-org-global-cycle): FIX: Remove setting of
+    last-command which causes cursor to jump around somewhere else in the
+    buffer when unfolding a headline rather than just unfolding it
+              (hsys-org-todo-at-p, hsys-org-todo-cycle, 
hsys-org-todo-set-cycle):
+    Add to cycle through todo states (and switch to a different set) on the 
Action
+    and Assist Keys respectively.
+  hmouse-drv.el (action-key-depress, assist-key-depress): Maintain last command
+    when is org-todo to support proper Smart Key Org todo cycling.
+
+* hpath.el (hpath:find): Remove any trailing characters with punctuation 
syntax,
+    e.g. period.
+
+* HY-NEWS (M-S-left and M-S-Right):
+  man/hyperbole.texi (Promoting and Demoting):
+  kotl/kotl-mode.el (kotl-mode-map): Org compatibility - Add [M-S-left] and
+    [M-S-right] to promote and demote trees.
+
 2022-05-12  Bob Weiner  <rsw@gnu.org>
 
 * hibtypes.el (elisp-compiler-msg): Add "*ert*" output buffer and support for
diff --git a/HY-NEWS b/HY-NEWS
index f3d1418b90..501545a4eb 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -12,6 +12,23 @@
     libraries to eliminate all Error-level messages).
 
 
+** KOUTLINER  (See "(hyperbole)Koutliner").
+
+*** M-S-left and M-S-Right: Org compatibility - Add tree promote and demote 
+    commands to these keys (same as existing M-left and M-right keys).
+
+
+** ORG MODE
+
+  *** Todo Cycling: An Action Key press on an Org mode todo state keyword,
+      cycles to the next state.  An Assist Key press in the same place 
+      cycles to the next set of states, if any.
+
+  *** {C-c /}: Hyperbole {C-c /} web search binding defers to org-mode
+      binding, 'org-show-todo-tree' but uses the improved Hyperbole version,
+      'hsys-org-todo-occur' which allows filtering to specific todo states.
+
+
 ** SMART (ACTION AND ASSIST) KEYS  (See "(hyperbole)Smart Keys").
 
 *** Smart Dired: Action Key subdirectory selection at point now works on
diff --git a/README.md b/README.md
index f9bc1f185d..9be6d1703f 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,25 @@
 
 ![Hyperbole screenshot of the Koutliner, DEMO file and 
HyRolo](man/im/hyperbole-cv.png)
 
+## Videos
+
+If you prefer video introductions, visit the videos linked to below;
+otherwise, skip to the next section.
+
+   - [Overview and Demo](https://youtu.be/WKwZHSbHmPg)
+      Covers all of Hyperbole
+      Hyperlink timestamps to watch each section
+
+   - [Quick Introduction](https://youtu.be/K1MNUctggwI)
+
+   - [Introduction to Buttons](https://youtu.be/zoEht66N2PI)
+
+   - [HyRolo, fast contact/hierarchical record 
viewer](https://youtu.be/xdJGFdgKPFY)
+
+   - [HyControl, fast Emacs frame and window 
manager](https://youtu.be/M3-aMh1ccJk)
+
+   - [Find/Web Search](https://youtu.be/8lMlJed0-OM)
+
 ## Summary
 
 `GNU Hyperbole` (pronounced Ga-new Hi-per-bo-lee), or just `Hyperbole`, is
@@ -82,16 +101,17 @@ In short, Hyperbole lets you:
    6. Search for things in your current buffers, in a directory tree or
          across major web search engines with the touch of a few keys.
 
-The common thread in all these features is making retrieval, management and
-display of information fast and easy.  That is Hyperbole's purpose.  It may
-be broad but it works amazingly well.  If it is textual information,
-Hyperbole can work with it.  In contrast to Org mode, Hyperbole works across
-all Emacs modes and speeds your work by turning all kinds of references into
-clickable hyperlinks and allowing you to create new hyperlinks by dragging
-between two windows.  The [Hyperbole wiki
-page](https://www.emacswiki.org/emacs/Hyperbole) explains the many ways it
-differs from and is complementary to Org mode.  Hyperbole is designed to
-work with Org mode, so use them both across your tasks.
+The common thread in all these features is making retrieval,
+management and display of information fast and easy.  That is
+Hyperbole's purpose.  It may be broad but it works amazingly well.  If
+it is textual information, Hyperbole can work with it.  In contrast to
+Org mode, Hyperbole works across all Emacs modes and speeds your work
+by turning all kinds of references into clickable hyperlinks and
+allowing you to create new hyperlinks by dragging between two windows.
+The [Hyperbole wiki page](https://www.emacswiki.org/emacs/Hyperbole)
+explains the many ways it differs from and is complementary to Org
+mode.  Hyperbole is designed to work with Org mode, so use them both
+across your tasks.
 
 Hyperbole allows hypertext buttons to be embedded within unstructured and
 structured files, mail messages and news articles.  It offers intuitive
@@ -112,13 +132,13 @@ through the GNU Emacs package manager.
 
    - **hyperbole-users@gnu.org** - User list for GNU Hyperbole
 
-       [info and subscription]: 
http://lists.gnu.org/mailman/listinfo/hyperbole-users
-       [web archive]: http://lists.gnu.org/pipermail/hyperbole-users/
+       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/hyperbole-users)
+       [web archive](http://lists.gnu.org/pipermail/hyperbole-users/)
 
    - **bug-hyperbole@gnu.org** - List for bug reporting
 
-       [info and subscription]: 
http://lists.gnu.org/mailman/listinfo/bug-hyperbole
-       [web archive]: http://lists.gnu.org/archive/html/bug-hyperbole/
+       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/bug-hyperbole)
+       [web archive](http://lists.gnu.org/archive/html/bug-hyperbole/)
 
 ## Ftp and Git Repository Downloads
 
diff --git a/hmouse-drv.el b/hmouse-drv.el
index 80224609f5..e2551a355e 100644
--- a/hmouse-drv.el
+++ b/hmouse-drv.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    04-Feb-90
-;; Last-Mod:     17-Apr-22 at 15:11:15 by Bob Weiner
+;; Last-Mod:     15-May-22 at 00:12:19 by Bob Weiner
 ;;
 ;; Copyright (C) 1989-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -174,6 +174,8 @@ This permits the Smart Keys to behave as paste keys.")
   (when (and (not assist-key-depressed-flag)
             (hmouse-modeline-event-p action-key-depress-args))
     (mouse-drag-mode-line action-key-depress-args))
+  (when (eq last-command #'org-todo)
+    (setq this-command #'org-todo))
   (run-hooks 'action-key-depress-hook))
 
 (defun assist-key-depress (&rest args)
@@ -195,6 +197,8 @@ This permits the Smart Keys to behave as paste keys.")
   (when (and (not action-key-depressed-flag)
             (hmouse-modeline-event-p assist-key-depress-args))
     (mouse-drag-mode-line assist-key-depress-args))
+  (when (eq last-command #'org-todo)
+    (setq this-command #'org-todo))
   (run-hooks 'assist-key-depress-hook))
 
 (defun action-key-depress-emacs (event)
@@ -864,6 +868,7 @@ Non-nil ASSISTING means evaluate second form, otherwise 
evaluate first form.
 Return non-nil iff a non-nil predicate is found."
   ;; Keep in mind that hkey-alist may be set to hmouse-alist here, with 
additional predicates.
   (let ((hkey-forms hkey-alist)
+       (assist-flag assisting)
        (pred-point (point-marker))
        pred-value hkey-action hkey-form pred)
     (while (and (null pred-value) (setq hkey-form (car hkey-forms)))
diff --git a/hpath.el b/hpath.el
index c8b149ba1b..9d25e6361a 100644
--- a/hpath.el
+++ b/hpath.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:     1-Nov-91 at 00:44:23
-;; Last-Mod:     17-Apr-22 at 13:15:55 by Bob Weiner
+;; Last-Mod:     14-May-22 at 13:53:16 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -1287,7 +1287,11 @@ buffer but don't display it."
            anchor (match-string 3 path)
            path (if (match-end 1)
                     (substring path 0 (match-end 1))
-                  (or buffer-file-name ""))))
+                  (or buffer-file-name "")))
+      ;; 'anchor' may improproperly include trailing punctuation;
+      ;; remove it if so.
+      (when (string-match "\\s.+\\'" anchor)
+       (setq anchor (substring anchor 0 (match-beginning 0)))))
     (if (string-empty-p path)
        (setq path ""
              filename "")
diff --git a/hsys-org.el b/hsys-org.el
index 0d24e31873..cfa2152d99 100644
--- a/hsys-org.el
+++ b/hsys-org.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:     2-Jul-16 at 14:54:14
-;; Last-Mod:     24-Jan-22 at 00:18:47 by Bob Weiner
+;; Last-Mod:     15-May-22 at 00:50:06 by Bob Weiner
 ;;
 ;; Copyright (C) 2016-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -12,7 +12,7 @@
 
 ;;; Commentary:
 ;;
-;;   Support functions for smart-org in "hui-mouse.el"
+;;   Support functions for "hui-mouse.el#smart-org".
 ;;
 ;;   smart-org is triggered when the major mode is org-mode or is derived
 ;;   from org-mode.
@@ -130,16 +130,34 @@ uses that one.  Otherwise, triggers an error."
 
 (defun hsys-org-cycle ()
   "Call `org-cycle' and force it to be set as `this-command' to cycle through 
all states."
-  (setq last-command 'org-cycle
-       this-command 'org-cycle)
+  (setq this-command 'org-cycle)
   (org-cycle))
 
 (defun hsys-org-global-cycle ()
   "Call `org-global-cycle' and force it to be set as `this-command' to cycle 
through all states."
-  (setq last-command 'org-cycle
-       this-command 'org-cycle)
+  (setq this-command 'org-cycle)
   (org-global-cycle nil))
 
+(defun hsys-org-todo-cycle ()
+  "Call `org-todo' and force it to be set as `this-command' to cycle through 
all states."
+  (setq this-command 'org-todo)
+  (org-todo))
+
+(defun hsys-org-todo-set-cycle ()
+  "Call `org-todo' to switch to the next set of keywords and force it to be 
set as `this-command'."
+  (setq this-command 'org-todo)
+  (org-call-with-arg 'org-todo 'nextset))
+
+(defun hsys-org-todo-occur (&optional keyword)
+  "Filter to a tree of todos matching optional `keyword' together with all 
higher headlines above each match.
+Match to all todos if `keyword' is nil or the empty string."
+  (interactive
+   (list (hargs:read-match "List todos matching keyword: " 
org-todo-keywords-1)))
+  (unless keyword (setq keyword ""))
+  (message "%d '%s' TODO entries found"
+          (org-occur (concat "^" org-outline-regexp " *" (regexp-quote 
keyword)))
+          keyword))
+
 (defun hsys-org-region-with-text-property-value (pos property)
   "Return (start . end) buffer positions of the region around POS that shares 
its non-nil text PROPERTY value, else nil."
   (when (null pos) (setq pos (point)))
@@ -205,6 +223,13 @@ or are looking for an Org link in another buffer type."
 Assume caller has already checked that the current buffer is in `org-mode'."
   (hsys-org-face-at-p 'org-target))
 
+;; Assume caller has already checked that the current buffer is in org-mode.
+(defun hsys-org-todo-at-p ()
+  "Return non-nil iff point is on an Org mode todo keyword.
+Assume caller has already checked that the current buffer is in `org-mode'."
+  (when (assq :todo-keyword (org-context))
+    t))
+
 (defun hsys-org-radio-target-link-at-p ()
   "Return (target-start . target-end) positions iff point is on an Org mode 
radio target link (referent), else nil."
   (and (hsys-org-face-at-p 'org-link)
diff --git a/hui-mini.el b/hui-mini.el
index b791a2201e..9d50c5dc64 100644
--- a/hui-mini.el
+++ b/hui-mini.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    15-Oct-91 at 20:13:17
-;; Last-Mod:     24-Apr-22 at 16:33:12 by Bob Weiner
+;; Last-Mod:     15-May-22 at 00:51:30 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -463,7 +463,22 @@ constructs.  If not given, the top level Hyperbole menu is 
used."
 (defun hui-search-web ()
   "Prompt for a web search engine and search term and then perform the search."
   (interactive)
-  (hyperbole 'web))
+  (let* ((key (hypb:cmd-key-vector #'hui-search-web hyperbole-mode-map))
+        (org-key-cmd (and (derived-mode-p 'org-mode)
+                          (called-interactively-p 'interactive)
+                          (equal (this-single-command-keys) key)
+                          (lookup-key org-mode-map key))))
+    (setq a org-key-cmd)
+    (if org-key-cmd
+       ;; Prevent a conflict with {C-c /} binding in Org mode; use
+       ;; more flexible, filtering Hyperbole version of this Org command
+       ;; if Org mode binding has not been changed.
+       (call-interactively (if (eq org-key-cmd #'org-sparse-tree)
+                               #'hsys-org-todo-occur
+                             org-key-cmd))
+      ;;
+      ;; No key conflicts, perform normal Hyperbole operation
+      (hyperbole 'web))))
 
 ;;; ************************************************************************
 ;;; Private variables
diff --git a/hui-mouse.el b/hui-mouse.el
index 3b2554aacb..1d1e3a3408 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    04-Feb-89
-;; Last-Mod:     10-May-22 at 23:37:13 by Bob Weiner
+;; Last-Mod:     14-May-22 at 18:31:38 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -1634,6 +1634,9 @@ When the Action Key is pressed:
   executes the code block via the Org mode standard binding of {C-c C-c},
   (org-ctrl-c-ctrl-c).
 
+  Sixth, if on an Org todo keyword, cycles through the keywords in
+  that set or if final done keyword, removes it.
+
   In any other context besides the end of a line, the Action Key invokes the
   Org mode standard binding of {M-RET}, (org-meta-return).
 
@@ -1643,6 +1646,9 @@ When the Assist Key is pressed:
 
   Second, on an Org mode link or agenda item, this displays standard Hyperbole 
help.
 
+  Third, if on an Org todo keyword, moves to the first todo keyword in
+  the next set, if any.
+
 To disable ALL Hyperbole support within Org major and minor modes, set the
 custom option `hsys-org-enable-smart-keys' to nil.  Then in Org modes, this
 will simply invoke `org-meta-return'.
@@ -1657,7 +1663,12 @@ handled by the separate implicit button type, 
`org-link-outside-org-mode'."
             ;; Ignore any further Smart Key non-Org contexts
             t)
            ((eq hsys-org-enable-smart-keys t)
-            (cond ((hsys-org-agenda-item-at-p)
+            (cond ((or (hsys-org-todo-at-p)
+                       (eq last-command #'org-todo))
+                   (if (not assist-flag)
+                       (hact 'hsys-org-todo-cycle)
+                     (hact 'hsys-org-todo-set-cycle)))
+                  ((hsys-org-agenda-item-at-p)
                    (if (not assist-flag)
                        (progn (hsys-org-set-ibut-label (cons 
(line-beginning-position) (line-end-position)))
                               (hact 'org-agenda-show-and-scroll-up 
current-prefix-arg))
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index 35a3de3cc2..d75681849d 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:     12-May-22 at 00:11:23 by Bob Weiner
+;; Last-Mod:     14-May-22 at 11:55:40 by Bob Weiner
 ;;
 ;; Copyright (C) 1993-2021  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
@@ -3609,10 +3609,12 @@ Leave point at end of line now residing at START."
   (define-key kotl-mode-map (kbd "ESC <down>")  'kotl-mode:move-tree-forward)
   (mapc (lambda (key)
          (define-key kotl-mode-map key         'kotl-mode:promote-tree))
-       (list (kbd "M-<left>") (kbd "ESC <left>") (kbd "C-c C-<") (kbd "C-c 
C-,")))
+       (list (kbd "M-<left>") (kbd "M-S-<left>") (kbd "ESC <left>")
+             (kbd "ESC S-<left>") (kbd "C-c C-<") (kbd "C-c C-,")))
   (mapc (lambda (key)
          (define-key kotl-mode-map key         'kotl-mode:demote-tree))
-       (list (kbd "M-<right>") (kbd "ESC <right>") (kbd "C-c C->") (kbd "C-c 
C-."))))
+       (list (kbd "M-<right>") (kbd "M-S-<right>") (kbd "ESC <right>")
+             (kbd "ESC S-<right>") (kbd "C-c C->") (kbd "C-c C-."))))
 
 ;; When delete-selection-mode (pending-delete-mode) is enabled, make
 ;; these commands delete the region.
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 1bce8edc71..80b3d8b8df 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -370,7 +370,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 8.0.1pre
-Printed May 11, 2022.
+Printed May 15, 2022.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -2751,9 +2751,23 @@ view of all headings in the buffer.
 Action Key executes the code block via the Org-mode standard binding
 of <kbd>{C-c C-c}</kbd>, <code>org-ctrl-c-ctrl-c</code>.
 </p>
+<p>Sixth, if on an Org todo keyword, cycles through the keywords in
+that set or if final done keyword, removes it.
+</p>
 <p>In any other context besides the end of a line, the Action Key invokes
 the Org-mode standard binding of <kbd>{M-<span class="key">RET</span>}</kbd>, 
<code>org-meta-return</code>.
 </p>
+<p>If the Assist Key is pressed instead of the Action Key:
+</p>
+<p>First, on an Org mode heading, this cycles through views of the whole 
buffer outline.
+</p>
+<p>Second, on an Org mode link or agenda item, this displays standard 
Hyperbole help.
+</p>
+<p>Third, if on an Org todo keyword, moves to the first todo keyword in
+the next set, if any.
+</p>
+<p>In any other context, it behaves like the Action Key.
+</p>
 <span id="index-hsys_002dorg_002denable_002dsmart_002dkeys"></span>
 <span id="index-enable-org_002dmode-support"></span>
 <span id="index-disable-org_002dmode-support"></span>
@@ -5535,6 +5549,8 @@ substructure) are promoted and demoted, not individual 
cells.
 <span id="index-koutliner_002c-Shift_002dTAB"></span>
 <span id="index-koutliner_002c-M_002dleft"></span>
 <span id="index-koutliner_002c-M_002dright"></span>
+<span id="index-koutliner_002c-M_002dShift_002dleft"></span>
+<span id="index-koutliner_002c-M_002dShift_002dright"></span>
 <span id="index-koutliner_002c-C_002dc-C_002d_002c"></span>
 <span id="index-koutliner_002c-C_002dc-C_002d_002e"></span>
 <span id="index-koutliner_002c-C_002dc-C_002d_003e"></span>
@@ -5546,6 +5562,7 @@ substructure) are promoted and demoted, not individual 
cells.
 |-----------------------------+----------------------------|
 | Shift-TAB or M-TAB          | TAB                        |
 | M-left                      | M-right                    |
+| M-Shift-left                | M-Shift-right              |
 | C-c C-,                     | C-c C-.                    |
 | C-c C-&lt;                     | C-c C-&gt;                    |
 |-----------------------------+----------------------------|
@@ -10836,13 +10853,19 @@ Next: <a href="#Smart-Key-_002d-Ivy" accesskey="n" 
rel="next">Smart Key - Ivy</a
          the code block via the Org mode standard binding of <kbd>{C-c 
C-c}</kbd>,
          <code>(org-ctrl-c-ctrl-c)</code>.
 
-     (6) In any other context besides the end of a line, the Action Key 
invokes the
+     (6) if on an Org todo keyword, cycles through the keywords in that set or
+         if final done keyword, removes it.
+
+     (7) In any other context besides the end of a line, the Action Key 
invokes the
          Org mode standard binding of <kbd>{M-<span 
class="key">RET</span>}</kbd>, <code>(org-meta-return)</code>.
 
   ASSIST KEY
      (1) on an Org mode heading, this cycles through views of the whole buffer 
outline.
 
      (2) on an Org mode link or agenda item, this displays standard Hyperbole 
help.
+
+     (3) if on an Org todo keyword, moves to the first todo keyword in the 
next set, if
+         any.
 </pre></div>
 
 <span id="index-org_002dlink_002doutside_002dorg_002dmode"></span>
@@ -12980,6 +13003,8 @@ Next: <a href="#Function" accesskey="n" 
rel="next">Function</a>, Previous: <a hr
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-M_002dq"><code>koutliner, 
M-q</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Filling">Filling</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-M_002dRET"><code>koutliner, M-<span 
class="key">RET</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-M_002dright"><code>koutliner, 
M-right</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-M_002dShift_002dleft"><code>koutliner, 
M-Shift-left</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-M_002dShift_002dright"><code>koutliner, 
M-Shift-right</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-M_002dTAB"><code>koutliner, M-<span 
class="key">TAB</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-Shift_002dTAB"><code>koutliner, Shift-<span 
class="key">TAB</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-TAB"><code>koutliner, <span 
class="key">TAB</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 8971ac36be..5e201b31f2 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index 8f106c99ba..0b67c71aae 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 59d83436e6..712c014812 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:     11-May-22 at 01:17:39 by Bob Weiner
+@c Last-Mod:     15-May-22 at 00:21:56 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 8.0.1pre
-Printed May 11, 2022.
+Printed May 15, 2022.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -198,7 +198,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 8.0.1pre
-May 11, 2022
+May 15, 2022
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -2148,9 +2148,23 @@ Fifth, with point on the first line of a code block 
definition, the
 Action Key executes the code block via the Org-mode standard binding
 of @bkbd{C-c C-c}, @code{org-ctrl-c-ctrl-c}.
 
+Sixth, if on an Org todo keyword, cycles through the keywords in
+that set or if final done keyword, removes it.
+
 In any other context besides the end of a line, the Action Key invokes
 the Org-mode standard binding of @bkbd{M-@key{RET}}, @code{org-meta-return}.
 
+If the Assist Key is pressed instead of the Action Key:
+
+First, on an Org mode heading, this cycles through views of the whole buffer 
outline.
+
+Second, on an Org mode link or agenda item, this displays standard Hyperbole 
help.
+
+Third, if on an Org todo keyword, moves to the first todo keyword in
+the next set, if any.
+
+In any other context, it behaves like the Action Key.
+
 @vindex hsys-org-enable-smart-keys
 @cindex enable org-mode support
 @cindex disable org-mode support
@@ -4651,6 +4665,8 @@ substructure) are promoted and demoted, not individual 
cells.
 @kindex koutliner, Shift-@key{TAB}
 @kindex koutliner, M-left
 @kindex koutliner, M-right
+@kindex koutliner, M-Shift-left
+@kindex koutliner, M-Shift-right
 @kindex koutliner, C-c C-,
 @kindex koutliner, C-c C-.
 @kindex koutliner, C-c C->
@@ -4663,6 +4679,7 @@ substructure) are promoted and demoted, not individual 
cells.
 |-----------------------------+----------------------------|
 | Shift-TAB or M-TAB          | TAB                        |
 | M-left                      | M-right                    |
+| M-Shift-left                | M-Shift-right              |
 | C-c C-,                     | C-c C-.                    |
 | C-c C-<                     | C-c C->                    |
 |-----------------------------+----------------------------|
@@ -9303,13 +9320,19 @@ When in an Org mode context and 
@code{hsys-org-enable-smart-keys} is non-nil:
          the code block via the Org mode standard binding of @bkbd{C-c C-c},
          @code{(org-ctrl-c-ctrl-c)}.
 
-     (6) In any other context besides the end of a line, the Action Key 
invokes the
+     (6) if on an Org todo keyword, cycles through the keywords in that set or
+         if final done keyword, removes it.
+
+     (7) In any other context besides the end of a line, the Action Key 
invokes the
          Org mode standard binding of @bkbd{M-@key{RET}}, 
@code{(org-meta-return)}.
 
   ASSIST KEY
      (1) on an Org mode heading, this cycles through views of the whole buffer 
outline.
 
      (2) on an Org mode link or agenda item, this displays standard Hyperbole 
help.
+
+     (3) if on an Org todo keyword, moves to the first todo keyword in the 
next set, if
+         any.
 @end group
 @end format
 



reply via email to

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