[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 9fbab74a10 13/47: * hui-select.el: Fix a few
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole 9fbab74a10 13/47: * hui-select.el: Fix a few warnings and improve some docstrings |
Date: |
Sun, 25 Jun 2023 15:58:35 -0400 (EDT) |
branch: externals/hyperbole
commit 9fbab74a104359e9cbd6e9077d8fef925c3d3d6c
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Mats Lidell <mats.lidell@lidells.se>
* hui-select.el: Fix a few warnings and improve some docstrings
(hui-select-initialize): Use `dolist`; let-bind
vars rather than just `setq`ing them; use closures.
(hui-select-goto-matching-tag): Fix markup.
(hui-select-indent-non-end-regexp-alist)
(hui-select-indent-end-regexp-alist): Use conventional markup for metavars.
---
hui-select.el | 62 ++++++++++++++++++++++++++++++-----------------------------
1 file changed, 32 insertions(+), 30 deletions(-)
diff --git a/hui-select.el b/hui-select.el
index c807d8ced7..9633c61e21 100644
--- a/hui-select.el
+++ b/hui-select.el
@@ -169,7 +169,7 @@ Use for language major modes."
(Info-mode "[^ \t\n]")
(outline-mode "[^*]")
(text-mode "[^ \t\n*]"))
- "List of (major-mode . non-terminator-line-regexp) elements.
+ "List of (MAJOR-MODE . NON-TERMINATOR-LINE-REGEXP) elements.
Used to avoid early dropoff when marking indented code.")
(defvar hui-select-indent-end-regexp-alist
@@ -185,7 +185,7 @@ Used to avoid early dropoff when marking indented code.")
(indented-text-mode "[ \t]*$")
(Info-mode "[ \t]*$")
(text-mode "[ \t]*$"))
- "List of (major-mode . terminator-line-regexp) elements.
+ "List of (MAJOR-MODE . TERMINATOR-LINE-REGEXP) elements.
Used to include a final line when marking indented code.")
(defcustom hui-select-char-p nil
@@ -366,33 +366,35 @@ Also, add language-specific syntax setups to aid in thing
selection."
;;
;; Make tag begin and end delimiters act like grouping characters,
;; for easy syntactical selection of tags.
- (let (hook-sym mode-str)
- (mapc (lambda (mode)
- (setq mode-str (symbol-name mode)
- hook-sym (intern (concat mode-str "-hook"))
- syntax-table-sym (intern (concat mode-str "-syntax-table"))
- keymap-sym (intern (concat mode-str "-map")))
- (var:add-and-run-hook hook-sym
- `(lambda ()
- (let ((syntax-table (symbol-value
',syntax-table-sym))
- (keymap (symbol-value
',keymap-sym)))
- (modify-syntax-entry ?\< "(>"
syntax-table)
- (modify-syntax-entry ?\> ")<"
syntax-table)
- (modify-syntax-entry ?\{ "(}"
syntax-table)
- (modify-syntax-entry ?\} "){"
syntax-table)
- (modify-syntax-entry ?\" "\""
syntax-table)
- (modify-syntax-entry ?= "."
syntax-table)
- (modify-syntax-entry ?. "_"
syntax-table)
- (setq sentence-end "\\([^
\t\n\r>]<\\|>\\(<[^>]*>\\)*\\|[.?!][]\"')}]*\\($\\| $\\|\t\\| \\)\\)[ \t\n]*")
- (define-key keymap "\C-c."
'hui-select-goto-matching-tag))))
- (unless (eq mode 'web-mode)
- (var:add-and-run-hook
- hook-sym (lambda ()
- (make-local-variable 'comment-start)
- (make-local-variable 'comment-end)
- (setq comment-start "<!--" comment-end "-->")
- (make-local-variable 'sentence-end)))))
- hui-select-markup-modes)))
+ (dolist (mode hui-select-markup-modes)
+ (let* ((mode-str (symbol-name mode))
+ (hook-sym (intern (concat mode-str "-hook")))
+ (syntax-table-sym (intern (concat mode-str "-syntax-table")))
+ (keymap-sym (intern (concat mode-str "-map"))))
+ ;; FIXME: Don't add lambdas to hooks. Instead give names to
+ ;; those functions and add the symbol to the hook. Makes it
+ ;; easier/possible to remove/update the function on the hook.
+ (var:add-and-run-hook hook-sym
+ (lambda ()
+ (let ((syntax-table (symbol-value
syntax-table-sym))
+ (keymap (symbol-value keymap-sym)))
+ (modify-syntax-entry ?\< "(>" syntax-table)
+ (modify-syntax-entry ?\> ")<" syntax-table)
+ (modify-syntax-entry ?\{ "(}" syntax-table)
+ (modify-syntax-entry ?\} "){" syntax-table)
+ (modify-syntax-entry ?\" "\"" syntax-table)
+ (modify-syntax-entry ?= "." syntax-table)
+ (modify-syntax-entry ?. "_" syntax-table)
+ (setq sentence-end "\\([^
\t\n\r>]<\\|>\\(<[^>]*>\\)*\\|[.?!][]\"')}]*\\($\\| $\\|\t\\| \\)\\)[ \t\n]*")
+ (define-key keymap "\C-c."
#'hui-select-goto-matching-tag))))
+ (unless (eq mode 'web-mode)
+ (var:add-and-run-hook
+ hook-sym (lambda ()
+ ;; FIXME: Why not rely on the major mode's own settings?
+ (make-local-variable 'comment-end) ;FIXME: Why?
+ (setq-local comment-start "<!--" comment-end "-->")
+ (make-local-variable 'sentence-end) ;FIXME: Why?
+ ))))))
(defun hui-select-get-region-boundaries ()
"Return the (START . END) boundaries of region for `hui-select-thing'."
@@ -472,7 +474,7 @@ displayed in the minibuffer."
;;;###autoload
(defun hui-select-goto-matching-tag ()
"Move point to start of the tag paired with closest tag point is at or
precedes.
-Enabled in major modes in `hui-select-markup-modes. Returns t if
+Enabled in major modes in `hui-select-markup-modes'. Returns t if
point is moved, else nil. Signals an error if no tag is found
following point or if the closing tag does not have a `>'
terminator character."
- [elpa] externals/hyperbole 66c9368c93 46/47: Merge branch 'master' into verify-expected-url-was-called, (continued)
- [elpa] externals/hyperbole 66c9368c93 46/47: Merge branch 'master' into verify-expected-url-was-called, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 32f0d10126 47/47: Merge pull request #344 from rswgnu/verify-expected-url-was-called, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 9b067ab55f 16/47: * hyrolo.el: A few cosmetic tweaks, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 5cd4136599 06/47: Get rid of `hyperb:stack-frame`, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 575b8b321b 15/47: Fix a few minor miscompilations and warnings, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 84a0209c59 02/47: hui:ebut-link-directly, hui:ibut-link-directly now work from kbd, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 6e73c42284 07/47: Fix compilation of test file, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 32eca132c9 09/47: * hact.el: Fix broken lexical-binding cookie, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 96791538ce 22/47: Revert FIXME, keep for now because of issues with web modes, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 5d5914c197 12/47: * hycontrol.el (hycontrol-windows-mode-map): Don't autoload, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 9fbab74a10 13/47: * hui-select.el: Fix a few warnings and improve some docstrings,
ELPA Syncer <=
- [elpa] externals/hyperbole e9fabc86f6 24/47: Changes applied separately, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 00dcf534ca 32/47: Revert "Try and avoid using `hyperb:stack-frame`", ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole e1bd2e95e5 34/47: Revert Stefan set-buffer and macroexp-file-name (not in Emacs 27.1), ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole d115b6d357 35/47: Don't remove hyperb:automount-prefixes and hyperb:path-being-loaded, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole a06d9a4a8c 33/47: Revert "Get rid of `hyperb:stack-frame`", ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole a69d994d5a 31/47: ibut:operate - Add 2nd edit-flag parameter; non-nil means modifying, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole c085ed7099 39/47: Merge branch 'master' into rsw, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 7bd5a86a4c 40/47: Merge pull request #349 from rswgnu/rsw, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole f0182ad215 44/47: Merge branch 'master' into insert_missing_changelog_entry, ELPA Syncer, 2023/06/25
- [elpa] externals/hyperbole 4842d3fde0 14/47: (man-show): Fix miscompilation, ELPA Syncer, 2023/06/25