[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 86af1cf259 2/4: Add Koutliner Org-like [M-dow
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole 86af1cf259 2/4: Add Koutliner Org-like [M-down] and [M-up] tree movement commands |
Date: |
Mon, 21 Mar 2022 09:57:36 -0400 (EDT) |
branch: externals/hyperbole
commit 86af1cf259bbf6539b69a00bb7819c4f63a63169
Author: Bob Weiner <rsw@gnu.org>
Commit: Bob Weiner <rsw@gnu.org>
Add Koutliner Org-like [M-down] and [M-up] tree movement commands
---
ChangeLog | 13 +++++
HY-NEWS | 48 +++++++++--------
hib-kbd.el | 8 +--
kotl/EXAMPLE.kotl | 153 +++++++++++++++++++++++++++--------------------------
kotl/kotl-mode.el | 35 +++++++++++-
man/hyperbole.html | 95 ++++++++++++++++++++++-----------
man/hyperbole.info | Bin 582143 -> 583804 bytes
man/hyperbole.pdf | Bin 1334690 -> 1335755 bytes
man/hyperbole.texi | 85 ++++++++++++++++++-----------
9 files changed, 274 insertions(+), 163 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index cce7ce1c29..6029e2b80c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2022-03-20 Bob Weiner <rsw@gnu.org>
+* HY-NEWS (New Tree Promotion/Demotion Keys):
+ man/hyperbole.texi (Promoting and Demoting):
+ kotl/EXAMPLE.kotl: Fix 3d2 promotion/demotion tables.
+
+* hib-kbd.el (kbd-key:modified-key-regexp): Allow for square brackets around
modified keys,
+ like [M-down].
+
+* kotl/kotl-mode.el (kotl-mode:move-tree-backward,
kotl-mode:move-tree-forward): Add to replicate
+ Org mode M-up and M-down arrow tree movement and rebind these keys.
+ kotl/EXAMPLE.kotl: Doc new [M-down] and [M-up] key bindings.
+ man/hyperbole.texi (Relocating and Copying):
+ HY-NEWS (New Tree Movement Commands): Document these new commands.
+
* hyrolo.el (hyrolo-fgrep): Fix to match logical expressions across an entire
tree of entries
when no matches within individual subentries.
diff --git a/HY-NEWS b/HY-NEWS
index fc0fce009b..836985614b 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -161,6 +161,32 @@
Use a prefix arg with {TAB} to promote/demote Koutline trees when in
a table since {TAB} moves between fields within a table.
+ *** New Tree Movement Commands: Like Org mode, {[M-down]} and {[M-up]} move
+ the current tree past or before other trees at the same level. With a
+ prefix argument, move past that many trees.
+
+ *** New Tree Promotion/Demotion Keys: Tree promotion and demotion keys now
+ match many of the defaults in Org mode and Outline mode, plus some
+ easier to type ones. The tables below summarize which keys work whether
+ inside an Org table or outside. See "(hyperbole)Promoting and Demoting".
+
+ |----------------------------+-----------------------------|
+ | Promotion Inside Org Table | Demotion Inside Org Table |
+ |----------------------------+-----------------------------|
+ | M-0 Shift-TAB or M-0 M-TAB | M-0 TAB |
+ | C-c C-, | C-c C-. |
+ | C-c C-< | C-c C-> |
+ |----------------------------+-----------------------------|
+
+ |-----------------------------+----------------------------|
+ | Promotion Outside Org Table | Demotion Outside Org Table |
+ |-----------------------------+----------------------------|
+ | Shift-TAB or M-TAB | TAB |
+ | M-left | M-right |
+ | C-c C-, | C-c C-. |
+ | C-c C-< | C-c C-> |
+ |-----------------------------+----------------------------|
+
*** New Mail Tree Key Binding: The `kotl-mode:mail-tree' command that
extracts the current view of a Koutline in text-only format and
creates an outgoing email messge with it, has moved from {C-c @}
@@ -174,28 +200,6 @@
directly into other buffers without having to copy to a
mail/message buffer first.
- *** New Tree Demotion/Promotion Keys: Tree promotion and demotion keys now
- match the defaults in Org mode and Outline mode, plus some easier to
- type ones. The tables below summarize which keys work whether inside
- an Org table or outside. See "(hyperbole)Promoting and Demoting".
-
- |----------------------------+-----------------------------|
- | Demotion Inside Org Table | Promotion Inside Org Table |
- |----------------------------+-----------------------------|
- | M-0 TAB | M-0 Shift-TAB or M-0 M-TAB |
- | C-c C-, | C-c C-. |
- | C-c C-< | C-c C-> |
- |----------------------------+-----------------------------|
-
- |----------------------------+-----------------------------|
- | Demotion Outside Org Table | Promotion Outside Org Table |
- |----------------------------+-----------------------------|
- | TAB | Shift-TAB or M-TAB |
- | M-left-arrow | M-right-arrow |
- | C-c C-, | C-c C-. |
- | C-c C-< | C-c C-> |
- |----------------------------+-----------------------------|
-
*** Klink Copy: New commands that copy a relative or absolute reference
to a kcell (a klink) to the kill ring or to an Emacs single-letter
named register:
diff --git a/hib-kbd.el b/hib-kbd.el
index b3c0a620d1..5a6a913ac2 100644
--- a/hib-kbd.el
+++ b/hib-kbd.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 22-Nov-91 at 01:37:57
-;; Last-Mod: 24-Jan-22 at 00:18:33 by Bob Weiner
+;; Last-Mod: 20-Mar-22 at 16:25:31 by Bob Weiner
;;
;; Copyright (C) 1991-2021 Free Software Foundation, Inc.
;; See the "HY-COPY" file for license information.
@@ -54,8 +54,8 @@
"Regexp that matches to any of the dedicated keyboard key names in lower or
uppercase.")
(defvar kbd-key:modified-key-regexp
- (concat "\\(\\([ACHMS]-\\|kp-\\)+\\)\\s-*\\(<?\\<" kbd-key:named-key-regexp
"\\>>?"
- "\\|<?[fF][0-9][0-9]?>?\\|<[a-zA-Z0-9]+>\\|.\\)")
+ (concat "\\(\\[?\\([ACHMS]-\\|kp-\\)+\\)\\s-*\\(\\(<?\\<"
kbd-key:named-key-regexp "\\>>?"
+ "\\|<?[fF][0-9][0-9]?>?\\|<[a-zA-Z0-9]+>\\|.\\)\\]?\\)")
"Regexp matching to a single modified keyboard key within a human-readable
string.
Group 1 matches to the set of modifier keys. Group 3 matches to the
unmodified key.")
@@ -119,7 +119,7 @@ Any key sequence must be a string of one of the following:
;; Match only when start delimiter is preceded by whitespace,
;; double quotes or is the 1st buffer character, so do not
;; match to things like ${variable}.
- (when (memq (char-before start) '(nil ?\ ?\t ?\n ?\j ?\f
?\"))
+ (when (memq (char-before start) '(nil ?\ ?\t ?\n ?\r ?\f
?\"))
(when (and (stringp key-series)
(not (eq key-series "")))
;; Replace any ${} internal or env vars; leave
diff --git a/kotl/EXAMPLE.kotl b/kotl/EXAMPLE.kotl
index f419fb3458..7b6efacf50 100644
--- a/kotl/EXAMPLE.kotl
+++ b/kotl/EXAMPLE.kotl
@@ -102,6 +102,9 @@
Copying and moving only work within a single outline right now, so
don't try to move or copy trees to another Koutline file.
+ {[M-down]} - Move current tree past prefix arg same level trees.
+ {[M-up]} - Move current tree back prefix arg same level trees.
+
{C-c c} - Copy <tree> to follow as sibling of <cell>.
{C-u C-c c} - Copy <tree> to follow as first child of <cell>.
@@ -357,21 +360,21 @@
3d2. Here are two table examples:
|----------------------------+-----------------------------|
- | Demotion Inside Org Table | Promotion Inside Org Table |
+ | Promotion Inside Org Table | Demotion Inside Org Table |
|----------------------------+-----------------------------|
- | M-0 TAB | M-0 Shift-TAB or M-0 M-TAB |
+ | M-0 Shift-TAB or M-0 M-TAB | M-0 TAB |
| C-c C-, | C-c C-. |
| C-c C-< | C-c C-> |
|----------------------------+-----------------------------|
- |----------------------------+-----------------------------|
- | Demotion Outside Org Table | Promotion Outside Org Table |
- |----------------------------+-----------------------------|
- | TAB | Shift-TAB or M-TAB |
- | M-left-arrow | M-right-arrow |
- | C-c C-, | C-c C-. |
- | C-c C-< | C-c C-> |
- |----------------------------+-----------------------------|
+ |-----------------------------+----------------------------|
+ | Promotion Outside Org Table | Demotion Outside Org Table |
+ |-----------------------------+----------------------------|
+ | Shift-TAB or M-TAB | TAB |
+ | M-left | M-right |
+ | C-c C-, | C-c C-. |
+ | C-c C-< | C-c C-> |
+ |-----------------------------+----------------------------|
To toggle table editing mode on or off, press the Action
Key on any of the table | symbols and then edit as you
@@ -410,133 +413,133 @@ alpha ;; label-type
[[0
(idstamp 0 creator "rsw@gnu.org" create-time "20220117:22:23:52" id-counter
82 file "/Users/bk/Dropbox/emacs/hyperbole/kotl/EXAMPLE.kotl")]
[20
- (kcell t idstamp 20 rear-nonsticky t no-fill t create-time
"19940104:17:38:28" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:28" no-fill t
rear-nonsticky t idstamp 20 kcell t)]
[2
- (kcell t idstamp 2 rear-nonsticky t no-fill t create-time
"19940104:17:38:28" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:28" no-fill t
rear-nonsticky t idstamp 2 kcell t)]
[34
- (kcell t idstamp 34 rear-nonsticky t create-time "19940610:16:43:55" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:43:55" rear-nonsticky t
idstamp 34 kcell t)]
[35
- (kcell t idstamp 35 rear-nonsticky t create-time "19940610:16:44:03" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:44:03" rear-nonsticky t
idstamp 35 kcell t)]
[4
- (kcell t idstamp 4 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 4 kcell t)]
[5
- (kcell t idstamp 5 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 5 kcell t)]
[6
- (kcell t idstamp 6 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 6 kcell t)]
[14
- (kcell t idstamp 14 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 14 kcell t)]
[67
- (kcell t idstamp 67 rear-nonsticky t no-fill t create-time
"19951028:04:29:13" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951028:04:29:13" no-fill t
rear-nonsticky t idstamp 67 kcell t)]
[15
- (kcell t idstamp 15 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 15 kcell t)]
[31
- (kcell t idstamp 31 rear-nonsticky t create-time "19940306:18:11:43" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940306:18:11:43" rear-nonsticky t
idstamp 31 kcell t)]
[7
- (kcell t idstamp 7 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 7 kcell t)]
[46
- (kcell t idstamp 46 rear-nonsticky t create-time "19950614:21:35:17" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19950614:21:35:17" rear-nonsticky t
idstamp 46 kcell t)]
[43
- (kcell t idstamp 43 rear-nonsticky t create-time "19940610:22:00:46" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:22:00:46" rear-nonsticky t
idstamp 43 kcell t)]
[22
- (kcell t idstamp 22 rear-nonsticky t create-time "19940127:22:41:42" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940127:22:41:42" rear-nonsticky t
idstamp 22 kcell t)]
[82
- (fontified nil kcell t idstamp 82 creator "rsw@gnu.org" create-time
"20220126:04:52:26" no-fill t)]
+ (no-fill t create-time "20220126:04:52:26" creator "rsw@gnu.org" idstamp 82
kcell t fontified t)]
[32
- (kcell t idstamp 32 rear-nonsticky t create-time "19940610:16:31:28" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:31:28" rear-nonsticky t
idstamp 32 kcell t)]
[41
- (kcell t idstamp 41 rear-nonsticky t create-time "19940610:18:55:09" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:18:55:09" rear-nonsticky t
idstamp 41 kcell t)]
[42
- (kcell t idstamp 42 rear-nonsticky t create-time "19940610:18:55:57" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:18:55:57" rear-nonsticky t
idstamp 42 kcell t)]
[33
- (kcell t idstamp 33 rear-nonsticky t create-time "19940610:16:31:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:31:29" rear-nonsticky t
idstamp 33 kcell t)]
[47
- (kcell t idstamp 47 rear-nonsticky t no-fill t create-time
"19951022:22:59:26" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951022:22:59:26" no-fill t
rear-nonsticky t idstamp 47 kcell t)]
[8
- (kcell t idstamp 8 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 8 kcell t)]
[28
- (kcell t idstamp 28 rear-nonsticky t create-time "19940128:22:50:44" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940128:22:50:44" rear-nonsticky t
idstamp 28 kcell t)]
[29
- (kcell t idstamp 29 rear-nonsticky t create-time "19940128:22:50:54" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940128:22:50:54" rear-nonsticky t
idstamp 29 kcell t)]
[10
- (kcell t idstamp 10 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 10 kcell t)]
[30
- (kcell t idstamp 30 rear-nonsticky t create-time "19940129:00:27:59" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940129:00:27:59" rear-nonsticky t
idstamp 30 kcell t)]
[62
- (kcell t idstamp 62 rear-nonsticky t no-fill t create-time
"19951026:08:32:57" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951026:08:32:57" no-fill t
rear-nonsticky t idstamp 62 kcell t)]
[70
- (kcell t idstamp 70 rear-nonsticky t no-fill t create-time
"19951030:19:18:49" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951030:19:18:49" no-fill t
rear-nonsticky t idstamp 70 kcell t)]
[71
- (kcell t idstamp 71 rear-nonsticky t no-fill t create-time
"19951030:19:19:40" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951030:19:19:40" no-fill t
rear-nonsticky t idstamp 71 kcell t)]
[73
- (kcell t idstamp 73 rear-nonsticky t no-fill t create-time
"19951030:19:23:09" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951030:19:23:09" no-fill t
rear-nonsticky t idstamp 73 kcell t)]
[63
- (kcell t idstamp 63 rear-nonsticky t no-fill t create-time
"19951026:19:31:34" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951026:19:31:34" no-fill t
rear-nonsticky t idstamp 63 kcell t)]
[64
- (kcell t idstamp 64 rear-nonsticky t no-fill t create-time
"19951026:19:33:01" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951026:19:33:01" no-fill t
rear-nonsticky t idstamp 64 kcell t)]
[69
- (kcell t idstamp 69 rear-nonsticky t no-fill t create-time
"19951029:06:24:35" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951029:06:24:35" no-fill t
rear-nonsticky t idstamp 69 kcell t)]
[68
- (kcell t idstamp 68 rear-nonsticky t no-fill t create-time
"19951029:06:24:27" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951029:06:24:27" no-fill t
rear-nonsticky t idstamp 68 kcell t)]
[65
- (kcell t idstamp 65 rear-nonsticky t no-fill t create-time
"19951026:19:33:08" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951026:19:33:08" no-fill t
rear-nonsticky t idstamp 65 kcell t)]
[66
- (kcell t idstamp 66 rear-nonsticky t no-fill t create-time
"19951026:19:33:15" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951026:19:33:15" no-fill t
rear-nonsticky t idstamp 66 kcell t)]
[77
- (kcell t idstamp 77 rear-nonsticky t no-fill t create-time
"19980226:19:54:44" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19980226:19:54:44" no-fill t
rear-nonsticky t idstamp 77 kcell t)]
[48
- (kcell t idstamp 48 rear-nonsticky t no-fill t create-time
"19951023:05:55:19" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:05:55:19" no-fill t
rear-nonsticky t idstamp 48 kcell t)]
[57
- (kcell t idstamp 57 rear-nonsticky t no-fill t create-time
"19951023:10:07:06" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:10:07:06" no-fill t
rear-nonsticky t idstamp 57 kcell t)]
[58
- (kcell t idstamp 58 rear-nonsticky t no-fill t create-time
"19951023:10:07:26" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:10:07:26" no-fill t
rear-nonsticky t idstamp 58 kcell t)]
[49
- (kcell t idstamp 49 rear-nonsticky t no-fill t create-time
"19951023:05:55:55" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:05:55:55" no-fill t
rear-nonsticky t idstamp 49 kcell t)]
[55
- (kcell t idstamp 55 rear-nonsticky t no-fill t create-time
"19951023:08:56:41" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:08:56:41" no-fill t
rear-nonsticky t idstamp 55 kcell t)]
[50
- (kcell t idstamp 50 rear-nonsticky t no-fill t create-time
"19951023:05:57:26" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:05:57:26" no-fill t
rear-nonsticky t idstamp 50 kcell t)]
[51
- (kcell t idstamp 51 rear-nonsticky t no-fill t create-time
"19951023:05:58:31" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:05:58:31" no-fill t
rear-nonsticky t idstamp 51 kcell t)]
[56
- (kcell t idstamp 56 rear-nonsticky t no-fill t create-time
"19951023:08:57:09" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:08:57:09" no-fill t
rear-nonsticky t idstamp 56 kcell t)]
[52
- (kcell t idstamp 52 rear-nonsticky t no-fill t create-time
"19951023:05:59:59" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:05:59:59" no-fill t
rear-nonsticky t idstamp 52 kcell t)]
[53
- (kcell t idstamp 53 rear-nonsticky t no-fill t create-time
"19951023:06:00:48" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:06:00:48" no-fill t
rear-nonsticky t idstamp 53 kcell t)]
[54
- (kcell t idstamp 54 rear-nonsticky t no-fill t create-time
"19951023:06:05:50" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951023:06:05:50" no-fill t
rear-nonsticky t idstamp 54 kcell t)]
[26
- (kcell t idstamp 26 rear-nonsticky t create-time "19940128:03:56:23" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940128:03:56:23" rear-nonsticky t
idstamp 26 kcell t)]
[27
- (kcell t idstamp 27 rear-nonsticky t create-time "19940128:22:36:54" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940128:22:36:54" rear-nonsticky t
idstamp 27 kcell t)]
[59
- (kcell t idstamp 59 rear-nonsticky t no-fill t create-time
"19951024:03:40:05" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951024:03:40:05" no-fill t
rear-nonsticky t idstamp 59 kcell t)]
[60
- (kcell t idstamp 60 rear-nonsticky t no-fill t create-time
"19951024:03:40:13" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951024:03:40:13" no-fill t
rear-nonsticky t idstamp 60 kcell t)]
[61
- (kcell t idstamp 61 rear-nonsticky t no-fill t create-time
"19951024:03:40:42" creator "rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19951024:03:40:42" no-fill t
rear-nonsticky t idstamp 61 kcell t)]
[1
- (kcell t idstamp 1 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 1 kcell t)]
[11
- (kcell t idstamp 11 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 11 kcell t)]
[80
- (fontified nil kcell t idstamp 80 creator "rsw@gnu.org" create-time
"20220117:22:26:40" no-fill t)]
+ (no-fill t create-time "20220117:22:26:40" creator "rsw@gnu.org" idstamp 80
kcell t fontified t)]
[81
- (fontified nil kcell t idstamp 81 creator "rsw@gnu.org" create-time
"20220117:22:26:47" no-fill t)]
+ (no-fill t create-time "20220117:22:26:47" creator "rsw@gnu.org" idstamp 81
kcell t fontified t)]
[78
- (fontified nil kcell t idstamp 78 creator "rsw@gnu.org" create-time
"20220117:22:26:33" no-fill t)]
+ (no-fill t create-time "20220117:22:26:33" creator "rsw@gnu.org" idstamp 78
kcell t fontified t)]
[12
- (kcell t idstamp 12 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 12 kcell t)]
[44
- (kcell t idstamp 44 rear-nonsticky t create-time "19940728:21:56:49" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940728:21:56:49" rear-nonsticky t
idstamp 44 kcell t)]
[36
- (kcell t idstamp 36 rear-nonsticky t create-time "19940610:16:49:34" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:49:34" rear-nonsticky t
idstamp 36 kcell t)]
[37
- (kcell t idstamp 37 rear-nonsticky t create-time "19940610:16:50:02" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:50:02" rear-nonsticky t
idstamp 37 kcell t)]
[38
- (kcell t idstamp 38 rear-nonsticky t create-time "19940610:16:50:13" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940610:16:50:13" rear-nonsticky t
idstamp 38 kcell t)]
[13
- (kcell t idstamp 13 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 13 kcell t)]
[16
- (kcell t idstamp 16 rear-nonsticky t create-time "19940104:17:38:29" creator
"rsw@gnu.org")]
+ (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t
idstamp 16 kcell t)]
nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index 851d5a23f5..feec7988da 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: 13-Feb-22 at 10:08:36 by Bob Weiner
+;; Last-Mod: 20-Mar-22 at 15:36:24 by Bob Weiner
;;
;; Copyright (C) 1993-2021 Free Software Foundation, Inc.
;; See the "../HY-COPY" file for license information.
@@ -2395,6 +2395,39 @@ If ARG is a non-positive number, nothing is done."
(kview:add-cell "1" 1)))
(kotl-mode:to-valid-position))))
+(defun kotl-mode:move-tree-backward (&optional num-trees)
+ "Move current cell before prefix arg `num-trees' at the same level.
+If arg is 0, make it 1; if arg is negative, move to before that number of
trees."
+ (interactive "p")
+ (unless (and (integerp num-trees)
+ (/= num-trees 0))
+ (setq num-trees 1))
+ (kotl-mode:move-tree-forward (- num-trees)))
+
+(defun kotl-mode:move-tree-forward (&optional num-trees)
+ "Move current tree after prefix arg `num-trees' at the same level.
+If arg is 0, make it 1; if arg is negative, move prior to that number of
trees."
+ (interactive "p")
+ (unless (and (integerp num-trees)
+ (/= num-trees 0))
+ (setq num-trees 1))
+ (let* ((n num-trees)
+ (to-func (if (> n 0) #'kcell-view:forward #'kcell-view:backward))
+ (move-func (if (> n 0) #'kotl-mode:move-after #'kotl-mode:move-before))
+ (increment (if (> n 0) -1 1))
+ (from-tree (kcell-view:label))
+ (point-offset (- (point) (kcell-view:start)))
+ to-tree)
+ (save-excursion (while (and (/= n 0)
+ (funcall to-func))
+ (setq n (+ n increment))
+ (when (zerop n)
+ (setq to-tree (kcell-view:label)))))
+ (if to-tree
+ (goto-char (+ (move-func from-tree to-tree nil)
+ point-offset))
+ (error "(kotl-mode:move-forward): Cannot move past %d trees at the same
level" num-trees))))
+
(defun kotl-mode:promote-tree (arg)
"Move current tree a maximum of prefix ARG levels higher in current view.
Each cell is refilled iff its `no-fill' attribute is nil and
diff --git a/man/hyperbole.html b/man/hyperbole.html
index d92ef5e1ec..4bce78d34a 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.0pre
-Printed March 12, 2022.
+Printed March 20, 2022.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -5532,16 +5532,36 @@ substructure) are promoted and demoted, not individual
cells.
</p>
<span id="index-koutliner_002c-TAB"></span>
<span id="index-koutliner_002c-M_002dTAB"></span>
+<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-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>
+<span id="index-koutliner_002c-C_002dc-C_002d_003c"></span>
+
+<div class="example">
+<pre
class="example">|-----------------------------+----------------------------|
+| Promotion Outside Org Table | Demotion Outside Org Table |
+|-----------------------------+----------------------------|
+| Shift-TAB or M-TAB | TAB |
+| M-left | M-right |
+| C-c C-, | C-c C-. |
+| C-c C-< | C-c C-> |
+|-----------------------------+----------------------------|
+</pre></div>
+
+
<p>Trees may be demoted or promoted by pressing <tt class="key">TAB</tt> or
-<kbd>{M-<span class="key">TAB</span>}</kbd> (or <kbd>{<span
class="key">SHIFT</span>-<span class="key">TAB</span>}</kbd>) respectively, as
in
-most outliners today. <kbd>{M-0 <span class="key">TAB</span>}</kbd> and
<kbd>{M-0 M-<span class="key">TAB</span>}</kbd>
-demote and promote trees and additionally refill each cell that is not
-specially marked to prevent refilling. See <a href="#Filling">Filling</a>. A
positive or
-negative prefix argument to these commands promotes or demotes the tree
-up to a maximum of the number of levels given by the argument. The
-outline may not support movement of the tree by the number of levels
-requested, however, in which case the maximal possible adjustment is
-made.
+<kbd>{M-<span class="key">TAB</span>}</kbd> (or <kbd>{<span
class="key">SHIFT</span>-<span class="key">TAB</span>}</kbd>) respectively, as
+in most outliners today. <kbd>{M-0 <span class="key">TAB</span>}</kbd> and
<kbd>{M-0
+M-<span class="key">TAB</span>}</kbd> demote and promote trees and
additionally refill each
+cell that is not specially marked to prevent refilling.
+See <a href="#Filling">Filling</a>. A positive or negative prefix argument to
these
+commands promotes or demotes the tree up to a maximum of the number of
+levels given by the argument. The outline may not support movement of
+the tree by the number of levels requested, however, in which case the
+maximal possible adjustment is made.
</p>
<span id="index-koutliner_002c-M_002d1-TAB"></span>
<span id="index-inserting-tabs"></span>
@@ -5560,7 +5580,7 @@ Use <kbd>{M-1 <span class="key">TAB</span>}</kbd> to
toggle the <tt class="key">
</p>
<span id="index-Org-tables"></span>
-<p>The Koutliner supports Org Table editing, see <a
href="https://www.gnu.org/software/emacs/manual/html_mono/org.html#Tables";>Tables</a>
in <cite>the Org
+<p>The Koutliner also supports Org Table editing, see <a
href="https://www.gnu.org/software/emacs/manual/html_mono/org.html#Tables";>Tables</a>
in <cite>the Org
Mode Manual</cite>, via Org table minor mode. Use <kbd>{M-x orgtbl-mode <span
class="key">RET</span>}</kbd>
to toggle this on and off. A press of the Action Key on a <code>|</code>
symbol,
also toggles this minor mode on or off.
@@ -5578,18 +5598,9 @@ moves between fields within a table.
</p>
<div class="example">
<pre
class="example">|----------------------------+-----------------------------|
-| Demotion Inside Org Table | Promotion Inside Org Table |
+| Promotion Inside Org Table | Demotion Inside Org Table |
|----------------------------+-----------------------------|
-| M-0 TAB | M-0 Shift-TAB or M-0 M-TAB |
-| C-c C-, | C-c C-. |
-| C-c C-< | C-c C-> |
-|----------------------------+-----------------------------|
-
-|----------------------------+-----------------------------|
-| Demotion Outside Org Table | Promotion Outside Org Table |
-|----------------------------+-----------------------------|
-| TAB | Shift-TAB or M-TAB |
-| M-left-arrow | M-right-arrow |
+| M-0 Shift-TAB or M-0 M-TAB | M-0 TAB |
| C-c C-, | C-c C-. |
| C-c C-< | C-c C-> |
|----------------------------+-----------------------------|
@@ -5606,14 +5617,20 @@ Next: <a href="#Moving-Around" accesskey="n"
rel="next">Moving Around</a>, Previ
<span id="index-tree_002c-moving"></span>
<span id="index-Action-Key_002c-cell-argument"></span>
<span id="index-koutliner_002c-Action-Key_002c-cell-argument"></span>
+<p>Like Org mode, you can move the tree rooted at point past trees rooted
+at the same level with <kbd>{M-down}</kbd> and before trees with
<kbd>{M-up}</kbd>.
+Give a prefix argument to move past that many other trees. (A 0 valued
+argument is automatically changed to 1).
+</p>
<p>For maximum flexibility in rearranging outlines, there are commands
-that move or copy entire trees anywhere within the outline. Each of
-these commands prompts for the label of the root cell to move or copy
-and for a second cell which specifies the new location for the moved
-or copied tree. You may either accept the default provided, type in
-the cell label, or when a mouse is available, simply double click with
-the Action Key on the contents of a cell. The Koutliner knows to use
-the cell’s label in such cases.
+that move or copy entire trees anywhere within the outline as
+described in the table below. Each of these commands prompts for the
+label of the root cell to move or copy and for a second cell which
+specifies the new location for the moved or copied tree. You may
+either accept the default provided, type in the cell label, or when a
+mouse is available, simply double click with the Action Key on the
+contents of a cell. The Koutliner knows to use the cell’s label in
+such cases.
</p>
<p>In the following commands, words delimited with <> represent the
arguments for which each command prompts. Note how the use of prefix
@@ -5621,7 +5638,16 @@ arguments changes each command’s behavior from
insertion at the sibling
level to insertion at the child level.
</p>
<dl compact="compact">
-<dd><span id="index-C_002dc-c"></span>
+<dd><span id="index-M_002ddown"></span>
+</dd>
+<dt><kbd>{M-down}</kbd></dt>
+<dd><p>Move current tree past prefix arg same level trees.
+<span id="index-M_002dup"></span>
+</p></dd>
+<dt><kbd>{M-up}</kbd></dt>
+<dd><p>Move current tree back prefix arg same level trees.
+</p>
+<span id="index-C_002dc-c"></span>
</dd>
<dt><kbd>{C-c c}</kbd></dt>
<dd><p>Copy <tree> to be the successor of <cell>.
@@ -12818,6 +12844,10 @@ Next: <a href="#Function" accesskey="n"
rel="next">Function</a>, Previous: <a hr
<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-C_002dc-a"><code>koutliner, C-c
a</code></a>:</td><td> </td><td valign="top"><a
href="#Adding-and-Killing">Adding and Killing</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-C_002dc-b"><code>koutliner, C-c
b</code></a>:</td><td> </td><td valign="top"><a href="#View-Specs">View
Specs</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-C_002dc-b-1"><code>koutliner, C-c
b</code></a>:</td><td> </td><td valign="top"><a href="#View-Specs">View
Specs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-C_002dc-C_002d_002c"><code>koutliner, C-c
C-,</code></a>:</td><td> </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-C_002dc-C_002d_002e"><code>koutliner, C-c
C-.</code></a>:</td><td> </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-C_002dc-C_002d_003c"><code>koutliner, C-c
C-<</code></a>:</td><td> </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-C_002dc-C_002d_003e"><code>koutliner, C-c
C-></code></a>:</td><td> </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-C_002dc-C_002di"><code>koutliner, C-c
C-i</code></a>:</td><td> </td><td valign="top"><a
href="#Cell-Attributes">Cell Attributes</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-C_002dc-C_002dk"><code>koutliner, C-c
C-k</code></a>:</td><td> </td><td valign="top"><a
href="#Adding-and-Killing">Adding and Killing</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-C_002dc-C_002dl"><code>koutliner, C-c
C-l</code></a>:</td><td> </td><td valign="top"><a
href="#Autonumbering">Autonumbering</a></td></tr>
@@ -12845,9 +12875,12 @@ 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_002d0-C_002dc-t"><code>koutliner, M-0 C-c
t</code></a>:</td><td> </td><td valign="top"><a
href="#Transposing">Transposing</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-M_002d1-TAB"><code>koutliner, M-1 <span
class="key">TAB</span></code></a>:</td><td> </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_002dj"><code>koutliner,
M-j</code></a>:</td><td> </td><td valign="top"><a
href="#Filling">Filling</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-koutliner_002c-M_002dleft"><code>koutliner,
M-left</code></a>:</td><td> </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_002dq"><code>koutliner,
M-q</code></a>:</td><td> </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> </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> </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> </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> </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> </td><td valign="top"><a
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Key-Index_ky_letter-L">L</th><td></td><td></td></tr>
@@ -12859,6 +12892,7 @@ Next: <a href="#Function" accesskey="n"
rel="next">Function</a>, Previous: <a hr
<tr><td></td><td valign="top"><a href="#index-M_002d0-M_002dTAB"><code>M-0
M-<span class="key">TAB</span></code></a>:</td><td> </td><td
valign="top"><a href="#Promoting-and-Demoting">Promoting and
Demoting</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-M_002d0-TAB"><code>M-0 <span
class="key">TAB</span></code></a>:</td><td> </td><td valign="top"><a
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-M_002db"><code>M-b</code></a>:</td><td> </td><td
valign="top"><a href="#Menus">Menus</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-M_002ddown"><code>M-down</code></a>:</td><td> </td><td
valign="top"><a href="#Relocating-and-Copying">Relocating and
Copying</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-M_002df"><code>M-f</code></a>:</td><td> </td><td
valign="top"><a href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-M_002do"><code>M-o</code></a>:</td><td> </td><td
valign="top"><a href="#Keyboard-Drags">Keyboard Drags</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-M_002do-1"><code>M-o</code></a>:</td><td> </td><td
valign="top"><a href="#Default-Hyperbole-Bindings">Default Hyperbole
Bindings</a></td></tr>
@@ -12870,6 +12904,7 @@ Next: <a href="#Function" accesskey="n"
rel="next">Function</a>, Previous: <a hr
<tr><td></td><td valign="top"><a href="#index-M_002dRET"><code>M-<span
class="key">RET</span></code></a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-M_002dRET-1"><code>M-<span
class="key">RET</span></code></a>:</td><td> </td><td valign="top"><a
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-M_002dRET-2"><code>M-<span
class="key">RET</span></code></a>:</td><td> </td><td valign="top"><a
href="#Default-Hyperbole-Bindings">Default Hyperbole Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-M_002dup"><code>M-up</code></a>:</td><td> </td><td
valign="top"><a href="#Relocating-and-Copying">Relocating and
Copying</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-M_002dx-kotl_002dmode_003ashow_002dsubtree"><code>M-x
kotl-mode:show-subtree</code></a>:</td><td> </td><td valign="top"><a
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-middle-mouse-key-1"><code>middle
mouse key</code></a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index db7d7ca942..c2d76b7bc5 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index 4fbc706a03..e2279afbc3 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 233d34cac8..199bbca101 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-Mar-22 at 15:01:03 by Bob Weiner
+@c Last-Mod: 20-Mar-22 at 22:13:17 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.0pre
-Printed March 12, 2022.
+Printed March 20, 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.0pre
-March 12, 2022
+March 20, 2022
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -4648,16 +4648,37 @@ substructure) are promoted and demoted, not individual
cells.
@kindex koutliner, @key{TAB}
@kindex koutliner, M-@key{TAB}
+@kindex koutliner, Shift-@key{TAB}
+@kindex koutliner, M-left
+@kindex koutliner, M-right
+@kindex koutliner, C-c C-,
+@kindex koutliner, C-c C-.
+@kindex koutliner, C-c C->
+@kindex koutliner, C-c C-<
+
+@example
+@noindent
+|-----------------------------+----------------------------|
+| Promotion Outside Org Table | Demotion Outside Org Table |
+|-----------------------------+----------------------------|
+| Shift-TAB or M-TAB | TAB |
+| M-left | M-right |
+| C-c C-, | C-c C-. |
+| C-c C-< | C-c C-> |
+|-----------------------------+----------------------------|
+@end example
+
+
Trees may be demoted or promoted by pressing @key{TAB} or
-@bkbd{M-@key{TAB}} (or @bkbd{@key{SHIFT}-@key{TAB}}) respectively, as in
-most outliners today. @bkbd{M-0 @key{TAB}} and @bkbd{M-0 M-@key{TAB}}
-demote and promote trees and additionally refill each cell that is not
-specially marked to prevent refilling. @xref{Filling}. A positive or
-negative prefix argument to these commands promotes or demotes the tree
-up to a maximum of the number of levels given by the argument. The
-outline may not support movement of the tree by the number of levels
-requested, however, in which case the maximal possible adjustment is
-made.
+@bkbd{M-@key{TAB}} (or @bkbd{@key{SHIFT}-@key{TAB}}) respectively, as
+in most outliners today. @bkbd{M-0 @key{TAB}} and @bkbd{M-0
+M-@key{TAB}} demote and promote trees and additionally refill each
+cell that is not specially marked to prevent refilling.
+@xref{Filling}. A positive or negative prefix argument to these
+commands promotes or demotes the tree up to a maximum of the number of
+levels given by the argument. The outline may not support movement of
+the tree by the number of levels requested, however, in which case the
+maximal possible adjustment is made.
@kindex koutliner, M-1 @key{TAB}
@cindex inserting tabs
@@ -4676,7 +4697,7 @@ Use @bkbd{M-1 @key{TAB}} to toggle the @key{TAB} and
@cindex Org tables
-The Koutliner supports Org Table editing, @pxref{Tables,,, org, the Org
+The Koutliner also supports Org Table editing, @pxref{Tables,,, org, the Org
Mode Manual}, via Org table minor mode. Use @bkbd{M-x orgtbl-mode @key{RET}}
to toggle this on and off. A press of the Action Key on a @code{|} symbol,
also toggles this minor mode on or off.
@@ -4695,18 +4716,9 @@ moves between fields within a table.
@example
@noindent
|----------------------------+-----------------------------|
-| Demotion Inside Org Table | Promotion Inside Org Table |
-|----------------------------+-----------------------------|
-| M-0 TAB | M-0 Shift-TAB or M-0 M-TAB |
-| C-c C-, | C-c C-. |
-| C-c C-< | C-c C-> |
-|----------------------------+-----------------------------|
-
+| Promotion Inside Org Table | Demotion Inside Org Table |
|----------------------------+-----------------------------|
-| Demotion Outside Org Table | Promotion Outside Org Table |
-|----------------------------+-----------------------------|
-| TAB | Shift-TAB or M-TAB |
-| M-left-arrow | M-right-arrow |
+| M-0 Shift-TAB or M-0 M-TAB | M-0 TAB |
| C-c C-, | C-c C-. |
| C-c C-< | C-c C-> |
|----------------------------+-----------------------------|
@@ -4719,14 +4731,20 @@ moves between fields within a table.
@cindex tree, moving
@cindex Action Key, cell argument
@kindex koutliner, Action Key, cell argument
+Like Org mode, you can move the tree rooted at point past trees rooted
+at the same level with @bkbd{M-down} and before trees with @bkbd{M-up}.
+Give a prefix argument to move past that many other trees. (A 0 valued
+argument is automatically changed to 1).
+
For maximum flexibility in rearranging outlines, there are commands
-that move or copy entire trees anywhere within the outline. Each of
-these commands prompts for the label of the root cell to move or copy
-and for a second cell which specifies the new location for the moved
-or copied tree. You may either accept the default provided, type in
-the cell label, or when a mouse is available, simply double click with
-the Action Key on the contents of a cell. The Koutliner knows to use
-the cell's label in such cases.
+that move or copy entire trees anywhere within the outline as
+described in the table below. Each of these commands prompts for the
+label of the root cell to move or copy and for a second cell which
+specifies the new location for the moved or copied tree. You may
+either accept the default provided, type in the cell label, or when a
+mouse is available, simply double click with the Action Key on the
+contents of a cell. The Koutliner knows to use the cell's label in
+such cases.
In the following commands, words delimited with <> represent the
arguments for which each command prompts. Note how the use of prefix
@@ -4734,6 +4752,11 @@ arguments changes each command's behavior from insertion
at the sibling
level to insertion at the child level.
@table @asis
+@kitem M-down
+Move current tree past prefix arg same level trees.
+@kitem M-up
+Move current tree back prefix arg same level trees.
+
@kitem C-c c
Copy <tree> to be the successor of <cell>.
@kitem C-u C-c c