branch: externals/hyperbole commit 86d5b92afc2718d8487e6703cb603efbe300444e Author: Robert Weiner <r...@gnu.org> Commit: Robert Weiner <r...@gnu.org>
Replace all use of button 'modify' with 'edit' --- ChangeLog | 13 ++++ DEMO | 2 +- HY-NEWS | 2 + hactypes.el | 6 +- hargs.el | 22 +++---- hbut.el | 37 +++++------ hui-menu.el | 11 ++-- hui-mini.el | 11 ++-- hui-window.el | 4 +- hui.el | 168 +++++++++++++++++++++++----------------------- hycontrol.el | 23 ++++--- hypb.el | 4 +- man/hyperbole.html | 190 +++++++++++++++++++++++++++++------------------------ man/hyperbole.info | Bin 580221 -> 582049 bytes man/hyperbole.pdf | Bin 1333549 -> 1333450 bytes man/hyperbole.texi | 84 ++++++++++++----------- test/hui-tests.el | 18 ++--- 17 files changed, 313 insertions(+), 282 deletions(-) diff --git a/ChangeLog b/ChangeLog index b436ebdff1..1ea457fc39 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 2022-02-20 Bob Weiner <r...@gnu.org> +* hypb.el (hypb:rgrep): Exclude .git and CVS directories. + +* hui-menu.el (infodock-hyperbole-menu): + hui-mini.el (hui:menus): Remove button Modify menu items. Use Edit. + hbut.el (ebut:edit): Rename from 'ebut:modify'. + hui.el (hui:ebut-edit-region): Rename this function of no arguments from 'hui:ebut-edit'. + (hui:ebut-edit, hui:gbut-edit, hui:ibut-edit): + In Hyperbole code, change all '-modify' functions to '-edit'. + +* man/hyperbole.texi (Editing): Rename from Modification. + (Editing Outlines): Rename from Editing. + (Viewing Outlines): Rename from Viewing. + * hhist.el (hhist:add): Trigger error if elt is not a frame config. * man/hyperbole.texi (Default Hyperbole Bindings): Document here diff --git a/DEMO b/DEMO index e41c2637b6..db0f615697 100644 --- a/DEMO +++ b/DEMO @@ -1151,7 +1151,7 @@ on the *first* line of the button, within the button delimiters: /* button )> */ -** Creating and Modifying Explicit Buttons +** Creating and Editing Explicit Buttons Creating explicit buttons is fun and easy. You can always try them out immediately after creating them or can utilize the Assist Key to verify what diff --git a/HY-NEWS b/HY-NEWS index eea6b1c3b5..c2224efcaf 100644 --- a/HY-NEWS +++ b/HY-NEWS @@ -256,6 +256,8 @@ to HTML for web viewing. See "(hyperbole)Inserting and Importing" and "(hyperbole)Exporting". + - Button Modify Commands Removed: Use the Edit commands instead. + This applies to the pull-down menu as well. ** SMART (ACTION AND ASSIST) KEYS (See "(hyperbole)Smart Keys"). diff --git a/hactypes.el b/hactypes.el index a4947f9f96..2bb9b1d35b 100644 --- a/hactypes.el +++ b/hactypes.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 23-Sep-91 at 20:34:36 -;; Last-Mod: 13-Feb-22 at 19:48:50 by Mats Lidell +;; Last-Mod: 20-Feb-22 at 22:13:32 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -498,12 +498,12 @@ on the implicit button to which to link." (let ((ibut-key (ibut:at-p t))) (cond (ibut-key (list ibut-key (or buffer-file-name (buffer-name)) (point))) - ;; TODO: If default is null below and are creating, rather than modifying, + ;; TODO: If default is null below and are creating, rather than editing ;; the link, it would be better to throw an error than create ;; an invalid link, but it is difficult to tell which operation ;; is in progress, so ignore this for now. -- RSW, 01-25-2020 - ;; When not on an ibut and modifying the link, use existing arguments + ;; When not on an ibut and editing the link, use existing arguments ((and (bound-and-true-p hargs:defaults) (listp hargs:defaults) hargs:defaults) hargs:defaults) (t diff --git a/hargs.el b/hargs.el index 276f499b8f..6ce9d9e01c 100644 --- a/hargs.el +++ b/hargs.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 31-Oct-91 at 23:17:35 -;; Last-Mod: 12-Feb-22 at 10:11:21 by Mats Lidell +;; Last-Mod: 20-Feb-22 at 22:15:24 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -36,7 +36,7 @@ ;;; ************************************************************************ (defvar hargs:defaults nil - "Default arguments read from an existing Hyperbole button when modifying it.") + "Default arguments read from an existing Hyperbole button when editing it.") (defvar hargs:reading-type nil "Symbol representing the type of object Hyperbole is prompting the user to input.") @@ -50,9 +50,9 @@ (defalias 'hargs:find-tag-default #'find-tag--default) -(defun hargs:action-get (action modifying) +(defun hargs:action-get (action editing-flag) "Interactively get list of arguments for ACTION's parameters. -Current button is being modified when MODIFYING is t. +Current button is being edited when EDITING-FLAG is t. Return nil if ACTION is not a list or `byte-code' object, has no interactive form or takes no arguments." (save-excursion @@ -60,7 +60,7 @@ interactive form or takes no arguments." (let ((interactive-form (action:commandp action))) (when interactive-form (hpath:relative-arguments - (hargs:iform-read interactive-form modifying))))))) + (hargs:iform-read interactive-form editing-flag))))))) (defun hargs:buffer-substring (start end) "Return the buffer substring sans any properties between START and END positions. @@ -275,12 +275,12 @@ that point is within is returned or nil if none." ;;; Public functions ;;; ************************************************************************ -(defun hargs:actype-get (actype &optional modifying) +(defun hargs:actype-get (actype &optional editing-flag) "Interactively get and return list of arguments for ACTYPE's parameters. -Current button is being modified when MODIFYING is non-nil." - (when modifying - (setq modifying t)) - (hargs:action-get (actype:action-body actype) modifying)) +Current button is being edited when EDITING-FLAG is non-nil." + (when editing-flag + (setq editing-flag t)) + (hargs:action-get (actype:action-body actype) editing-flag)) (defun hargs:at-p (&optional no-default) "Return thing at point, if of hargs:reading-type type, or default. @@ -478,7 +478,7 @@ Insert in minibuffer if active or in other window if minibuffer is inactive." (defun hargs:iform-read (iform &optional default-args) "Read action arguments according to IFORM, a list with car = `interactive'. -With optional DEFAULT-ARGS equal to t, the current button is being modified, so +With optional DEFAULT-ARGS equal to t, the current button is being edited, so its attribute values should be presented as defaults. Otherwise, use DEFAULT-ARGS as a list of defaults to present when reading arguments. See also documentation for `interactive'." diff --git a/hbut.el b/hbut.el index f75e98c9bc..1fe3fa4ecd 100644 --- a/hbut.el +++ b/hbut.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 18-Sep-91 at 02:57:09 -;; Last-Mod: 12-Feb-22 at 10:42:20 by Mats Lidell +;; Last-Mod: 20-Feb-22 at 22:08:04 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -101,6 +101,19 @@ Return entry deleted (a list of attribute values) or nil." (run-hooks 'ebut-delete-hook) entry))) +(defun ebut:edit (&optional lbl-key but-sym) + "Edit existing Hyperbole button from optional LBL-KEY and BUT-SYM. +Defaults are the key for any button label at point and `hbut:current'. +If successful, return button's instance number, except when instance +number is 1, then return t. On failure, as when button does not exist, +return nil. + +Do not save button data buffer." + (save-excursion + (let ((lbl-instance (hbdata:write lbl-key but-sym))) + (run-hooks 'ebut-edit-hook) + lbl-instance))) + (defun ebut:get (&optional lbl-key buffer key-src) "Return explicit Hyperbole button symbol given by LBL-KEY and BUFFER. KEY-SRC is given when retrieving global buttons and is the full source pathname. @@ -273,19 +286,6 @@ start position of the delimited button label and its end position (positions include delimiters when INCLUDE-DELIMS is non-nil)." (hbut:map but-func ebut:start ebut:end regexp-match include-delims)) -(defun ebut:modify (&optional lbl-key but-sym) - "Modify existing Hyperbole button from optional LBL-KEY and BUT-SYM. -Defaults are the key for any button label at point and `hbut:current'. -If successful, return button's instance number, except when instance -number is 1, then return t. On failure, as when button does not exist, -return nil. - -Do not save button data buffer." - (save-excursion - (let ((lbl-instance (hbdata:write lbl-key but-sym))) - (run-hooks 'ebut-modify-hook) - lbl-instance))) - (defun ebut:next-occurrence (lbl-key &optional buffer) "Move point to next occurrence of button with LBL-KEY in optional BUFFER. BUFFER defaults to current buffer. It may be a buffer name. @@ -321,7 +321,7 @@ button is found in the current buffer." (hattr:set 'hbut:current 'lbl-key (ebut:label-to-key new-label)) (save-excursion (when (setq instance-flag - (if modify (ebut:modify lbl-key) (ebut:create))) + (if modify (ebut:edit lbl-key) (ebut:create))) (when (hmail:editor-p) (hmail:msg-narrow)))) (cond (modify @@ -353,9 +353,8 @@ button is found in the current buffer." (setq end (point))) ((and (hmouse-use-region-p) (if (hyperb:stack-frame - '(hui:ebut-create hui:ebut-edit - hui:ebut-modify hui:gbut-create - hui:gbut-modify hui:link-create ebut:program)) + '(hui:ebut-create hui:ebut-edit hui:ebut-edit-region hui:gbut-create + hui:gbut-edit hui:link-create ebut:program)) ;; Ignore action-key-depress-prev-point (progn (setq mark (marker-position (mark-marker)) start (region-beginning) @@ -1636,7 +1635,7 @@ expression which matches an entire button string." (hbut:map but-func ibut:label-start ibut:label-end)) (defun ibut:rename (old-lbl new-lbl) - "Modify a label preceding the text of a Hyperbole implicit button in the current buffer from OLD-LBL to NEW-LBL. + "Rename a label preceding the text of a Hyperbole implicit button in the current buffer from OLD-LBL to NEW-LBL. Return t if the label is changed, else nil. Signal an error when no such button is found in the current buffer. diff --git a/hui-menu.el b/hui-menu.el index d8a351776c..87f280f773 100644 --- a/hui-menu.el +++ b/hui-menu.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 28-Oct-94 at 10:59:44 -;; Last-Mod: 12-Feb-22 at 13:51:20 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 21:52:10 by Bob Weiner ;; ;; Copyright (C) 1994-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -363,14 +363,13 @@ REBUILD-FLAG is non-nil, in which case the menu is rebuilt." ["Activate" hui:ebut-act t] ["Create" hui:ebut-create t] ["Delete" hui:ebut-delete t] - ["Edit" hui:ebut-modify t] + ["Edit" hui:ebut-edit t] ("Help" ["Manual" (id-info "(hyperbole)Location") t] "----" ["Buffer-Buttons" (hui:hbut-report -1) t] ["Current-Button" (hui:hbut-report) t] ["Ordered-Buttons" (hui:hbut-report 1) t]) - ["Modify" hui:ebut-modify t] ["Rename" hui:ebut-rename t] ["Search" hui:ebut-search t] ["Types" @@ -398,19 +397,17 @@ REBUILD-FLAG is non-nil, in which case the menu is rebuilt." :filter hui-menu-global-buttons ["Create" hui:gbut-create t] ["Delete" hui:gbut-delete t] - ["Edit" hui:gbut-modify t] + ["Edit" hui:gbut-edit t] ["Help" gbut:help t] - ["Modify" hui:gbut-modify t] ["Rename" hui:gbut-rename t]) '("Implicit-Button" ["Manual" (id-info "(hyperbole)Implicit Buttons") t] "----" ["Activate" hui:ibut-act t] ["Delete-Type" (hui:htype-delete 'ibtypes) t] - ["Edit" hui:ibut-modify t] + ["Edit" hui:ibut-edit t] ["Help" hui:hbut-help t] ["Label" hui:ibut-label-create t] - ["Modify" hui:ibut-modify t] ["Rename" hui:ibut-rename t] ["Types" (hui:htype-help 'ibtypes 'no-sort) t]) '("Koutliner" diff --git a/hui-mini.el b/hui-mini.el index 46712def4e..c473432578 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: 12-Feb-22 at 13:52:10 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 21:52:10 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -644,12 +644,11 @@ constructs. If not given, the top level Hyperbole menu is used." "Activates explicit button at point or prompts for explicit button to activate.") ("Create" hui:ebut-create "Adds an explicit button to the current buffer.") ("Delete" hui:ebut-delete "Removes an explicit button from the current buffer.") - ("Edit" hui:ebut-modify "Modifies any desired button attributes.") + ("Edit" hui:ebut-edit "Modifies any desired button attributes.") ("Help/" (menu . ebut-help) "Summarizes button attributes.") ("Info" (id-info "(hyperbole)Explicit Buttons") "Displays manual section on explicit buttons.") - ("Modify" hui:ebut-modify "Modifies explicit button attributes.") ("Rename" hui:ebut-rename "Relabels an explicit button.") ("Search" hui:ebut-search "Locates and displays personally created buttons in context.") @@ -677,11 +676,10 @@ constructs. If not given, the top level Hyperbole menu is used." ("Act" gbut:act "Activates global button by name.") ("Create" hui:gbut-create "Adds a global button to (gbut:file).") ("Delete" hui:gbut-delete "Removes a global button from (gbut:file).") - ("Edit" hui:gbut-modify "Modifies global button attributes.") + ("Edit" hui:gbut-edit "Modifies global button attributes.") ("Help" gbut:help "Reports on a global button by name.") ("Info" (id-info "(hyperbole)Global Buttons") "Displays manual section on global buttons.") - ("Modify" hui:gbut-modify "Modifies global button attributes.") ("Rename" hui:gbut-rename "Renames a global button."))) '(ibut . (("IButton>") @@ -689,13 +687,12 @@ constructs. If not given, the top level Hyperbole menu is used." "Activates implicit button at point or prompts for labeled implicit button to activate.") ("DeleteIButType" (hui:htype-delete 'ibtypes) "Deletes specified button type.") - ("Edit" hui:ibut-modify "Edits/modifies named implicit button attributes.") + ("Edit" hui:ibut-edit "Edits/modifies named implicit button attributes.") ("Help" hui:hbut-help "Reports on button's attributes.") ("Info" (id-info "(hyperbole)Implicit Buttons") "Displays manual section on implicit buttons.") ("Label" hui:ibut-label-create "Creates an implicit button label preceding an existing implicit button at point, if any.") - ("Modify" hui:ibut-modify "Modifies named implicit button attributes.") ("Rename" hui:ibut-rename "Modifies a label preceding an implicit button in the current buffer.") ("Types" (hui:htype-help 'ibtypes 'no-sort) diff --git a/hui-window.el b/hui-window.el index e7116af2fc..6da3cea982 100644 --- a/hui-window.el +++ b/hui-window.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 21-Sep-92 -;; Last-Mod: 24-Jan-22 at 00:18:52 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 22:17:04 by Bob Weiner ;; ;; Copyright (C) 1992-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -47,7 +47,7 @@ ;; buffer/file menu item Display buffer/file in Swap window buffers ;; window of button release ;; buffer/file menu 1st line Move buffer/file menu Swap window buffers -;; anywhere else Create/modify a link button Swap window buffers +;; anywhere else Create/edit a link button Swap window buffers ;; ;; Drag outside of Emacs from: ;; buffer/file menu item Display buffer/file in Move window to a new frame diff --git a/hui.el b/hui.el index de419b1e31..28f37bc83c 100644 --- a/hui.el +++ b/hui.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 19-Sep-91 at 21:42:03 -;; Last-Mod: 6-Feb-22 at 13:43:07 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 22:19:24 by Bob Weiner ;; ;; Copyright (C) 1991-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -172,13 +172,13 @@ Signal an error if point is not within a button." nil) (hui:ebut-delete-op interactive but-key key-src)))) -(defun hui:ebut-edit () - "Create or modify an explicit Hyperbole button when conditions are met. +(defun hui:ebut-edit-region () + "Create or edit an explicit Hyperbole button when conditions are met. A region must have been delimited with the action-key and point must now be within it before this function is called or it will do nothing. The region must be no larger than the size given by a call to (hbut:max-len). It must be entirely within or entirely outside of an existing explicit button. When -region is within the button, the button is interactively modified. Otherwise, +region is within the button, the button is interactively edited. Otherwise, a new button is created interactively with the region as the default label." (interactive) (let ((m (mark)) @@ -188,23 +188,23 @@ a new button is created interactively with the region as the default label." (<= p m) (<= op p)) (progn (if (setq lbl-key (ebut:label-p)) - (hui:ebut-modify lbl-key) + (hui:ebut-edit lbl-key) (hui:ebut-create op m)) t)))) -(defun hui:ebut-modify (lbl-key) - "Modify an explicit Hyperbole button given by LBL-KEY. +(defun hui:ebut-edit (lbl-key) + "Edit an explicit Hyperbole button given by LBL-KEY. Signal an error when no such button is found in the current buffer." (interactive (list (save-excursion - (hui:buf-writable-err (current-buffer) "ebut-modify") + (hui:buf-writable-err (current-buffer) "ebut-edit") (ebut:label-to-key - (hargs:read-match "Button to modify: " + (hargs:read-match "Button to edit: " (ebut:alist) nil t (ebut:label-p t) 'ebut))))) (unless (stringp lbl-key) (if (called-interactively-p 'interactive) - (error "(hui:ebut-modify): No explicit button to modify") - (error "(hui:ebut-modify): 'lbl-key' argument must be a string, not '%s'" lbl-key))) + (error "(hui:ebut-edit): No explicit button to edit") + (error "(hui:ebut-edit): 'lbl-key' argument must be a string, not '%s'" lbl-key))) (hypb:assert-same-start-and-end-buffer (let ((lbl (ebut:key-to-label lbl-key)) @@ -214,11 +214,11 @@ Signal an error when no such button is found in the current buffer." (hattr:set 'hbut:current 'dir (hui:key-dir but-buf)) (save-excursion (unless (called-interactively-p 'interactive) - (hui:buf-writable-err but-buf "ebut-modify")) + (hui:buf-writable-err but-buf "ebut-edit")) (unless (setq but (ebut:get lbl-key but-buf)) (pop-to-buffer but-buf) - (hypb:error "(ebut-modify): Invalid button, no data for '%s'" lbl)) + (hypb:error "(ebut-edit): Invalid button, no data for '%s'" lbl)) (setq new-lbl (hargs:read @@ -226,7 +226,7 @@ Signal an error when no such button is found in the current buffer." (lambda (lbl) (and (not (string-equal lbl "")) (<= (length lbl) (hbut:max-len)))) lbl - (format "(ebut-modify): Enter a string of at most %s chars." + (format "(ebut-edit): Enter a string of at most %s chars." (hbut:max-len)) 'string)) @@ -391,22 +391,22 @@ Signal an error if point is not within a button." nil t nil 'gbut))))) (hui:hbut-delete but-key (gbut:file))) -(defun hui:gbut-modify (lbl-key) - "Modify a global Hyperbole button given by LBL-KEY. +(defun hui:gbut-edit (lbl-key) + "Edit a global Hyperbole button given by LBL-KEY. The button may be explicit or a labeled implicit button. When called interactively, save the global button buffer after the modification Signal an error when no such button is found." (interactive (list (save-excursion (hui:buf-writable-err - (find-file-noselect (gbut:file)) "gbut-modify") + (find-file-noselect (gbut:file)) "gbut-edit") (hbut:label-to-key - (hargs:read-match "Global button to modify: " + (hargs:read-match "Global button to edit: " (mapcar #'list (gbut:label-list)) nil t (gbut:label-p t) 'gbut))))) (unless (stringp lbl-key) (if (called-interactively-p 'interactive) - (error "(hui:gbut-modify): No global button to modify") - (error "(hui:gbut-modify): 'lbl-key' argument must be a string, not '%s'" lbl-key))) + (error "(hui:gbut-edit): No global button to edit") + (error "(hui:gbut-edit): 'lbl-key' argument must be a string, not '%s'" lbl-key))) (hypb:assert-same-start-and-end-buffer @@ -417,11 +417,11 @@ modification Signal an error when no such button is found." actype but new-lbl) (save-excursion (unless interactive-flag - (hui:buf-writable-err but-buf "gbut-modify")) + (hui:buf-writable-err but-buf "gbut-edit")) (unless (setq but (gbut:get lbl-key)) (pop-to-buffer but-buf) - (hypb:error "(gbut-modify): Invalid button, no data for '%s'" lbl)) + (hypb:error "(gbut-edit): Invalid button, no data for '%s'" lbl)) (setq new-lbl (hargs:read @@ -429,7 +429,7 @@ modification Signal an error when no such button is found." (lambda (lbl) (and (not (string-equal lbl "")) (<= (length lbl) (hbut:max-len)))) lbl - (format "(gbut-modify): Enter a string of at most %s chars." + (format "(gbut-edit): Enter a string of at most %s chars." (hbut:max-len)) 'string)) @@ -461,7 +461,7 @@ modification Signal an error when no such button is found." (let* ((start (hattr:get 'hbut:current 'lbl-start)) (end (hattr:get 'hbut:current 'lbl-end)) (old-text (buffer-substring start end)) - (new-text (read-string "Modify ibut text: " old-text))) + (new-text (read-string "Edit ibut text: " old-text))) (save-excursion (goto-char start) (delete-region start end) @@ -675,55 +675,19 @@ Default is any implicit button at point." (hypb:error "(ibut-act): No labeled implicit buttons in buffer.")))))) (hui:hbut-operate #'ibut:act "Activate labeled implicit button: " but)) -(defun hui:ibut-label-create () - "Create an implicit button label preceding the text of an existing implicit button at point, if any. -Add the label and delimiters around it plus any necessary label instance number. -Signal an error if point is not on an implicit button or if the button already has a label. - -If the implicit button type does not specify the starting locations of -its buttons, the label is simply inserted at point." - (interactive) - (hui:buf-writable-err (current-buffer) "ibut-label-create") - (let* ((ibut (ibut:at-p)) - (ibut-start (when ibut (hattr:get 'hbut:current 'lbl-start))) - ;; non-nil when point is within an existing ibut label - (label-key-start-end (when ibut (ibut:label-p nil nil nil t t))) - lbl) - (cond (label-key-start-end - (error "(hui:ibut-label-create): ibutton at point already has a label; try hui:ibut-rename")) - (ibut - (save-excursion - (when ibut-start - (goto-char ibut-start) - ;; Skip over any non-whitespace or symbol chars to move - ;; back past any opening delimiter - (skip-syntax-backward "^-_")) - (save-excursion - ;; Check if ibut has an existing preceding label - (skip-chars-backward "][:=<>a-zA-Z0-9#@!$%^&* -") - (skip-chars-forward " ") - (when (looking-at (concat (regexp-quote ibut:label-start) "\\s-*[:=a-zA-Z0-9#@!$%^&* -]+" (regexp-quote ibut:label-end))) - (error "(hui:ibut-label-create): ibutton at point already has a label; try hui:ibut-rename"))) - (setq lbl (hui:hbut-label nil "ibut-label-create")) ; prompts for label - ;; !! Handle adding instance to label - (insert ibut:label-start lbl ibut:label-end ibut:label-separator)) - (when (called-interactively-p 'interactive) - (hui:ibut-message nil))) - (t (error "(hui:ibut-label-create): To add a label, point must be within the text of an implicit button"))))) - -(defun hui:ibut-modify (lbl-key) - "Modify a named implicit Hyperbole button given by LBL-KEY. +(defun hui:ibut-edit (lbl-key) + "Edit a named implicit Hyperbole button given by LBL-KEY. Signal an error when no such button is found in the current buffer." (interactive (list (save-excursion - (hui:buf-writable-err (current-buffer) "ibut-modify") + (hui:buf-writable-err (current-buffer) "ibut-edit") (ibut:label-to-key - (hargs:read-match "Button to modify: " + (hargs:read-match "Button to edit: " (ibut:alist) nil t (ibut:label-p t) 'ibut))))) (unless (stringp lbl-key) (if (called-interactively-p 'interactive) - (error "(hui:ibut-modify): No named implicit button to modify") - (error "(hui:ibut-modify): 'lbl-key' argument must be a string, not '%s'" lbl-key))) + (error "(hui:ibut-edit): No named implicit button to edit") + (error "(hui:ibut-edit): 'lbl-key' argument must be a string, not '%s'" lbl-key))) (hypb:assert-same-start-and-end-buffer (let ((lbl (ibut:key-to-label lbl-key)) @@ -734,11 +698,11 @@ Signal an error when no such button is found in the current buffer." (hattr:set 'hbut:current 'dir (hui:key-dir but-buf)) (save-excursion (unless (called-interactively-p 'interactive) - (hui:buf-writable-err but-buf "ibut-modify")) + (hui:buf-writable-err but-buf "ibut-edit")) (unless (ibut:get lbl-key but-buf) (pop-to-buffer but-buf) - (hypb:error "(ibut-modify): Invalid button, no data for '%s'" lbl)) + (hypb:error "(ibut-edit): Invalid button, no data for '%s'" lbl)) (setq new-lbl (hargs:read @@ -746,7 +710,7 @@ Signal an error when no such button is found in the current buffer." (lambda (lbl) (and (not (string-equal lbl "")) (<= (length lbl) (hbut:max-len)))) lbl - (format "(ibut-modify): Enter a string of at most %s chars." + (format "(ibut-edit): Enter a string of at most %s chars." (hbut:max-len)) 'string)) @@ -762,7 +726,7 @@ Signal an error when no such button is found in the current buffer." (let* ((start (hattr:get 'hbut:current 'lbl-start)) (end (hattr:get 'hbut:current 'lbl-end)) (old-text (buffer-substring start end)) - (new-text (read-string "Modify ibut text: " old-text))) + (new-text (read-string "Edit ibut text: " old-text))) (save-excursion (goto-char start) (delete-region start end) @@ -781,6 +745,42 @@ Signal an error when no such button is found in the current buffer." new-lbl ibut:label-end))))))))) +(defun hui:ibut-label-create () + "Create an implicit button label preceding the text of an existing implicit button at point, if any. +Add the label and delimiters around it plus any necessary label instance number. +Signal an error if point is not on an implicit button or if the button already has a label. + +If the implicit button type does not specify the starting locations of +its buttons, the label is simply inserted at point." + (interactive) + (hui:buf-writable-err (current-buffer) "ibut-label-create") + (let* ((ibut (ibut:at-p)) + (ibut-start (when ibut (hattr:get 'hbut:current 'lbl-start))) + ;; non-nil when point is within an existing ibut label + (label-key-start-end (when ibut (ibut:label-p nil nil nil t t))) + lbl) + (cond (label-key-start-end + (error "(hui:ibut-label-create): ibutton at point already has a label; try hui:ibut-rename")) + (ibut + (save-excursion + (when ibut-start + (goto-char ibut-start) + ;; Skip over any non-whitespace or symbol chars to move + ;; back past any opening delimiter + (skip-syntax-backward "^-_")) + (save-excursion + ;; Check if ibut has an existing preceding label + (skip-chars-backward "][:=<>a-zA-Z0-9#@!$%^&* -") + (skip-chars-forward " ") + (when (looking-at (concat (regexp-quote ibut:label-start) "\\s-*[:=a-zA-Z0-9#@!$%^&* -]+" (regexp-quote ibut:label-end))) + (error "(hui:ibut-label-create): ibutton at point already has a label; try hui:ibut-rename"))) + (setq lbl (hui:hbut-label nil "ibut-label-create")) ; prompts for label + ;; !! Handle adding instance to label + (insert ibut:label-start lbl ibut:label-end ibut:label-separator)) + (when (called-interactively-p 'interactive) + (hui:ibut-message nil))) + (t (error "(hui:ibut-label-create): To add a label, point must be within the text of an implicit button"))))) + (defun hui:ibut-rename (lbl-key) "Rename a label preceding a Hyperbole implicit button in the current buffer given by LBL-KEY. Signal an error when no such button is found in the current buffer." @@ -826,11 +826,11 @@ See also documentation for `hui:link-possible-types'." (interactive (hmouse-choose-windows #'hui:link)) (let ((but-window (or depress-window action-key-depress-window)) (referent-window (or release-window action-key-release-window (selected-window))) - but-name but-modify link-types num-types type-and-args lbl-key but-loc but-dir) + but-name but-edit link-types num-types type-and-args lbl-key but-loc but-dir) (select-window but-window) (hui:buf-writable-err (current-buffer) "link-directly") (if (ebut:at-p) - (setq but-modify t + (setq but-edit t but-loc (hattr:get 'hbut:current 'loc) but-dir (hattr:get 'hbut:current 'dir) lbl-key (hattr:get 'hbut:current 'lbl-key)) @@ -854,7 +854,7 @@ See also documentation for `hui:link-possible-types'." (error "(link-directly): No possible link type to create")) ((= num-types 1) (setq type-and-args (hui:list-remove-text-properties (car link-types))) - (hui:link-create but-modify but-window lbl-key but-loc but-dir type-and-args)) + (hui:link-create but-edit but-window lbl-key but-loc but-dir type-and-args)) (t ;; more than 1 (let ((item) type) @@ -877,9 +877,9 @@ See also documentation for `hui:link-possible-types'." link-types))) type-and-args (hui:list-remove-text-properties type-and-args)) (hui:link-create - but-modify but-window + but-edit but-window lbl-key but-loc but-dir type-and-args)))) - (hui:ebut-message but-modify))) + (hui:ebut-message but-edit))) ;;; ************************************************************************ ;;; Private functions - used only within Hyperbole @@ -964,7 +964,7 @@ DEFAULT-ACTYPE may be a valid symbol or symbol name." ;; Commented error out since some people want to be able to create ;; buttons within files which they have purposely marked read-only. ;; (setq err - ;; (format "(ebut-modify): Hyperbole lacks permission to write to '%s'." + ;; (format "(ebut-edit): Hyperbole lacks permission to write to '%s'." ;; (file-name-nondirectory buffer-file-name)))) (with-current-buffer but-buf (when buffer-read-only @@ -1034,7 +1034,7 @@ within." t) (hypb:error "(ebut-delete): You may not delete buttons from this buffer")))) -(defun hui:ebut-message (but-modify-flag) +(defun hui:ebut-message (but-edit-flag) (let ((actype (symbol-name (hattr:get 'hbut:current 'actype))) (args (hattr:get 'hbut:current 'args))) (setq actype (actype:def-symbol actype)) @@ -1042,7 +1042,7 @@ within." ebut:start (hbut:key-to-label (hattr:get 'hbut:current 'lbl-key)) ebut:end - (if but-modify-flag "now executes" "executes") + (if but-edit-flag "now executes" "executes") (cons actype args)))) (defun hui:ebut-unmark (&optional but-key key-src directory) @@ -1258,7 +1258,7 @@ within." (message "Button '%s' deleted." (ibut:key-to-label but-key))) (hypb:error "(ibut-delete): You may not delete buttons from this buffer")))) -(defun hui:ibut-message (but-modify-flag) +(defun hui:ibut-message (but-edit-flag) (let ((actype (symbol-name (hattr:get 'hbut:current 'actype))) (args (hattr:get 'hbut:current 'args))) (setq actype (actype:def-symbol actype)) @@ -1266,7 +1266,7 @@ within." ibut:label-start (hbut:key-to-label (hattr:get 'hbut:current 'lbl-key)) ibut:label-end - (if but-modify-flag "now executes" "executes") + (if but-edit-flag "now executes" "executes") (cons actype args)))) (defun hui:key-dir (but-buf) @@ -1287,9 +1287,9 @@ button's source file name when the button data is stored externally." ((hpath:symlink-referent (buffer-file-name but-buf))) (t but-buf)))) -(defun hui:link-create (modify but-window lbl-key but-loc but-dir type-and-args) - "Create or modify a new Hyperbole explicit link button. -If MODIFY is non-nil, modify button at point in BUT-WINDOW, +(defun hui:link-create (edit-flag but-window lbl-key but-loc but-dir type-and-args) + "Create or edit a new Hyperbole explicit link button. +If EDIT-FLAG is non-nil, edit button at point in BUT-WINDOW, otherwise, prompt for button label and create a button. LBL-KEY is internal form of button label. BUT-LOC is the file or buffer in which to create button. BUT-DIR is the directory of BUT-LOC. @@ -1303,7 +1303,7 @@ arguments." (hattr:set 'hbut:current 'args (cdr type-and-args)) (select-window but-window) (let ((label (ebut:key-to-label lbl-key))) - (ebut:operate label (if modify label))))) + (ebut:operate label (when edit-flag label))))) (defun hui:link-possible-types () "Return list of possible link action types during editing of a Hyperbole button. diff --git a/hycontrol.el b/hycontrol.el index 1d3183a1fa..7a1443771f 100644 --- a/hycontrol.el +++ b/hycontrol.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 1-Jun-16 at 15:35:36 -;; Last-Mod: 20-Feb-22 at 16:29:37 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 22:45:47 by Bob Weiner ;; ;; Copyright (C) 2016-2021 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -123,7 +123,8 @@ ;;; ************************************************************************ (require 'hhist) ; To store frame-config when hycontrol-windows-grid is used -(require 'hyperbole) ; For hyperbole-mode-map and requires 'set and 'hypb +(require 'hypb) +(require 'set) ;; Frame face enlarging/shrinking (zooming) requires this separately available library. ;; Everything else works fine without it, so don't make it a required dependency. (require 'zoom-frm nil t) @@ -1278,8 +1279,7 @@ If already at the top, adjust its height to ARG percent of the screen (50% by de if ARG is 1 or nil) but keep it at the top of the screen." (interactive "p") (setq arg (hycontrol-frame-resize-percentage arg)) - (let ((frame-resize-pixelwise t) - (top (nth 1 (hycontrol-frame-edges)))) + (let ((frame-resize-pixelwise t)) (if (hycontrol-frame-at-top-p) ;; Reduce frame height to ARG percent, keeping top side fixed. (set-frame-height nil (floor (* (frame-pixel-height) arg)) nil t) @@ -1498,7 +1498,8 @@ Menu or IBuffer mode." (defun hycontrol-windows-grid (arg) "Display a grid of windows in the selected frame, sized according to prefix ARG. Left digit of ARG is the number of grid rows and the right digit is -the number of grid columns. +the number of grid columns. Use {C-h h h} to restore the prior frame +configuration. If ARG is 0, prompt for a major mode whose buffers should be displayed first in the grid windows, then prompt for the grid size. @@ -1567,12 +1568,12 @@ argument." (defun hycontrol-windows-grid-by-file-list (files) "Display an automatically sized window grid showing list of FILES." - (let* ((num-files (length files)) - (grid-digit (ceiling (sqrt num-files))) - (grid-size (+ (* grid-digit 10) grid-digit))) (if (null files) (error "(hycontrol-windows-grid-by-file-list): No matching files") - (setq buffers (nreverse (mapcar #'find-file (reverse files)))) + (let* ((num-files (length files)) + (grid-digit (ceiling (sqrt num-files))) + (grid-size (+ (* grid-digit 10) grid-digit)) + (buffers (nreverse (mapcar #'find-file (reverse files))))) (hycontrol-make-windows-grid grid-size buffers)))) ;;;###autoload @@ -1755,15 +1756,13 @@ otherwise, delete the original window." (interactive) (let ((w (selected-window)) (frame-resize-pixelwise t) - (only-one-window (one-window-p)) - buf) + (only-one-window (one-window-p))) (cond ((window-minibuffer-p w) (beep) (minibuffer-message "(Hyperbole): Select a non-minibuffer window")) (t ;; Give temporary modes such as isearch a chance to turn off. (run-hooks 'mouse-leave-buffer-hook) - (setq buf (window-buffer w)) (select-frame (make-frame (frame-parameters))) (unless only-one-window (hycontrol-set-frame-size nil (window-size w t t) (window-size w nil t) t)) diff --git a/hypb.el b/hypb.el index 3e4c1c8ad2..f3329631fc 100644 --- a/hypb.el +++ b/hypb.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 6-Oct-91 at 03:42:38 -;; Last-Mod: 20-Feb-22 at 14:16:25 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 22:12:33 by Bob Weiner ;; ;; Copyright (C) 1991-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -719,7 +719,7 @@ If in an Emacs Lisp mode buffer and no PREFX-ARG is given, limit search to only "--include=\"*.el\" --include=\"*.el.gz\"") (if (string-match "\\`rg " hypb:rgrep-command) "-g \"!*~\" -g \"!#*\" -g \"!TAGS\"" - "--exclude=\"*~\" --exclude=\"#*\" --exclude=\"TAGS\"")) + "--exclude=\".git\" --exclude=\"CVS\" --exclude=\"*~\" --exclude=\"#*\" --exclude=\"TAGS\"")) delim pattern delim)))) (setq this-command `(grep ,grep-cmd)) (push this-command command-history) diff --git a/man/hyperbole.html b/man/hyperbole.html index cf8bbc4db4..16498ff668 100644 --- a/man/hyperbole.html +++ b/man/hyperbole.html @@ -170,7 +170,7 @@ ul.no-bullet {list-style: none} </ul></li> <li><a id="toc-Renaming-1" href="#Renaming">4.7.2 Renaming</a></li> <li><a id="toc-Deletion-1" href="#Deletion">4.7.3 Deletion</a></li> - <li><a id="toc-Modification-1" href="#Modification">4.7.4 Modification</a></li> + <li><a id="toc-Editing-1" href="#Editing">4.7.4 Editing</a></li> <li><a id="toc-Searching-and-Summarizing-1" href="#Searching-and-Summarizing">4.7.5 Searching and Summarizing</a></li> <li><a id="toc-Buttons-in-Mail-1" href="#Buttons-in-Mail">4.7.6 Buttons in Mail</a></li> <li><a id="toc-Buttons-in-News-1" href="#Buttons-in-News">4.7.7 Buttons in News</a></li> @@ -184,7 +184,7 @@ ul.no-bullet {list-style: none} <li><a id="toc-Creating-Outlines-1" href="#Creating-Outlines">7.2 Creating Outlines</a></li> <li><a id="toc-Autonumbering-1" href="#Autonumbering">7.3 Autonumbering</a></li> <li><a id="toc-Idstamps-1" href="#Idstamps">7.4 Idstamps</a></li> - <li><a id="toc-Editing-1" href="#Editing">7.5 Editing</a> + <li><a id="toc-Editing-Outlines-1" href="#Editing-Outlines">7.5 Editing Outlines</a> <ul class="no-bullet"> <li><a id="toc-Adding-and-Killing-1" href="#Adding-and-Killing">7.5.1 Adding and Killing</a></li> <li><a id="toc-Promoting-and-Demoting-1" href="#Promoting-and-Demoting">7.5.2 Promoting and Demoting</a></li> @@ -196,7 +196,7 @@ ul.no-bullet {list-style: none} <li><a id="toc-Inserting-and-Importing-1" href="#Inserting-and-Importing">7.5.8 Inserting and Importing</a></li> <li><a id="toc-Exporting-1" href="#Exporting">7.5.9 Exporting</a></li> </ul></li> - <li><a id="toc-Viewing-1" href="#Viewing">7.6 Viewing</a> + <li><a id="toc-Viewing-Outlines-1" href="#Viewing-Outlines">7.6 Viewing Outlines</a> <ul class="no-bullet"> <li><a id="toc-Hiding-and-Showing-1" href="#Hiding-and-Showing">7.6.1 Hiding and Showing</a></li> <li><a id="toc-View-Specs-1" href="#View-Specs">7.6.2 View Specs</a></li> @@ -370,7 +370,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P> <PRE> Edition 8.0.0pre -Printed February 12, 2022. +Printed February 20, 2022. Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -572,7 +572,7 @@ Utilizing Explicit Buttons </td></tr> <tr><td align="left" valign="top">• <a href="#Deletion">Deletion</a></td><td> </td><td align="left" valign="top"> </td></tr> -<tr><td align="left" valign="top">• <a href="#Modification">Modification</a></td><td> </td><td align="left" valign="top"> +<tr><td align="left" valign="top">• <a href="#Editing">Editing</a></td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Searching-and-Summarizing">Searching and Summarizing</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -600,9 +600,9 @@ Koutliner </td></tr> <tr><td align="left" valign="top">• <a href="#Idstamps">Idstamps</a></td><td> </td><td align="left" valign="top"> </td></tr> -<tr><td align="left" valign="top">• <a href="#Editing">Editing</a></td><td> </td><td align="left" valign="top"> +<tr><td align="left" valign="top">• <a href="#Editing-Outlines">Editing Outlines</a></td><td> </td><td align="left" valign="top"> </td></tr> -<tr><td align="left" valign="top">• <a href="#Viewing">Viewing</a></td><td> </td><td align="left" valign="top"> +<tr><td align="left" valign="top">• <a href="#Viewing-Outlines">Viewing Outlines</a></td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Links">Links</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -612,7 +612,7 @@ Koutliner </td></tr> <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> -Editing +Editing Outlines </pre></th></tr><tr><td align="left" valign="top">• <a href="#Adding-and-Killing">Adding and Killing</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -634,7 +634,7 @@ Editing </td></tr> <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> -Viewing +Viewing Outlines </pre></th></tr><tr><td align="left" valign="top">• <a href="#Hiding-and-Showing">Hiding and Showing</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -1334,15 +1334,18 @@ on a pathname to display the associated file or directory. <span id="index-change-key-bindings"></span> <span id="index-toggle-key-bindings"></span> <span id="index-key-bindings_002c-toggle"></span> +<span id="index-enable-Hyperbole"></span> <span id="index-disable-Hyperbole"></span> +<span id="index-Hyperbole-minibufer-menu"></span> <span id="index-C_002dh-h"></span> -<span id="index-X"></span> -<span id="index-q"></span> +<span id="index-C_002dh-h-X"></span> +<span id="index-C_002dh-h-q"></span> <p><kbd>{C-h h}</kbd> enables Hyperbole if it has been disabled and displays a Hyperbole menu in the minibuffer for quick keyboard or mouse-based selection. Select an item from this menu by typing the item’s first capital letter. Use <kbd>{q}</kbd> to quit from the minibuffer menu while leaving Hyperbole enabled. -Use<kbd>{X}</kbd> to quit from the minibuffer menu and disable Hyperbole minor mode. +Use<kbd>{X}</kbd> (note this is capitalized) to quit from the minibuffer menu +and disable Hyperbole minor mode. </p> <p>Use <kbd>{C-h h d d}</kbd> for an interactive demonstration of standard Hyperbole button capabilities. @@ -1657,6 +1660,7 @@ Hyperbole Key Press/Click in Special Modes Any Known Lisp or ChangeLog Jumps to identifier def Referent Doc Fortran Mode Jumps to identifier def Jumps to next def Emacs Lisp Compiler Error Jumps to def with error <- same + Emacs Regression Test (ERT) Jumps to def with error <- same Other Compiler Error Jumps to src error line <- same Grep or Occur Match Jumps to match source line <- same Multi-buffer Occur Match Jumps to match source line <- same @@ -2531,7 +2535,7 @@ this happen). A single button may also appear multiple times within the same buffer; simply copy the button label with its delimiters to a new location if you need another copy of it. </p> -<p>For details on how to create, activate, delete or modify explicit +<p>For details on how to create, activate, delete or edit explicit buttons, see <a href="#Utilizing-Explicit-Buttons">Utilizing Explicit Buttons</a>. </p> <span id="index-link-button-1"></span> @@ -2866,10 +2870,12 @@ program. Patch applies diffs to source code. <span id="index-byte-compiler-error"></span> <span id="index-Emacs-Lisp-compiler-error"></span> <span id="index-compiler-error"></span> +<span id="index-Emacs-Regression-Test-_0028ERT_0029-symbol"></span> </dd> <dt><code>elisp-compiler-msg</code></dt> -<dd><p>Jump to the source code for a definition associated with an Emacs Lisp -byte-compiler error message. This works anywhere within an error line. +<dd><p>Jump to source code for definition associated with an Emacs Lisp +byte-compiler error message or ERT test output line. Works when +activated anywhere within such a line. </p> <span id="index-ibtypes-debugger_002dsource"></span> <span id="index-gdb"></span> @@ -3892,7 +3898,7 @@ buttons. </td></tr> <tr><td align="left" valign="top">• <a href="#Deletion" accesskey="3">Deletion</a></td><td> </td><td align="left" valign="top"> </td></tr> -<tr><td align="left" valign="top">• <a href="#Modification" accesskey="4">Modification</a></td><td> </td><td align="left" valign="top"> +<tr><td align="left" valign="top">• <a href="#Editing" accesskey="4">Editing</a></td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Searching-and-Summarizing" accesskey="5">Searching and Summarizing</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -4070,7 +4076,7 @@ within your Emacs. Bind it within your <samp>~/.emacs</samp> file with: <hr> <span id="Deletion"></span><div class="header"> <p> -Next: <a href="#Modification" accesskey="n" rel="next">Modification</a>, Previous: <a href="#Renaming" accesskey="p" rel="prev">Renaming</a>, Up: <a href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit Buttons</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Editing" accesskey="n" rel="next">Editing</a>, Previous: <a href="#Renaming" accesskey="p" rel="prev">Renaming</a>, Up: <a href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit Buttons</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Deletion-1"></span><h4 class="subsection">4.7.3 Deletion</h4> @@ -4089,21 +4095,20 @@ interactively deleting explicit buttons. Set it to ‘<samp>nil</samp>&rsqu prefer no confirmation. </p> <hr> -<span id="Modification"></span><div class="header"> +<span id="Editing"></span><div class="header"> <p> Next: <a href="#Searching-and-Summarizing" accesskey="n" rel="next">Searching and Summarizing</a>, Previous: <a href="#Deletion" accesskey="p" rel="prev">Deletion</a>, Up: <a href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit Buttons</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Modification-1"></span><h4 class="subsection">4.7.4 Modification</h4> +<span id="Editing-1"></span><h4 class="subsection">4.7.4 Editing</h4> -<span id="index-explicit-button-modification"></span> -<span id="index-button-modification"></span> +<span id="index-explicit-button-editing"></span> +<span id="index-button-editing"></span> <span id="index-Smart-Mouse-Key-drag"></span> <span id="index-button-attributes"></span> -<p>Ebut/Modify prompts you with each of the elements from the button’s -attributes list and allows you to modify each in turn. Ebut/Edit does -the exact same thing and is there for people who prefer that term. +<p>Ebut/Edit prompts you with each of the elements from the button’s +attributes list and allows you to edit each in turn. </p> -<p>There is a quicker way to modify explicit link buttons, however. Simply +<p>There is a quicker way to edit explicit link buttons, however. Simply drag with the Action Mouse Key from within the button label to a link destination in a different window, just as you would when creating a new button with a mouse drag. Remember that drags may also be emulated from @@ -4112,7 +4117,7 @@ the keyboard. See <a href="#Creation">Creation</a>. <hr> <span id="Searching-and-Summarizing"></span><div class="header"> <p> -Next: <a href="#Buttons-in-Mail" accesskey="n" rel="next">Buttons in Mail</a>, Previous: <a href="#Modification" accesskey="p" rel="prev">Modification</a>, Up: <a href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit Buttons</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Buttons-in-Mail" accesskey="n" rel="next">Buttons in Mail</a>, Previous: <a href="#Editing" accesskey="p" rel="prev">Editing</a>, Up: <a href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit Buttons</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Searching-and-Summarizing-1"></span><h4 class="subsection">4.7.5 Searching and Summarizing</h4> @@ -4383,7 +4388,7 @@ item, including the action that it performs. "/" at the end of an ite indicates that it brings up a submenu. </p> <span id="index-C_002dt"></span> -<span id="index-q-1"></span> +<span id="index-q"></span> <span id="index-C_002dg"></span> <span id="index-menu_002c-top_002dlevel"></span> <span id="index-top_002dlevel-menu"></span> @@ -5097,7 +5102,7 @@ sizes by which to zoom. <span id="index-Q"></span> </dd> <dt><kbd>{Q}</kbd></dt> -<dd><span id="index-q-2"></span> +<dd><span id="index-q-1"></span> </dd> <dt><kbd>{q}</kbd></dt> <dd><p>Press <kbd>{Q}</kbd> to globally quit HyControl mode and restore normal key bindings. @@ -5210,9 +5215,9 @@ commands available in the Koutliner. </td></tr> <tr><td align="left" valign="top">• <a href="#Idstamps" accesskey="4">Idstamps</a></td><td> </td><td align="left" valign="top"> </td></tr> -<tr><td align="left" valign="top">• <a href="#Editing" accesskey="5">Editing</a></td><td> </td><td align="left" valign="top"> +<tr><td align="left" valign="top">• <a href="#Editing-Outlines" accesskey="5">Editing Outlines</a></td><td> </td><td align="left" valign="top"> </td></tr> -<tr><td align="left" valign="top">• <a href="#Viewing" accesskey="6">Viewing</a></td><td> </td><td align="left" valign="top"> +<tr><td align="left" valign="top">• <a href="#Viewing-Outlines" accesskey="6">Viewing Outlines</a></td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Links" accesskey="7">Links</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -5399,7 +5404,7 @@ initialization file, <samp>~/.emacs</samp>, substituting for ‘your-separat <hr> <span id="Idstamps"></span><div class="header"> <p> -Next: <a href="#Editing" accesskey="n" rel="next">Editing</a>, Previous: <a href="#Autonumbering" accesskey="p" rel="prev">Autonumbering</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Editing-Outlines" accesskey="n" rel="next">Editing Outlines</a>, Previous: <a href="#Autonumbering" accesskey="p" rel="prev">Autonumbering</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Idstamps-1"></span><h3 class="section">7.4 Idstamps</h3> @@ -5428,11 +5433,11 @@ begin with a 0, as in 012, to distinguish them from relative ids. </p> <hr> -<span id="Editing"></span><div class="header"> +<span id="Editing-Outlines"></span><div class="header"> <p> -Next: <a href="#Viewing" accesskey="n" rel="next">Viewing</a>, Previous: <a href="#Idstamps" accesskey="p" rel="prev">Idstamps</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Viewing-Outlines" accesskey="n" rel="next">Viewing Outlines</a>, Previous: <a href="#Idstamps" accesskey="p" rel="prev">Idstamps</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Editing-1"></span><h3 class="section">7.5 Editing</h3> +<span id="Editing-Outlines-1"></span><h3 class="section">7.5 Editing Outlines</h3> <p>Text editing within the Koutliner works just as it does for other buffers, except when you need to deal with the structural components of @@ -5476,7 +5481,7 @@ selected region, since that will destroy the outline structure. <hr> <span id="Adding-and-Killing"></span><div class="header"> <p> -Next: <a href="#Promoting-and-Demoting" accesskey="n" rel="next">Promoting and Demoting</a>, Previous: <a href="#Editing" accesskey="p" rel="prev">Editing</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Promoting-and-Demoting" accesskey="n" rel="next">Promoting and Demoting</a>, Previous: <a href="#Editing-Outlines" accesskey="p" rel="prev">Editing Outlines</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Adding-and-Killing-1"></span><h4 class="subsection">7.5.1 Adding and Killing</h4> @@ -5511,7 +5516,7 @@ buffer with <kbd>{C-y}</kbd>. <hr> <span id="Promoting-and-Demoting"></span><div class="header"> <p> -Next: <a href="#Relocating-and-Copying" accesskey="n" rel="next">Relocating and Copying</a>, Previous: <a href="#Adding-and-Killing" accesskey="p" rel="prev">Adding and Killing</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Relocating-and-Copying" accesskey="n" rel="next">Relocating and Copying</a>, Previous: <a href="#Adding-and-Killing" accesskey="p" rel="prev">Adding and Killing</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Promoting-and-Demoting-1"></span><h4 class="subsection">7.5.2 Promoting and Demoting</h4> @@ -5593,7 +5598,7 @@ moves between fields within a table. <hr> <span id="Relocating-and-Copying"></span><div class="header"> <p> -Next: <a href="#Moving-Around" accesskey="n" rel="next">Moving Around</a>, Previous: <a href="#Promoting-and-Demoting" accesskey="p" rel="prev">Promoting and Demoting</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Moving-Around" accesskey="n" rel="next">Moving Around</a>, Previous: <a href="#Promoting-and-Demoting" accesskey="p" rel="prev">Promoting and Demoting</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Relocating-and-Copying-1"></span><h4 class="subsection">7.5.3 Relocating and Copying</h4> @@ -5694,7 +5699,7 @@ See <a href="#Inserting-and-Importing">Inserting and Importing</a>. <hr> <span id="Moving-Around"></span><div class="header"> <p> -Next: <a href="#Filling" accesskey="n" rel="next">Filling</a>, Previous: <a href="#Relocating-and-Copying" accesskey="p" rel="prev">Relocating and Copying</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Filling" accesskey="n" rel="next">Filling</a>, Previous: <a href="#Relocating-and-Copying" accesskey="p" rel="prev">Relocating and Copying</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Moving-Around-1"></span><h4 class="subsection">7.5.4 Moving Around</h4> @@ -5763,7 +5768,7 @@ cell or from one cell or tree to another. <hr> <span id="Filling"></span><div class="header"> <p> -Next: <a href="#Transposing" accesskey="n" rel="next">Transposing</a>, Previous: <a href="#Moving-Around" accesskey="p" rel="prev">Moving Around</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Transposing" accesskey="n" rel="next">Transposing</a>, Previous: <a href="#Moving-Around" accesskey="p" rel="prev">Moving Around</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Filling-1"></span><h4 class="subsection">7.5.5 Filling</h4> @@ -5808,7 +5813,7 @@ a ‘no-fill’ property, then your formatting will be lost. <hr> <span id="Transposing"></span><div class="header"> <p> -Next: <a href="#Splitting-and-Appending" accesskey="n" rel="next">Splitting and Appending</a>, Previous: <a href="#Filling" accesskey="p" rel="prev">Filling</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Splitting-and-Appending" accesskey="n" rel="next">Splitting and Appending</a>, Previous: <a href="#Filling" accesskey="p" rel="prev">Filling</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Transposing-1"></span><h4 class="subsection">7.5.6 Transposing</h4> @@ -5840,7 +5845,7 @@ fewer visible, it makes the current cell the last cell in the outline. <hr> <span id="Splitting-and-Appending"></span><div class="header"> <p> -Next: <a href="#Inserting-and-Importing" accesskey="n" rel="next">Inserting and Importing</a>, Previous: <a href="#Transposing" accesskey="p" rel="prev">Transposing</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Inserting-and-Importing" accesskey="n" rel="next">Inserting and Importing</a>, Previous: <a href="#Transposing" accesskey="p" rel="prev">Transposing</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Splitting-and-Appending-1"></span><h4 class="subsection">7.5.7 Splitting and Appending</h4> @@ -5872,7 +5877,7 @@ This helps maintain any special formatting the appended text may have. <hr> <span id="Inserting-and-Importing"></span><div class="header"> <p> -Next: <a href="#Exporting" accesskey="n" rel="next">Exporting</a>, Previous: <a href="#Splitting-and-Appending" accesskey="p" rel="prev">Splitting and Appending</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Exporting" accesskey="n" rel="next">Exporting</a>, Previous: <a href="#Splitting-and-Appending" accesskey="p" rel="prev">Splitting and Appending</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Inserting-and-Importing-1"></span><h4 class="subsection">7.5.8 Inserting and Importing</h4> @@ -5964,7 +5969,7 @@ information. <hr> <span id="Exporting"></span><div class="header"> <p> -Previous: <a href="#Inserting-and-Importing" accesskey="p" rel="prev">Inserting and Importing</a>, Up: <a href="#Editing" accesskey="u" rel="up">Editing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#Inserting-and-Importing" accesskey="p" rel="prev">Inserting and Importing</a>, Up: <a href="#Editing-Outlines" accesskey="u" rel="up">Editing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Exporting-1"></span><h4 class="subsection">7.5.9 Exporting</h4> @@ -6002,11 +6007,11 @@ Koutline buffer to a <samp>.html</samp> file of the same name. The output file not be displayed; you must display it manually, if desired. </p> <hr> -<span id="Viewing"></span><div class="header"> +<span id="Viewing-Outlines"></span><div class="header"> <p> -Next: <a href="#Links" accesskey="n" rel="next">Links</a>, Previous: <a href="#Editing" accesskey="p" rel="prev">Editing</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Links" accesskey="n" rel="next">Links</a>, Previous: <a href="#Editing-Outlines" accesskey="p" rel="prev">Editing Outlines</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Viewing-1"></span><h3 class="section">7.6 Viewing</h3> +<span id="Viewing-Outlines-1"></span><h3 class="section">7.6 Viewing Outlines</h3> <span id="index-outline_002c-viewing"></span> <span id="index-view"></span> @@ -6023,7 +6028,7 @@ effectively browse and study large amounts of material. <hr> <span id="Hiding-and-Showing"></span><div class="header"> <p> -Next: <a href="#View-Specs" accesskey="n" rel="next">View Specs</a>, Previous: <a href="#Viewing" accesskey="p" rel="prev">Viewing</a>, Up: <a href="#Viewing" accesskey="u" rel="up">Viewing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#View-Specs" accesskey="n" rel="next">View Specs</a>, Previous: <a href="#Viewing-Outlines" accesskey="p" rel="prev">Viewing Outlines</a>, Up: <a href="#Viewing-Outlines" accesskey="u" rel="up">Viewing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Hiding-and-Showing-1"></span><h4 class="subsection">7.6.1 Hiding and Showing</h4> @@ -6125,7 +6130,7 @@ point. Try it with either your mouse or with <kbd>{M-<span class="key">RET</spa <hr> <span id="View-Specs"></span><div class="header"> <p> -Previous: <a href="#Hiding-and-Showing" accesskey="p" rel="prev">Hiding and Showing</a>, Up: <a href="#Viewing" accesskey="u" rel="up">Viewing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#Hiding-and-Showing" accesskey="p" rel="prev">Hiding and Showing</a>, Up: <a href="#Viewing-Outlines" accesskey="u" rel="up">Viewing Outlines</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="View-Specs-1"></span><h4 class="subsection">7.6.2 View Specs</h4> @@ -6239,7 +6244,7 @@ cells below level one. <hr> <span id="Links"></span><div class="header"> <p> -Next: <a href="#Cell-Attributes" accesskey="n" rel="next">Cell Attributes</a>, Previous: <a href="#Viewing" accesskey="p" rel="prev">Viewing</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Cell-Attributes" accesskey="n" rel="next">Cell Attributes</a>, Previous: <a href="#Viewing-Outlines" accesskey="p" rel="prev">Viewing Outlines</a>, Up: <a href="#Koutliner" accesskey="u" rel="up">Koutliner</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index" rel="index">Index</a>]</p> </div> <span id="Links-1"></span><h3 class="section">7.7 Links</h3> @@ -9256,12 +9261,9 @@ Next: <a href="#Koutliner-Keys" accesskey="n" rel="next">Koutliner Keys</a>, Pre <span id="index-key-binding-list"></span> <p>This appendix covers two topics: 1. how to bind Hyperbole minibuffer menu items to global keys and 2. summaries of all of Hyperbole’s -key bindings and whether each overrides any existing binding or -not. It also describes how to temporarily disable these bindings and -how to manage whether Hyperbole overrides local, mode-specific key -bindings that hide global Hyperbole keys. -</p> -<table class="menu" border="0" cellspacing="0"> +default key bindings. User-specific Hyperbole key binding customizations +override Hyperbole’s defaults. +</p><table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top">• <a href="#Binding-Minibuffer-Menu-Items" accesskey="1">Binding Minibuffer Menu Items</a></td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Default-Hyperbole-Bindings" accesskey="2">Default Hyperbole Bindings</a></td><td> </td><td align="left" valign="top"> @@ -9326,7 +9328,7 @@ keymap, <code>hyperbole-mode-map</code>. </dd> <dt><kbd>{C-c \}</kbd></dt> <dd><p>HyControl: Control windows, frames and buffer display. This binding -is made only if the key is not bound prior to loading Hyperbole. +is made only if the key is not bound prior to initializing Hyperbole. </p> <span id="index-C_002dc-_002f-1"></span> <span id="index-C_002dh-h-f-w-1"></span> @@ -9340,20 +9342,25 @@ is made only if the key is not bound prior to loading Hyperbole. <dd><p>Search the Web: Display a minibuffer menu of web search engines. Once an engine is selected, prompt for a search term and perform the associated search. This binding is made only if the key is not bound -prior to loading Hyperbole; otherwise, the Find/Web minibuffer menu +prior to initializing Hyperbole; otherwise, the Find/Web minibuffer menu item, <kbd>{C-h h f w}</kbd>, will do the same thing. </p> <span id="index-C_002dc-_0040"></span> <span id="index-key-binding_002c-C_002dc-_0040"></span> <span id="index-windows-grid-1"></span> <span id="index-grid-of-windows-1"></span> +<span id="index-C_002dh-h-h"></span> +<span id="index-restore-frame-configuration"></span> +<span id="index-frame-configuration_002c-restore"></span> +<span id="index-restore-window-configuration"></span> +<span id="index-window-configuration_002c-restore"></span> <span id="index-C_002dc-_0040-1"></span> </dd> <dt><kbd>{C-c @}</kbd></dt> <dd><p>Display a grid of windows in the selected frame, sized according to the prefix argument. The left digit of the argument is the number of grid rows -and the right digit is the number of grid columns. The argument is -prompted for if not given. +and the right digit is the number of grid columns. Use <kbd>{C-h h h}</kbd> to +restore the prior frame configuration. </p> <p>If the argument is 0, prompt for a major mode whose buffers should be displayed first in the grid windows, then prompt for the grid size. @@ -9361,7 +9368,7 @@ displayed first in the grid windows, then prompt for the grid size. <p>If the argument is < 0, prompt for a shell glob-type file pattern and display files that match the pattern in an auto-sized windows grid. </p> -<p>This binding is made only if the key is not bound prior to loading Hyperbole. +<p>This binding is made only if the key is not bound prior to initializing Hyperbole. </p> <p>For further details, see the <kbd>{@}</kbd> key binding description in <a href="#HyControl">HyControl</a>. @@ -9372,19 +9379,26 @@ in <a href="#HyControl">HyControl</a>. <dt><kbd>{M-o}</kbd></dt> <dd><p>Drag Operation: Keyboard emulation of the start and stop of mouse drags to invoke Smart Key actions. This binding is made only if the -key is not bound prior to loading Hyperbole and if Emacs is run under +key is not bound prior to initializing Hyperbole and if Emacs is run under a window system. If the Ace Window package is loaded, then Ace Window commands are typically bound to <kbd>{M-o}</kbd> instead. Then <kbd>{M-o w}</kbd> -may be used to quickly create an explicit link button in the selected window that -links to any other window chosen via the Ace Window prompt. +may be used to quickly create an explicit link button in the selected window +that links to any other window chosen via the Ace Window prompt. </p> <span id="index-key-binding_002c-C_002dh-h"></span> <span id="index-C_002dh-h-2"></span> </dd> <dt><kbd>{C-h h}</kbd></dt> -<dd><p>Hyperbole Mini Menu: Invoke the Hyperbole minibuffer menu, giving -access to many Hyperbole commands. This is bound globally as a means -of enabling Hyperbole minor mode. +<dd><span id="index-C_002dh-h-X-1"></span> +</dd> +<dt><kbd>{C-h h X}</kbd></dt> +<dd><span id="index-Hyperbole-minibuffer-menu"></span> +<span id="index-enable-Hyperbole-1"></span> +<span id="index-disable-Hyperbole-1"></span> +<p>Hyperbole Mini Menu: Enable Hyperbole minor mode and invoke the +Hyperbole minibuffer menu, giving access to many Hyperbole commands. +This is bound globally. Use <kbd>{C-h h X}</kbd> to close the Hyperbole +minibuffer menu and disable Hyperbole minor mode. </p> <span id="index-key-binding_002c-C_002dh-A"></span> <span id="index-key-binding_002c-C_002du-C_002dh-A"></span> @@ -9405,7 +9419,7 @@ of enabling Hyperbole minor mode. when invoked repeatedly, showing in the minibuffer the type of unit marked each time. For example, if on an opening brace at the start of a C, Java or Javascript function, this marks the whole function. This -binding is made only if the key is not bound prior to loading +binding is made only if the key is not bound prior to initializing Hyperbole. </p> <span id="index-key-binding_002c-C_002dc-_002e"></span> @@ -9414,7 +9428,7 @@ Hyperbole. <dt><kbd>{C-c .}</kbd></dt> <dd><p>Delimited Thing Jump: Jump between the start and end of a delimited thing, which may be an HTML tag pair. This binding is made only if -the key is not bound prior to loading Hyperbole. See <a href="#Smart-Key-Thing-Selection">Smart Key Thing Selection</a>, for more information. +the key is not bound prior to initializing Hyperbole. See <a href="#Smart-Key-Thing-Selection">Smart Key Thing Selection</a>, for more information. </p></dd> </dl> @@ -12613,8 +12627,6 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <a class="summary-letter" href="#Key-Index_ky_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Key-Index_ky_letter-X"><b>X</b></a> - <a class="summary-letter" href="#Key-Index_ky_letter-Z"><b>Z</b></a> </td></tr></table> @@ -12732,6 +12744,7 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <tr><td></td><td valign="top"><a href="#index-C_002dh-h-f-w"><code>C-h h f w</code></a>:</td><td> </td><td valign="top"><a href="#Web-Search-Engines">Web Search Engines</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-f-w-1"><code>C-h h f w</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-C_002dh-h-g"><code>C-h h g</code></a>:</td><td> </td><td valign="top"><a href="#Global-Buttons">Global Buttons</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-C_002dh-h-h"><code>C-h h h</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-C_002dh-h-i-a"><code>C-h h i a</code></a>:</td><td> </td><td valign="top"><a href="#Implicit-Buttons">Implicit Buttons</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-i-e"><code>C-h h i e</code></a>:</td><td> </td><td valign="top"><a href="#Implicit-Buttons">Implicit Buttons</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-i-l"><code>C-h h i l</code></a>:</td><td> </td><td valign="top"><a href="#Implicit-Buttons">Implicit Buttons</a></td></tr> @@ -12742,8 +12755,11 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <tr><td></td><td valign="top"><a href="#index-C_002dh-h-k-f-k"><code>C-h h k f k</code></a>:</td><td> </td><td valign="top"><a href="#Exporting">Exporting</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-m-c"><code>C-h h m c</code></a>:</td><td> </td><td valign="top"><a href="#Smart-Key-Debugging">Smart Key Debugging</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-m-r"><code>C-h h m r</code></a>:</td><td> </td><td valign="top"><a href="#Smart-Key-Debugging">Smart Key Debugging</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-C_002dh-h-q"><code>C-h h q</code></a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-s-f"><code>C-h h s f</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dh-h-s-w"><code>C-h h s w</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-C_002dh-h-X"><code>C-h h X</code></a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-C_002dh-h-X-1"><code>C-h h X</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-C_002dh-t"><code>C-h t</code></a>:</td><td> </td><td valign="top"><a href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr> <tr><td></td><td valign="top"><a href="#index-C_002dM_002dh"><code>C-M-h</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-C_002dM_002dx"><code>C-M-x</code></a>:</td><td> </td><td valign="top"><a href="#Creating-Types">Creating Types</a></td></tr> @@ -12870,10 +12886,9 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <tr><td></td><td valign="top"><a href="#index-p-1"><code>p</code></a>:</td><td> </td><td valign="top"><a href="#HyRolo-Keys">HyRolo Keys</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Key-Index_ky_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-q"><code>q</code></a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-q-1"><code>q</code></a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-q"><code>q</code></a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Q"><code>Q</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-q-2"><code>q</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-q-1"><code>q</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Key-Index_ky_letter-R">R</th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-r"><code>r</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> @@ -12980,9 +12995,6 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <tr><td></td><td valign="top"><a href="#index-w"><code>w</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td></td><td valign="top"><a href="#index-W"><code>W</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td colspan="4"> <hr></td></tr> -<tr><th id="Key-Index_ky_letter-X">X</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-X"><code>X</code></a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> <tr><th id="Key-Index_ky_letter-Z">Z</th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-Z"><code>Z</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td></td><td valign="top"><a href="#index-z"><code>z</code></a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> @@ -13057,8 +13069,6 @@ Next: <a href="#Function" accesskey="n" rel="next">Function</a>, Previous: <a hr <a class="summary-letter" href="#Key-Index_ky_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Key-Index_ky_letter-X"><b>X</b></a> - <a class="summary-letter" href="#Key-Index_ky_letter-Z"><b>Z</b></a> </td></tr></table> @@ -13843,7 +13853,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-button-action">button action</a>:</td><td> </td><td valign="top"><a href="#Action-Types">Action Types</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-activation">button activation</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-Operations">Smart Key Operations</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-attribute">button attribute</a>:</td><td> </td><td valign="top"><a href="#Explicit-Buttons">Explicit Buttons</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-button-attributes">button attributes</a>:</td><td> </td><td valign="top"><a href="#Modification">Modification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-button-attributes">button attributes</a>:</td><td> </td><td valign="top"><a href="#Editing">Editing</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-attributes-1">button attributes</a>:</td><td> </td><td valign="top"><a href="#Operational-and-Storage-Formats">Operational and Storage Formats</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-category">button category</a>:</td><td> </td><td valign="top"><a href="#Buttons">Buttons</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-click">button click</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Hyperbole-Buttons">Smart Key - Hyperbole Buttons</a></td></tr> @@ -13852,6 +13862,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-button-data-saving">button data saving</a>:</td><td> </td><td valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-deletion">button deletion</a>:</td><td> </td><td valign="top"><a href="#Deletion">Deletion</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-demo">button demo</a>:</td><td> </td><td valign="top"><a href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-button-editing">button editing</a>:</td><td> </td><td valign="top"><a href="#Editing">Editing</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-emphasis">button emphasis</a>:</td><td> </td><td valign="top"><a href="#Button-Colors">Button Colors</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-file_002c-directory">button file, directory</a>:</td><td> </td><td valign="top"><a href="#Button-Files">Button Files</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-file_002c-HYPB">button file, HYPB</a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> @@ -13870,7 +13881,6 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-button-label-2">button label</a>:</td><td> </td><td valign="top"><a href="#Button-Label-Normalization">Button Label Normalization</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-label-overlap">button label overlap</a>:</td><td> </td><td valign="top"><a href="#Button-Type-Precedence">Button Type Precedence</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-mailing">button mailing</a>:</td><td> </td><td valign="top"><a href="#Buttons-in-Mail">Buttons in Mail</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-button-modification">button modification</a>:</td><td> </td><td valign="top"><a href="#Modification">Modification</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-name">button name</a>:</td><td> </td><td valign="top"><a href="#Explicit-Buttons">Explicit Buttons</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-posting">button posting</a>:</td><td> </td><td valign="top"><a href="#Buttons-in-Mail">Buttons in Mail</a></td></tr> <tr><td></td><td valign="top"><a href="#index-button-posting-1">button posting</a>:</td><td> </td><td valign="top"><a href="#Buttons-in-News">Buttons in News</a></td></tr> @@ -13914,7 +13924,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-cell_002c-no_002dfill-attribute">cell, no-fill attribute</a>:</td><td> </td><td valign="top"><a href="#Filling">Filling</a></td></tr> <tr><td></td><td valign="top"><a href="#index-cell_002c-no_002dfill-attribute-1">cell, no-fill attribute</a>:</td><td> </td><td valign="top"><a href="#Splitting-and-Appending">Splitting and Appending</a></td></tr> <tr><td></td><td valign="top"><a href="#index-cell_002c-no_002dfill-attribute-2">cell, no-fill attribute</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-cell_002c-selection">cell, selection</a>:</td><td> </td><td valign="top"><a href="#Editing">Editing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cell_002c-selection">cell, selection</a>:</td><td> </td><td valign="top"><a href="#Editing-Outlines">Editing Outlines</a></td></tr> <tr><td></td><td valign="top"><a href="#index-cell_002c-show-all">cell, show all</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-cell_002c-show-levels">cell, show levels</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-cell_002c-show-subtree">cell, show subtree</a>:</td><td> </td><td valign="top"><a href="#Hiding-and-Showing">Hiding and Showing</a></td></tr> @@ -14013,6 +14023,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-dired_002c-images">dired, images</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Image-Thumbnails">Smart Key - Image Thumbnails</a></td></tr> <tr><td></td><td valign="top"><a href="#index-dired_002dsidebar_002dmode">dired-sidebar-mode</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Dired-Sidebar-Mode">Smart Key - Dired Sidebar Mode</a></td></tr> <tr><td></td><td valign="top"><a href="#index-disable-Hyperbole">disable Hyperbole</a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-disable-Hyperbole-1">disable Hyperbole</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-disable-hyperbole-key-bindings">disable hyperbole key bindings</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-disable-org_002dmode-support">disable org-mode support</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-display">display</a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> @@ -14071,9 +14082,12 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-Emacs-Lisp-variables-1">Emacs Lisp variables</a>:</td><td> </td><td valign="top"><a href="#Link-Variable-Substitution">Link Variable Substitution</a></td></tr> <tr><td></td><td valign="top"><a href="#index-emacs-outline">emacs outline</a>:</td><td> </td><td valign="top"><a href="#Inserting-and-Importing">Inserting and Importing</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Emacs-package-manager">Emacs package manager</a>:</td><td> </td><td valign="top"><a href="#Elpa-Stable-Package-Installation">Elpa Stable Package Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Emacs-Regression-Test-_0028ERT_0029-symbol">Emacs Regression Test (ERT) symbol</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-Emacs-Regression-Test-framework">Emacs Regression Test framework</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-Emacs-support">Emacs support</a>:</td><td> </td><td valign="top"><a href="#Button-Colors">Button Colors</a></td></tr> <tr><td></td><td valign="top"><a href="#index-emulation_002c-drag">emulation, drag</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-enable-Hyperbole">enable Hyperbole</a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-enable-Hyperbole-1">enable Hyperbole</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-enable-org_002dmode-support">enable org-mode support</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-enabling-URLs-in-find_002dfile">enabling URLs in find-file</a>:</td><td> </td><td valign="top"><a href="#Using-URLs-with-Find_002dFile">Using URLs with Find-File</a></td></tr> <tr><td></td><td valign="top"><a href="#index-end-of-line-click">end of line click</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Smart-Scrolling">Smart Key - Smart Scrolling</a></td></tr> @@ -14091,9 +14105,9 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-explicit-button-1">explicit button</a>:</td><td> </td><td valign="top"><a href="#Explicit-Buttons">Explicit Buttons</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-creation">explicit button creation</a>:</td><td> </td><td valign="top"><a href="#By-Dragging">By Dragging</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-deletion">explicit button deletion</a>:</td><td> </td><td valign="top"><a href="#Deletion">Deletion</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-explicit-button-editing">explicit button editing</a>:</td><td> </td><td valign="top"><a href="#Editing">Editing</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-formats">explicit button formats</a>:</td><td> </td><td valign="top"><a href="#Operational-and-Storage-Formats">Operational and Storage Formats</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-link">explicit button link</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-explicit-button-modification">explicit button modification</a>:</td><td> </td><td valign="top"><a href="#Modification">Modification</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-renaming">explicit button renaming</a>:</td><td> </td><td valign="top"><a href="#Renaming">Renaming</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-searching">explicit button searching</a>:</td><td> </td><td valign="top"><a href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr> <tr><td></td><td valign="top"><a href="#index-explicit-button-storage">explicit button storage</a>:</td><td> </td><td valign="top"><a href="#Operational-and-Storage-Formats">Operational and Storage Formats</a></td></tr> @@ -14123,6 +14137,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-find_002dfile_002c-browsing-URLs">find-file, browsing URLs</a>:</td><td> </td><td valign="top"><a href="#Using-URLs-with-Find_002dFile">Using URLs with Find-File</a></td></tr> <tr><td></td><td valign="top"><a href="#index-flashing-buttons">flashing buttons</a>:</td><td> </td><td valign="top"><a href="#Button-Colors">Button Colors</a></td></tr> <tr><td></td><td valign="top"><a href="#index-frame-configuration">frame configuration</a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-frame-configuration_002c-restore">frame configuration, restore</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-frame-relocate">frame relocate</a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td></td><td valign="top"><a href="#index-frame-resize">frame resize</a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td></td><td valign="top"><a href="#index-frame_002c-delete">frame, delete</a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> @@ -14218,6 +14233,8 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-Hyperbole-main-menu">Hyperbole main menu</a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Hyperbole-manual">Hyperbole manual</a>:</td><td> </td><td valign="top"><a href="#Documentation">Documentation</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Hyperbole-menubar-menu">Hyperbole menubar menu</a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Hyperbole-minibufer-menu">Hyperbole minibufer menu</a>:</td><td> </td><td valign="top"><a href="#Invocation">Invocation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Hyperbole-minibuffer-menu">Hyperbole minibuffer menu</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-hyperbole-popup-menu">hyperbole popup menu</a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Hyperbole-pulldown-menu">Hyperbole pulldown menu</a>:</td><td> </td><td valign="top"><a href="#Menus">Menus</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Hyperbole-report">Hyperbole report</a>:</td><td> </td><td valign="top"><a href="#Implicit-Button-Types">Implicit Button Types</a></td></tr> @@ -14612,7 +14629,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-outline_002c-showing">outline, showing</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-outline_002c-top_002dlevel">outline, top-level</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-outline_002c-view-specs">outline, view specs</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-outline_002c-viewing">outline, viewing</a>:</td><td> </td><td valign="top"><a href="#Viewing">Viewing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-outline_002c-viewing">outline, viewing</a>:</td><td> </td><td valign="top"><a href="#Viewing-Outlines">Viewing Outlines</a></td></tr> <tr><td></td><td valign="top"><a href="#index-outline_002dminor_002dmode">outline-minor-mode</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Emacs-Outline-Mode">Smart Key - Emacs Outline Mode</a></td></tr> <tr><td></td><td valign="top"><a href="#index-outline_002dmode">outline-mode</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Emacs-Outline-Mode">Smart Key - Emacs Outline Mode</a></td></tr> <tr><td></td><td valign="top"><a href="#index-outliner">outliner</a>:</td><td> </td><td valign="top"><a href="#Koutliner">Koutliner</a></td></tr> @@ -14677,6 +14694,8 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-Request-For-Comment-1">Request For Comment</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-resize-frame-percentage">resize frame percentage</a>:</td><td> </td><td valign="top"><a href="#HyControl">HyControl</a></td></tr> <tr><td></td><td valign="top"><a href="#index-resizing-windows">resizing windows</a>:</td><td> </td><td valign="top"><a href="#Resizing-Windows">Resizing Windows</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-restore-frame-configuration">restore frame configuration</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-restore-window-configuration">restore window configuration</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-restoring-windows">restoring windows</a>:</td><td> </td><td valign="top"><a href="#Window-Configurations">Window Configurations</a></td></tr> <tr><td></td><td valign="top"><a href="#index-RFC">RFC</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-RFC-1">RFC</a>:</td><td> </td><td valign="top"><a href="#Implicit-Button-Types">Implicit Button Types</a></td></tr> @@ -14761,7 +14780,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key">Smart Mouse Key</a>:</td><td> </td><td valign="top"><a href="#Thing-Selection">Thing Selection</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-1">Smart Mouse Key</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited Things</a></td></tr> <tr><td></td><td valign="top"><a href="#index-smart-mouse-key-drag">smart mouse key drag</a>:</td><td> </td><td valign="top"><a href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-drag">Smart Mouse Key drag</a>:</td><td> </td><td valign="top"><a href="#Modification">Modification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-drag">Smart Mouse Key drag</a>:</td><td> </td><td valign="top"><a href="#Editing">Editing</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-toggle">Smart Mouse Key toggle</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-Smart-Mouse-Keys">Smart Mouse Keys</a>:</td><td> </td><td valign="top"><a href="#Smart-Mouse-Keys">Smart Mouse Keys</a></td></tr> <tr><td></td><td valign="top"><a href="#index-smart-selection">smart selection</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-Thing-Selection">Smart Key Thing Selection</a></td></tr> @@ -14871,7 +14890,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-version-description">version description</a>:</td><td> </td><td valign="top"><a href="#Suggestion-or-Bug-Reporting">Suggestion or Bug Reporting</a></td></tr> <tr><td></td><td valign="top"><a href="#index-vertical-drag">vertical drag</a>:</td><td> </td><td valign="top"><a href="#Creating-and-Deleting-Windows">Creating and Deleting Windows</a></td></tr> <tr><td></td><td valign="top"><a href="#index-vertical-drag-1">vertical drag</a>:</td><td> </td><td valign="top"><a href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a Window</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-view">view</a>:</td><td> </td><td valign="top"><a href="#Viewing">Viewing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-view">view</a>:</td><td> </td><td valign="top"><a href="#Viewing-Outlines">Viewing Outlines</a></td></tr> <tr><td></td><td valign="top"><a href="#index-view-mode">view mode</a>:</td><td> </td><td valign="top"><a href="#Smart-Key-_002d-View-Mode">Smart Key - View Mode</a></td></tr> <tr><td></td><td valign="top"><a href="#index-view-spec">view spec</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-view-spec_002c-all-lines-and-levels">view spec, all lines and levels</a>:</td><td> </td><td valign="top"><a href="#View-Specs">View Specs</a></td></tr> @@ -14902,6 +14921,7 @@ Previous: <a href="#Function" accesskey="p" rel="prev">Function</a>, Up: <a href <tr><td></td><td valign="top"><a href="#index-window-configuration-commands">window configuration commands</a>:</td><td> </td><td valign="top"><a href="#Window-Configurations">Window Configurations</a></td></tr> <tr><td></td><td valign="top"><a href="#index-window-configuration-drag">window configuration drag</a>:</td><td> </td><td valign="top"><a href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window Configurations</a></td></tr> <tr><td></td><td valign="top"><a href="#index-window-configuration-ring">window configuration ring</a>:</td><td> </td><td valign="top"><a href="#Window-Configurations">Window Configurations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-window-configuration_002c-restore">window configuration, restore</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-window-configurations">window configurations</a>:</td><td> </td><td valign="top"><a href="#Window-Configurations">Window Configurations</a></td></tr> <tr><td></td><td valign="top"><a href="#index-window-link-button">window link button</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-window-system">window system</a>:</td><td> </td><td valign="top"><a href="#External-Viewers">External Viewers</a></td></tr> diff --git a/man/hyperbole.info b/man/hyperbole.info index d8ba314d15..40997ef12f 100644 Binary files a/man/hyperbole.info and b/man/hyperbole.info differ diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf index eef2f38065..fb07179c6a 100644 Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ diff --git a/man/hyperbole.texi b/man/hyperbole.texi index 0ba257fd88..2f53f945b7 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: 20-Feb-22 at 15:50:00 by Bob Weiner +@c Last-Mod: 20-Feb-22 at 22:50:22 by Bob Weiner @c %**start of header (This is for running Texinfo on a region.) @setfilename hyperbole.info @@ -335,7 +335,7 @@ Utilizing Explicit Buttons * Creation:: * Renaming:: * Deletion:: -* Modification:: +* Editing:: * Searching and Summarizing:: * Buttons in Mail:: * Buttons in News:: @@ -351,13 +351,13 @@ Koutliner * Creating Outlines:: * Autonumbering:: * Idstamps:: -* Editing:: -* Viewing:: +* Editing Outlines:: +* Viewing Outlines:: * Links:: * Cell Attributes:: * Koutliner History:: -Editing +Editing Outlines * Adding and Killing:: * Promoting and Demoting:: @@ -369,7 +369,7 @@ Editing * Inserting and Importing:: * Exporting:: -Viewing +Viewing Outlines * Hiding and Showing:: * View Specs:: @@ -1946,7 +1946,7 @@ this happen). A single button may also appear multiple times within the same buffer; simply copy the button label with its delimiters to a new location if you need another copy of it. -For details on how to create, activate, delete or modify explicit +For details on how to create, activate, delete or edit explicit buttons, @pxref{Utilizing Explicit Buttons}. @cindex link button @@ -3192,7 +3192,7 @@ buttons. * Creation:: * Renaming:: * Deletion:: -* Modification:: +* Editing:: * Searching and Summarizing:: * Buttons in Mail:: * Buttons in News:: @@ -3346,7 +3346,7 @@ within your Emacs. Bind it within your @file{~/.emacs} file with: @code{(hkey-set-key "\C-cr" 'hui:ebut-rename)}, for example. -@node Deletion, Modification, Renaming, Utilizing Explicit Buttons +@node Deletion, Editing, Renaming, Utilizing Explicit Buttons @subsection Deletion @cindex explicit button deletion @@ -3363,24 +3363,23 @@ is true by default, causing Hyperbole to require confirmation before interactively deleting explicit buttons. Set it to @samp{nil} if you prefer no confirmation. -@node Modification, Searching and Summarizing, Deletion, Utilizing Explicit Buttons -@subsection Modification +@node Editing, Searching and Summarizing, Deletion, Utilizing Explicit Buttons +@subsection Editing -@cindex explicit button modification -@cindex button modification +@cindex explicit button editing +@cindex button editing @cindex Smart Mouse Key drag @cindex button attributes -Ebut/Modify prompts you with each of the elements from the button's -attributes list and allows you to modify each in turn. Ebut/Edit does -the exact same thing and is there for people who prefer that term. +Ebut/Edit prompts you with each of the elements from the button's +attributes list and allows you to edit each in turn. -There is a quicker way to modify explicit link buttons, however. Simply +There is a quicker way to edit explicit link buttons, however. Simply drag with the Action Mouse Key from within the button label to a link destination in a different window, just as you would when creating a new button with a mouse drag. Remember that drags may also be emulated from the keyboard. @xref{Creation}. -@node Searching and Summarizing, Buttons in Mail, Modification, Utilizing Explicit Buttons +@node Searching and Summarizing, Buttons in Mail, Editing, Utilizing Explicit Buttons @subsection Searching and Summarizing @cindex explicit button summary @@ -4373,8 +4372,8 @@ commands available in the Koutliner. * Creating Outlines:: * Autonumbering:: * Idstamps:: -* Editing:: -* Viewing:: +* Editing Outlines:: +* Viewing Outlines:: * Links:: * Cell Attributes:: * Koutliner History:: @@ -4545,7 +4544,7 @@ initialization file, @file{~/.emacs}, substituting for `your-separator': @end lisp -@node Idstamps, Editing, Autonumbering, Koutliner +@node Idstamps, Editing Outlines, Autonumbering, Koutliner @section Idstamps @cindex permanent identifier @@ -4572,8 +4571,8 @@ outline may be treated as a single tree when needed. Idstamps always begin with a 0, as in 012, to distinguish them from relative ids. -@node Editing, Viewing, Idstamps, Koutliner -@section Editing +@node Editing Outlines, Viewing Outlines, Idstamps, Koutliner +@section Editing Outlines Text editing within the Koutliner works just as it does for other buffers, except when you need to deal with the structural components of @@ -4605,7 +4604,7 @@ selected region, since that will destroy the outline structure. * Exporting:: @end menu -@node Adding and Killing, Promoting and Demoting, Editing, Editing +@node Adding and Killing, Promoting and Demoting, Editing Outlines, Editing Outlines @subsection Adding and Killing @kindex koutliner, C-j @@ -4636,7 +4635,7 @@ kills the entire contents of the cell regardless of the location of point. You may then yank the contents into another cell or another buffer with @bkbd{C-y}. -@node Promoting and Demoting, Relocating and Copying, Adding and Killing, Editing +@node Promoting and Demoting, Relocating and Copying, Adding and Killing, Editing Outlines @subsection Promoting and Demoting @cindex promotion @@ -4715,7 +4714,7 @@ moves between fields within a table. |----------------------------+-----------------------------| @end example -@node Relocating and Copying, Moving Around, Promoting and Demoting, Editing +@node Relocating and Copying, Moving Around, Promoting and Demoting, Editing Outlines @subsection Relocating and Copying @cindex tree, copying @@ -4790,7 +4789,7 @@ koutline with the @bkbd{M-x kimport:text @key{RET}} command. @xref{Inserting and Importing}. -@node Moving Around, Filling, Relocating and Copying, Editing +@node Moving Around, Filling, Relocating and Copying, Editing Outlines @subsection Moving Around @cindex outline, motion @@ -4830,7 +4829,7 @@ Move to the last cell in the tree rooted at point, regardless of level. @end table -@node Filling, Transposing, Moving Around, Editing +@node Filling, Transposing, Moving Around, Editing Outlines @subsection Filling @cindex outline, filling @@ -4871,7 +4870,7 @@ happen to move a cell that you carefully formatted yet forgot to give a `no-fill' property, then your formatting will be lost. -@node Transposing, Splitting and Appending, Filling, Editing +@node Transposing, Splitting and Appending, Filling, Editing Outlines @subsection Transposing The Koutliner move and copy commands rearrange entire trees. The @@ -4899,7 +4898,7 @@ the current tree maximally past the next N visible cells. If there are fewer visible, it makes the current cell the last cell in the outline. -@node Splitting and Appending, Inserting and Importing, Transposing, Editing +@node Splitting and Appending, Inserting and Importing, Transposing, Editing Outlines @subsection Splitting and Appending @cindex splitting a cell @@ -4927,7 +4926,7 @@ cell has a `no-fill' attribute, which prevents all but user requested filling of a cell, then the cell appended to inherits this property. This helps maintain any special formatting the appended text may have. -@node Inserting and Importing, Exporting, Splitting and Appending, Editing +@node Inserting and Importing, Exporting, Splitting and Appending, Editing Outlines @subsection Inserting and Importing @cindex outline, inserting into @@ -5015,7 +5014,7 @@ prompted for the Augment buffer or file to import and the koutline to create. See @url{https://dougengelbart.org/content/view/148/} for more information. -@node Exporting, , Inserting and Importing, Editing +@node Exporting, , Inserting and Importing, Editing Outlines @subsection Exporting @cindex outline, exporting @@ -5051,8 +5050,8 @@ You must display it manually, if desired. Koutline buffer to a @file{.html} file of the same name. The output file will not be displayed; you must display it manually, if desired. -@node Viewing, Links, Editing, Koutliner -@section Viewing +@node Viewing Outlines, Links, Editing Outlines, Koutliner +@section Viewing Outlines @cindex outline, viewing @cindex view @@ -5064,7 +5063,7 @@ effectively browse and study large amounts of material. * View Specs:: @end menu -@node Hiding and Showing, View Specs, Viewing, Viewing +@node Hiding and Showing, View Specs, Viewing Outlines, Viewing Outlines @subsection Hiding and Showing @cindex outline, hiding @@ -5159,7 +5158,7 @@ Hyperbole button, toggles between hiding and showing the tree rooted at point. Try it with either your mouse or with @bkbd{M-@key{RET}}. -@node View Specs, , Hiding and Showing, Viewing +@node View Specs, , Hiding and Showing, Viewing Outlines @subsection View Specs @cindex view spec @@ -5259,7 +5258,7 @@ Then use @bkbd{C-c C-v} to set a view spec of `c2l1'. This will turn off blank lines, clip each cell after its second line, and hide all cells below level one. -@node Links, Cell Attributes, Viewing, Koutliner +@node Links, Cell Attributes, Viewing Outlines, Koutliner @section Links @cindex link @@ -8022,11 +8021,16 @@ item, @bkbd{C-h h f w}, will do the same thing. @cindex key binding, C-c @@ @cindex windows grid @cindex grid of windows +@kindex C-h h h +@cindex restore frame configuration +@cindex frame configuration, restore +@cindex restore window configuration +@cindex window configuration, restore @kitem C-c @@ Display a grid of windows in the selected frame, sized according to the prefix argument. The left digit of the argument is the number of grid rows -and the right digit is the number of grid columns. The argument is -prompted for if not given. +and the right digit is the number of grid columns. Use @bkbd{C-h h h} to +restore the prior frame configuration. If the argument is 0, prompt for a major mode whose buffers should be displayed first in the grid windows, then prompt for the grid size. @@ -8051,7 +8055,7 @@ that links to any other window chosen via the Ace Window prompt. @cindex key binding, C-h h @kitem C-h h -@kinem C-h h X +@kitem C-h h X @cindex Hyperbole minibuffer menu @cindex enable Hyperbole @cindex disable Hyperbole diff --git a/test/hui-tests.el b/test/hui-tests.el index 8e9308b48e..f3ad751fdd 100644 --- a/test/hui-tests.el +++ b/test/hui-tests.el @@ -3,7 +3,7 @@ ;; Author: Mats Lidell <ma...@gnu.org> ;; ;; Orig-Date: 30-Jan-21 at 12:00:00 -;; Last-Mod: 12-Feb-22 at 11:20:05 by Bob Weiner +;; Last-Mod: 20-Feb-22 at 22:22:23 by Bob Weiner ;; ;; Copyright (C) 2021-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -25,7 +25,7 @@ (declare-function hy-test-helpers:consume-input-events "hy-test-helpers") -(ert-deftest hui-gbut-modify-link-to-file-button () +(ert-deftest hui-gbut-edit-link-to-file-button () "A global button with action type link-to-file shall be possible to edit." (skip-unless (not noninteractive)) (let* ((enable-recursive-minibuffers t) @@ -44,7 +44,7 @@ (symbol-function 'kbd-key:kbd))) (write-region "" nil linked-file) ;; Ensure linked file has been created (let ((create-gbut (format "abcd RET link-to-file RET %s RET y C-x C-s" linked-file)) - (modify-gbut (format "abcd RET RET RET M-: (delete-minibuffer-contents) RET %s RET y" linked-file))) + (edit-gbut (format "abcd RET RET RET M-: (delete-minibuffer-contents) RET %s RET y" linked-file))) (setenv "HOME" "/tmp") (set-buffer gbut-file-buffer) @@ -58,8 +58,8 @@ (should (eq (hattr:get (hbut:at-p) 'actype) 'actypes::link-to-file)) (goto-char (point-max)) ;; Move past button so does not prompt with label - (with-simulated-input modify-gbut - (hact (lambda () (call-interactively 'hui:gbut-modify)))) + (with-simulated-input edit-gbut + (hact (lambda () (call-interactively 'hui:gbut-edit)))) ;; (set-buffer gbut-file-buffer) (goto-char (+ (point-min) 2)) @@ -119,9 +119,9 @@ (hy-test-helpers-verify-hattr-at-p :actype 'actypes::www-url :args '("www.hypb.org") :loc file :lbl-key "label")) (delete-file file)))) -(ert-deftest hui-ebut-modify-link-to-www-url-keeping-all-values-should-not-modify-buffer-or-ebut () - "Modify an ebut keeping all initial values should not modify buffer or ebut. -Modifying the button but keeping the label creates a dubbel label." +(ert-deftest hui-ebut-edit-link-to-www-url-keeping-all-values-should-not-modify-buffer-or-ebut () + "Edit an ebut keeping all initial values should not modify buffer or ebut. +Ensure modifying the button but keeping the label does not create a double label." (let ((file (make-temp-file "hypb_" nil ".txt"))) (unwind-protect (find-file file) @@ -129,7 +129,7 @@ Modifying the button but keeping the label creates a dubbel label." (hui:ebut-create) (hy-test-helpers-verify-hattr-at-p :actype 'actypes::www-url :args '("www.hypb.org") :loc file :lbl-key "label")) (with-simulated-input "RET RET RET RET" - (hui:ebut-modify "label") + (hui:ebut-edit "label") (hy-test-helpers-verify-hattr-at-p :actype 'actypes::www-url :args '("www.hypb.org") :loc file :lbl-key "label") (should (string= "<(label)>" (buffer-string))))) (delete-file file)))