[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66394: 29.1; Make register-read-with-preview more useful
From: |
Thierry Volpiatto |
Subject: |
bug#66394: 29.1; Make register-read-with-preview more useful |
Date: |
Tue, 24 Oct 2023 07:19:11 +0000 |
Michael Heerdegen <michael_heerdegen@web.de> writes:
> It would not be good to carve the current register type system
> into stone. Instead of your `register-type' function I would prefer
> something extensible, for the case of new register types being added
> (even a normal user might want to do this). So, when one wants to add a
> new register type, it is necessary that one is able to declare, in some
> way, whether registers of this type should be included or not for
> `insert-register' (and maybe also `jump-to-register').
A possible solution for this is adding two vars, insert-register-types
and jump-to-register-types and define register-type like this (named
register--type here):
(defun register--type (register)
;; Call register/type against the register value.
(register/type (if (consp (cdr register))
(cadr register)
(cdr register))))
(cl-defgeneric register/type (regval))
(cl-defmethod register/type ((regval string)) 'string)
(cl-defmethod register/type ((regval number)) 'number)
(cl-defmethod register/type ((regval marker)) 'marker)
(cl-defmethod register/type ((regval window-configuration)) 'window)
(cl-deftype frame-register () '(satisfies frameset-register-p))
(cl-defmethod register/type :extra "frame-register" (regval) 'frame)
;; set a new register and check its type like this:
(register--type (car register-alist))
So if one wants a new register type he has just to add the type to one
of insert-register-types or jump-to-register-types and add a new
defmethod for this type. If the new type in not one of cl-typep he may
have to define a new type like above.
--
Thierry
signature.asc
Description: PGP signature
- bug#66394: 29.1; Make register-read-with-preview more useful, (continued)
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/20
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/20
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/20
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/20
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/23
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/23
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/23
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/23
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/24
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/24
- bug#66394: 29.1; Make register-read-with-preview more useful,
Thierry Volpiatto <=
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/25
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/25
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/26
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/26
- bug#66394: 29.1; Make register-read-with-preview more useful, Michael Heerdegen, 2023/10/26
- bug#66394: 29.1; Make register-read-with-preview more useful, Thierry Volpiatto, 2023/10/27