[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/racket-mode db268928d7 2/3: Improve presentation of keymap
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/racket-mode db268928d7 2/3: Improve presentation of keymaps in info/html docs |
Date: |
Sun, 3 Nov 2024 22:00:38 -0500 (EST) |
branch: elpa/racket-mode
commit db268928d72ad619eb0919407e9323b33bd722b6
Author: Greg Hendershott <git@greghendershott.com>
Commit: Greg Hendershott <git@greghendershott.com>
Improve presentation of keymaps in info/html docs
---
doc/generate.el | 59 ++++++--
doc/racket-mode.texi | 405 ++++++++++++++++++++++++++++-----------------------
2 files changed, 268 insertions(+), 196 deletions(-)
diff --git a/doc/generate.el b/doc/generate.el
index 81f599d0a5..22383b434b 100644
--- a/doc/generate.el
+++ b/doc/generate.el
@@ -76,6 +76,7 @@
(racket-xp-tail-next-sibling ,racket-xp-mode-map)
(racket-xp-tail-previous-sibling ,racket-xp-mode-map)
racket-documentation-search
+ racket-describe-mode
racket-describe-search
"Run"
racket-repl-mode
@@ -368,8 +369,7 @@ unescaping too."
;; Insert an org-mode table
(when km
(insert "|Key|Binding|\n")
- (mapc #'racket-generate--insert-keymap-table-row
- (cdr km))
+ (racket-generate--insert-keymap km)
(newline))))
((looking-at
;; Text of the form \\[foo-command]
@@ -387,18 +387,49 @@ unescaping too."
(forward-char 1))))
(buffer-string))))
-(defun racket-generate--insert-keymap-table-row (v &optional keys)
- (pcase v
- (`(,(and key (pred numberp)) keymap ,(and key+sym (pred consp)))
- (racket-generate--insert-keymap-table-row key+sym (cons key keys)))
- (`(,(and key (pred numberp)) keymap . ,(and more (pred consp)))
- (mapc (lambda (v)
- (racket-generate--insert-keymap-table-row v (cons key keys)))
- more))
- (`(,(and key (pred numberp)) . ,(and sym (pred symbolp)))
- (insert (format "|{{{kbd(%s)}}}|%s|\n"
- (racket-generate--key-description (reverse (cons key
keys)))
- (racket-generate--ref-or-code sym))))))
+(defun racket-generate--insert-keymap (km)
+ "Insert org table for keymap KM.
+
+Filter \"noise\" like bindings for `negative-argument' and
+`digit-argument'.
+
+Insert sorted by command name.
+
+When multiple key-bindings for a command, group into one row of
+table, sorted shortest first."
+ (let ((result (make-hash-table)))
+ (cl-labels
+ ((keymap (v prefix-keys)
+ (dolist (v (cdr v))
+ (pcase v
+ (`(,(and key (pred numberp)) . ,(and km (pred keymapp)))
+ (keymap km (cons key prefix-keys)))
+ (`(,(and key (pred numberp)) keymap ,(and km (pred keymapp)))
+ (keymap km (cons key prefix-keys)))
+ (`(,(and key (pred numberp)) . ,(and sym (pred symbolp)))
+ (unless (member sym '(negative-argument
+ digit-argument
+ describe-mode))
+ (puthash sym
+ (cons (reverse (cons key prefix-keys))
+ (gethash sym result))
+ result)))))))
+ (keymap km nil)
+ (let* ((alist nil)
+ (_ (maphash (lambda (sym keys)
+ (push (cons sym keys) alist))
+ result)))
+ (dolist (v (seq-sort-by (lambda (v) (symbol-name (car v)))
+ #'string<
+ alist))
+ (let* ((command-str (racket-generate--ref-or-code (car v)))
+ (keys-strs (seq-map (lambda (binding)
+ (format "{{{kbd(%s)}}}"
+
(racket-generate--key-description binding)))
+ (cdr v)))
+ (keys-str (string-join (seq-sort-by #'length #'< keys-strs)
+ ", ")))
+ (insert "|" keys-str "|" command-str "|\n")))))))
(defun racket-generate--key-description (xs)
"Like `key-description' but escapes some chars for our \"KBD\" texi macro."
diff --git a/doc/racket-mode.texi b/doc/racket-mode.texi
index 21da5f5ba1..d03afb669a 100644
--- a/doc/racket-mode.texi
+++ b/doc/racket-mode.texi
@@ -139,6 +139,7 @@ Explore
* racket-xp-tail-next-sibling::
* racket-xp-tail-previous-sibling::
* racket-documentation-search::
+* racket-describe-mode::
* racket-describe-search::
Run
@@ -971,61 +972,53 @@ You can also view these by using the normal Emacs help
mechanism:
Major mode for editing Racket source files.
-@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
-@item @kbd{@}}
-@tab @ref{racket-insert-closing}
-@item @kbd{]}
-@tab @ref{racket-insert-closing}
-@item @kbd{)}
-@tab @ref{racket-insert-closing}
@item @kbd{TAB}
@tab @code{indent-for-tab-command}
-@item @kbd{C-x C-e}
-@tab @ref{racket-send-last-sexp}
-@item @kbd{C-M-y}
-@tab @ref{racket-insert-lambda}
@item @kbd{C-M-u}
@tab @ref{racket-backward-up-list}
-@item @kbd{C-M-x}
-@tab @ref{racket-send-definition}
-@item @kbd{C-c C-u}
-@tab @ref{racket-unfold-all-tests}
-@item @kbd{C-c C-f}
-@tab @ref{racket-fold-all-tests}
-@item @kbd{C-c C-.}
-@tab @ref{racket-describe-search}
-@item @kbd{C-c C-s}
+@item @kbd{C-c C-p}
+@tab @ref{racket-cycle-paren-shapes}
+@item @kbd{C-c C-s} , @kbd{C-c C-.}
@tab @ref{racket-describe-search}
@item @kbd{C-c C-d}
@tab @ref{racket-documentation-search}
-@item @kbd{C-c C-p}
-@tab @ref{racket-cycle-paren-shapes}
-@item @kbd{C-c C-x C-f}
-@tab @ref{racket-open-require-path}
-@item @kbd{C-c C-e r}
-@tab @ref{racket-expand-region}
-@item @kbd{C-c C-e e}
-@tab @ref{racket-expand-last-sexp}
+@item @kbd{C-c C-z}
+@tab @code{racket-edit-switch-to-repl}
@item @kbd{C-c C-e x}
@tab @ref{racket-expand-definition}
@item @kbd{C-c C-e f}
@tab @ref{racket-expand-file}
-@item @kbd{C-c C-r}
-@tab @ref{racket-send-region}
-@item @kbd{C-c C-o}
-@tab @ref{racket-profile}
+@item @kbd{C-c C-e e}
+@tab @ref{racket-expand-last-sexp}
+@item @kbd{C-c C-e r}
+@tab @ref{racket-expand-region}
+@item @kbd{C-c C-f}
+@tab @ref{racket-fold-all-tests}
+@item @kbd{)} , @kbd{]} , @kbd{@}}
+@tab @ref{racket-insert-closing}
+@item @kbd{C-M-y}
+@tab @ref{racket-insert-lambda}
@item @kbd{C-c C-l}
@tab @ref{racket-logger}
+@item @kbd{C-c C-x C-f}
+@tab @ref{racket-open-require-path}
+@item @kbd{C-c C-o}
+@tab @ref{racket-profile}
+@item @kbd{C-c C-c} , @kbd{C-c C-k}
+@tab @ref{racket-run-module-at-point}
+@item @kbd{C-M-x}
+@tab @ref{racket-send-definition}
+@item @kbd{C-x C-e}
+@tab @ref{racket-send-last-sexp}
+@item @kbd{C-c C-r}
+@tab @ref{racket-send-region}
@item @kbd{C-c C-t}
@tab @ref{racket-test}
-@item @kbd{C-c C-z}
-@tab @code{racket-edit-switch-to-repl}
-@item @kbd{C-c C-k}
-@tab @ref{racket-run-module-at-point}
-@item @kbd{C-c C-c}
-@tab @ref{racket-run-module-at-point}
+@item @kbd{C-c C-u}
+@tab @ref{racket-unfold-all-tests}
@end multitable
@@ -1589,59 +1582,57 @@ A discussion of the information provided by a Racket
language:
@uref{https://docs.racket-lang.org/tools/lang-languages-customization.html}
-@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
-@item @kbd{DEL}
-@tab @code{racket-hash-lang-delete-backward-char}
-@item @kbd{RET}
-@tab @code{newline-and-indent}
@item @kbd{TAB}
@tab @code{indent-for-tab-command}
-@item @kbd{C-x C-e}
-@tab @ref{racket-send-last-sexp}
+@item @kbd{RET}
+@tab @code{newline-and-indent}
+@item @kbd{C-c C-z}
+@tab @code{racket-edit-switch-to-repl}
+@item @kbd{C-c C-e x}
+@tab @ref{racket-expand-definition}
+@item @kbd{C-c C-e f}
+@tab @ref{racket-expand-file}
+@item @kbd{C-c C-e e}
+@tab @ref{racket-expand-last-sexp}
+@item @kbd{C-c C-e r}
+@tab @ref{racket-expand-region}
+@item @kbd{C-c C-f}
+@tab @ref{racket-fold-all-tests}
@item @kbd{C-M-q}
@tab @ref{racket-hash-lang-C-M-q-dwim}
+@item @kbd{C-M-b}
+@tab @ref{racket-hash-lang-backward}
+@item @kbd{DEL}
+@tab @code{racket-hash-lang-delete-backward-char}
@item @kbd{C-M-d}
@tab @ref{racket-hash-lang-down}
-@item @kbd{C-M-u}
-@tab @ref{racket-hash-lang-up}
@item @kbd{C-M-f}
@tab @ref{racket-hash-lang-forward}
-@item @kbd{C-M-b}
-@tab @ref{racket-hash-lang-backward}
+@item @kbd{C-M-u}
+@tab @ref{racket-hash-lang-up}
@item @kbd{C-M-y}
@tab @ref{racket-insert-lambda}
-@item @kbd{C-M-x}
-@tab @ref{racket-send-definition}
-@item @kbd{C-c C-u}
-@tab @ref{racket-unfold-all-tests}
-@item @kbd{C-c C-f}
-@tab @ref{racket-fold-all-tests}
+@item @kbd{C-c C-l}
+@tab @ref{racket-logger}
@item @kbd{C-c C-x C-f}
@tab @ref{racket-open-require-path}
-@item @kbd{C-c C-e r}
-@tab @ref{racket-expand-region}
-@item @kbd{C-c C-e e}
-@tab @ref{racket-expand-last-sexp}
-@item @kbd{C-c C-e x}
-@tab @ref{racket-expand-definition}
-@item @kbd{C-c C-e f}
-@tab @ref{racket-expand-file}
-@item @kbd{C-c C-r}
-@tab @ref{racket-send-region}
@item @kbd{C-c C-o}
@tab @ref{racket-profile}
-@item @kbd{C-c C-l}
-@tab @ref{racket-logger}
+@item @kbd{C-c C-c} , @kbd{C-c C-k}
+@tab @ref{racket-run-module-at-point}
+@item @kbd{C-M-x}
+@tab @ref{racket-send-definition}
+@item @kbd{C-x C-e}
+@tab @ref{racket-send-last-sexp}
+@item @kbd{C-c C-r}
+@tab @ref{racket-send-region}
@item @kbd{C-c C-t}
@tab @ref{racket-test}
-@item @kbd{C-c C-z}
-@tab @code{racket-edit-switch-to-repl}
-@item @kbd{C-c C-k}
-@tab @ref{racket-run-module-at-point}
-@item @kbd{C-c C-c}
-@tab @ref{racket-run-module-at-point}
+@item @kbd{C-c C-u}
+@tab @ref{racket-unfold-all-tests}
@end multitable
@@ -1721,6 +1712,7 @@ anything else, do @code{prog-indent-sexp}.
* racket-xp-tail-next-sibling::
* racket-xp-tail-previous-sibling::
* racket-documentation-search::
+* racket-describe-mode::
* racket-describe-search::
@end menu
@@ -1888,45 +1880,43 @@ type, remember that as an Emacs user, you are free to
bind this
map to a more convenient prefix, and/or bind any individual
commands directly to whatever keys you prefer.
-@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
-@item @kbd{M-.}
-@tab @code{xref-find-definitions}
-@item @kbd{C-c C-s}
-@tab @ref{racket-describe-search}
-@item @kbd{C-c C-d}
-@tab @ref{racket-xp-documentation}
-@item @kbd{C-c C-.}
-@tab @ref{racket-xp-describe}
-@item @kbd{C-c # P}
-@tab @code{previous-error}
@item @kbd{C-c # N}
@tab @code{next-error}
+@item @kbd{C-c # P}
+@tab @code{previous-error}
+@item @kbd{C-c C-s}
+@tab @ref{racket-describe-search}
@item @kbd{C-c # g}
@tab @code{racket-xp-annotate}
-@item @kbd{C-c # <}
-@tab @ref{racket-xp-tail-previous-sibling}
-@item @kbd{C-c # >}
-@tab @ref{racket-xp-tail-next-sibling}
+@item @kbd{C-c C-.}
+@tab @ref{racket-xp-describe}
+@item @kbd{C-c C-d}
+@tab @ref{racket-xp-documentation}
+@item @kbd{C-c # j}
+@tab @ref{racket-xp-next-definition}
+@item @kbd{C-c # n}
+@tab @ref{racket-xp-next-use}
+@item @kbd{C-c # k}
+@tab @ref{racket-xp-previous-definition}
+@item @kbd{C-c # p}
+@tab @ref{racket-xp-previous-use}
+@item @kbd{C-c # r}
+@tab @code{racket-xp-rename}
@item @kbd{C-c # v}
@tab @ref{racket-xp-tail-down}
+@item @kbd{C-c # >}
+@tab @ref{racket-xp-tail-next-sibling}
+@item @kbd{C-c # <}
+@tab @ref{racket-xp-tail-previous-sibling}
@item @kbd{C-c # ^}
@tab @ref{racket-xp-tail-up}
-@item @kbd{C-c # r}
-@tab @code{racket-xp-rename}
+@item @kbd{M-.} , @kbd{C-c # .}
+@tab @code{xref-find-definitions}
@item @kbd{C-c # ?}
@tab @code{xref-find-references}
-@item @kbd{C-c # .}
-@tab @code{xref-find-definitions}
-@item @kbd{C-c # p}
-@tab @ref{racket-xp-previous-use}
-@item @kbd{C-c # n}
-@tab @ref{racket-xp-next-use}
-@item @kbd{C-c # k}
-@tab @ref{racket-xp-previous-definition}
-@item @kbd{C-c # j}
-@tab @ref{racket-xp-next-definition}
@end multitable
@@ -1986,7 +1976,7 @@ at point if any.
@kbd{C-u} @kbd{C-u} @kbd{C-c C-.}
This is an alias for @ref{racket-describe-search}, which uses
-installed documentation in a @code{racket-describe-mode} buffer
+installed documentation in a @ref{racket-describe-mode} buffer
instead of an external web browser.
@end itemize
@@ -2139,12 +2129,73 @@ This command does not try to go directly to the help
topic for a
definition provided by any specific module. Instead it goes to
the Racket ``Search Manuals'' page.
+@node racket-describe-mode
+@subsection racket-describe-mode
+
+@kbd{M-x} @code{racket-describe-mode}
+
+Major mode for viewing Racket documentation.
+
+Many of the default key bindings are similar to @code{Info-mode}, as
+listed below.
+
+To see ``On this page'' links, use @kbd{M-g i} for @code{imenu}, or,
+when @code{context-menu-mode} is enabled, right click the mouse.
+
+Internal, intra-doc links -- which go to other doc pages in the
+same @ref{racket-describe-mode} buffer in Emacs -- are given
+@code{nil} unless the documentation
+specifies some non-default face.
+
+External links -- which are opened using the variable
+@ref{racket-browse-url-function}, by default in an external web
+browser program -- are given @code{nil}.
+
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@item Key
+@tab Binding
+@item @kbd{<}
+@tab @code{beginning-of-buffer}
+@item @kbd{>}
+@tab @code{end-of-buffer}
+@item @kbd{q}
+@tab @code{quit-window}
+@item @kbd{l} , @kbd{b} , @kbd{C-c C-b}
+@tab @code{racket-describe-back}
+@item @kbd{x}
+@tab @code{racket-describe-browse-external}
+@item @kbd{r} , @kbd{f} , @kbd{C-c C-f}
+@tab @code{racket-describe-forward}
+@item @kbd{n}
+@tab @code{racket-describe-nav-next}
+@item @kbd{p}
+@tab @code{racket-describe-nav-prev}
+@item @kbd{C-^}
+@tab @code{racket-describe-nav-top}
+@item @kbd{^}
+@tab @code{racket-describe-nav-up}
+@item @kbd{i} , @kbd{C-c C-s}
+@tab @ref{racket-describe-search}
+@item @kbd{g}
+@tab @code{revert-buffer}
+@item @kbd{DEL} , @kbd{S-SPC}
+@tab @code{scroll-down-command}
+@item @kbd{SPC}
+@tab @code{scroll-up-command}
+@end multitable
+
+
+
+In addition to any hooks its parent mode @code{special-mode} might have
+run, this mode runs the hook @code{racket-describe-mode-hook}, as the final
+or penultimate step during initialization.
+
@node racket-describe-search
@subsection racket-describe-search
@kbd{C-c C-.} or @kbd{C-c C-s}
-Search installed documentation; view using @code{racket-describe-mode}.
+Search installed documentation; view using @ref{racket-describe-mode}.
@node Run
@section Run
@@ -2180,61 +2231,57 @@ You may use @code{xref-find-definitions} @kbd{M-.} and
@code{xref-backend-functions}. This backend uses information about
identifier bindings and modules from the REPL's namespace.
-@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
-@item @kbd{@}}
-@tab @ref{racket-insert-closing}
-@item @kbd{]}
-@tab @ref{racket-insert-closing}
-@item @kbd{)}
-@tab @ref{racket-insert-closing}
-@item @kbd{C-c C-\}
-@tab @code{racket-repl-exit}
-@item @kbd{C-c C-c}
-@tab @code{racket-repl-break}
-@item @kbd{C-c C-l}
-@tab @ref{racket-logger}
-@item @kbd{C-c C-z}
-@tab @code{racket-repl-switch-to-edit}
+@item @kbd{TAB}
+@tab @code{indent-for-tab-command}
+@item @kbd{C-j}
+@tab @code{newline-and-indent}
+@item @kbd{C-M-q}
+@tab @code{prog-indent-sexp}
+@item @kbd{C-M-u}
+@tab @ref{racket-backward-up-list}
@item @kbd{C-c C-s}
@tab @ref{racket-describe-search}
-@item @kbd{C-c C-.}
-@tab @ref{racket-repl-describe}
-@item @kbd{C-c C-d}
-@tab @ref{racket-repl-documentation}
-@item @kbd{C-c C-e r}
-@tab @ref{racket-expand-region}
-@item @kbd{C-c C-e e}
-@tab @ref{racket-expand-last-sexp}
@item @kbd{C-c C-e x}
@tab @ref{racket-expand-definition}
@item @kbd{C-c C-e f}
@tab @ref{racket-expand-file}
-@item @kbd{C-c C-o}
-@tab @code{racket-repl-delete-output}
-@item @kbd{C-c C-n}
-@tab @code{racket-repl-next-prompt-or-run}
-@item @kbd{C-c C-p}
-@tab @code{racket-repl-previous-prompt-or-run}
-@item @kbd{C-c C-u}
-@tab @code{racket-repl-clear-input}
+@item @kbd{C-c C-e e}
+@tab @ref{racket-expand-last-sexp}
+@item @kbd{C-c C-e r}
+@tab @ref{racket-expand-region}
+@item @kbd{)} , @kbd{]} , @kbd{@}}
+@tab @ref{racket-insert-closing}
@item @kbd{C-M-y}
@tab @ref{racket-insert-lambda}
+@item @kbd{C-c C-l}
+@tab @ref{racket-logger}
+@item @kbd{C-c C-c}
+@tab @code{racket-repl-break}
+@item @kbd{C-c C-u}
+@tab @code{racket-repl-clear-input}
+@item @kbd{C-c C-o}
+@tab @code{racket-repl-delete-output}
+@item @kbd{C-c C-.}
+@tab @ref{racket-repl-describe}
+@item @kbd{C-c C-d}
+@tab @ref{racket-repl-documentation}
+@item @kbd{C-c C-\}
+@tab @code{racket-repl-exit}
@item @kbd{M-n}
@tab @code{racket-repl-next-input}
+@item @kbd{C-c C-n}
+@tab @code{racket-repl-next-prompt-or-run}
@item @kbd{M-p}
@tab @code{racket-repl-previous-input}
-@item @kbd{C-M-q}
-@tab @code{prog-indent-sexp}
-@item @kbd{C-M-u}
-@tab @ref{racket-backward-up-list}
-@item @kbd{TAB}
-@tab @code{indent-for-tab-command}
-@item @kbd{C-j}
-@tab @code{newline-and-indent}
+@item @kbd{C-c C-p}
+@tab @code{racket-repl-previous-prompt-or-run}
@item @kbd{RET}
@tab @code{racket-repl-submit}
+@item @kbd{C-c C-z}
+@tab @code{racket-repl-switch-to-edit}
@end multitable
@@ -2385,7 +2432,7 @@ at point if any.
@kbd{C-u} @kbd{C-u} @kbd{C-c C-.}
This is an alias for @ref{racket-describe-search}, which uses
-installed documentation in a @code{racket-describe-mode} buffer
+installed documentation in a @ref{racket-describe-mode} buffer
instead of an external web browser.
@end itemize
@@ -2467,21 +2514,19 @@ delete compiled/*.zo files.
Major mode for results of @ref{racket-profile}.
-@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
-@item @kbd{RET}
-@tab @code{racket-profile-visit}
-@item @kbd{.}
-@tab @code{racket-profile-visit}
+@item @kbd{q}
+@tab @code{quit-window}
+@item @kbd{g}
+@tab @code{racket-profile-refresh}
@item @kbd{f}
@tab @code{racket-profile-show-non-project}
@item @kbd{z}
@tab @code{racket-profile-show-zero}
-@item @kbd{g}
-@tab @code{racket-profile-refresh}
-@item @kbd{q}
-@tab @code{quit-window}
+@item @kbd{.} , @kbd{RET}
+@tab @code{racket-profile-visit}
@end multitable
@@ -2517,14 +2562,14 @@ For more information see:
@tab Binding
@item @kbd{g}
@tab @code{racket-logger-clear}
-@item @kbd{p}
-@tab @code{racket-logger-previous-item}
@item @kbd{n}
@tab @code{racket-logger-next-item}
-@item @kbd{w}
-@tab @code{toggle-truncate-lines}
+@item @kbd{p}
+@tab @code{racket-logger-previous-item}
@item @kbd{l}
@tab @code{racket-logger-topic-level}
+@item @kbd{w}
+@tab @code{toggle-truncate-lines}
@end multitable
@@ -2582,30 +2627,30 @@ provides shortcut keys:
@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
+@item @kbd{c}
+@tab @code{racket-debug-continue}
+@item @kbd{g}
+@tab @code{racket-debug-go}
@item @kbd{?}
@tab @code{racket-debug-help}
-@item @kbd{h}
-@tab @code{racket-debug-run-to-here}
-@item @kbd{!}
-@tab @ref{racket-debug-toggle-breakpoint}
-@item @kbd{P}
-@tab @code{racket-debug-prev-breakpoint}
+@item @kbd{n}
+@tab @code{racket-debug-next-breakable}
@item @kbd{N}
@tab @code{racket-debug-next-breakpoint}
@item @kbd{p}
@tab @code{racket-debug-prev-breakable}
-@item @kbd{n}
-@tab @code{racket-debug-next-breakable}
-@item @kbd{g}
-@tab @code{racket-debug-go}
-@item @kbd{c}
-@tab @code{racket-debug-continue}
+@item @kbd{P}
+@tab @code{racket-debug-prev-breakpoint}
+@item @kbd{h}
+@tab @code{racket-debug-run-to-here}
+@item @kbd{SPC}
+@tab @code{racket-debug-step}
@item @kbd{u}
@tab @code{racket-debug-step-out}
@item @kbd{o}
@tab @code{racket-debug-step-over}
-@item @kbd{SPC}
-@tab @code{racket-debug-step}
+@item @kbd{!}
+@tab @ref{racket-debug-toggle-breakpoint}
@end multitable
@@ -2788,19 +2833,15 @@ Used by the commands @ref{racket-expand-file},
@ref{racket-expand-definition}, @ref{racket-expand-region}, and
@ref{racket-expand-last-sexp}.
-@multitable {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Key
@tab Binding
+@item @kbd{n} , @kbd{j}
+@tab @code{racket-stepper-next-item}
+@item @kbd{p} , @kbd{k}
+@tab @code{racket-stepper-previous-item}
@item @kbd{g}
@tab @code{racket-stepper-refresh}
-@item @kbd{k}
-@tab @code{racket-stepper-previous-item}
-@item @kbd{p}
-@tab @code{racket-stepper-previous-item}
-@item @kbd{j}
-@tab @code{racket-stepper-next-item}
-@item @kbd{n}
-@tab @code{racket-stepper-next-item}
@item @kbd{RET}
@tab @code{racket-stepper-step}
@end multitable
@@ -4391,7 +4432,7 @@ Face for @ref{racket-logger-mode} debug level.
@node racket-doc-link-face
@subsection racket-doc-link-face
-Face @code{racket-describe-mode} uses for links within documentation.
+Face @ref{racket-describe-mode} uses for links within documentation.
Note: When some special face is already specified by the
documentation, then to avoid visual clutter this face is NOT also
added.
@@ -4399,18 +4440,18 @@ added.
@node racket-ext-link-face
@subsection racket-ext-link-face
-Face @code{racket-describe-mode} uses for external links.
+Face @ref{racket-describe-mode} uses for external links.
See the variable @ref{racket-browse-url-function}.
@node racket-doc-output-face
@subsection racket-doc-output-face
-Face @code{racket-describe-mode} uses for Scribble @@example or @@interactions
output.
+Face @ref{racket-describe-mode} uses for Scribble @@example or @@interactions
output.
@node racket-doc-litchar-face
@subsection racket-doc-litchar-face
-Face @code{racket-describe-mode} uses for Scribble @@litchar.
+Face @ref{racket-describe-mode} uses for Scribble @@litchar.
@node racket-repl-message
@subsection racket-repl-message