From: Stefan Kangas <stefankangas@gmail.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org
Subject: Moving kbd to subr.el
Date: Tue, 12 Oct 2021 20:18:20 -0700 [thread overview]
Message-ID: <CADwFkmkUzJ9AajjhdOA+GJj_29+ywXeO2jRaunjW+DUqhWsF6Q@mail.gmail.com> (raw)
In-Reply-To: <878ryxakv9.fsf@gnus.org>
[-- Attachment #1: Type: text/plain, Size: 752 bytes --]
Lars Ingebrigtsen <larsi@gnus.org> writes:
> No, skimming that, it's much simpler than I imagined. Rewriting that
> and plonking it into subr.el would be nice. I mean, I think we should
> do that anyway, so that we can use `kbd' everywhere.
I've attached a quick proof-of-concept of moving the kbd implementation
to subr.el. With this, all the tests I have assembled so far pass and
this bootstraps. It was mostly just a case of ripping out the calls to
cl-lib functions.
If this is something we want to do, I can finish this patch up. To
begin with, I'd want to look it all over for correctness and add more
tests (ideas welcome). I guess it would also make sense to just change
`read-kbd-macro' to call kbd, instead of the other way around.
[-- Attachment #2: 0001-Move-read-kbd-macro-implementation-to-key-in-subr.el.patch --]
[-- Type: text/x-diff, Size: 7876 bytes --]
From aa35959c77e7b2de8f53c5c200057040a8b1aa57 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefan@marxist.se>
Date: Wed, 13 Oct 2021 01:40:14 +0200
Subject: [PATCH] Move read-kbd-macro implementation to key in subr.el
---
lisp/subr.el | 102 +++++++++++++++++++++++++++++++++++++++-
test/lisp/subr-tests.el | 29 +++++++++++-
2 files changed, 128 insertions(+), 3 deletions(-)
diff --git a/lisp/subr.el b/lisp/subr.el
index 805c14eae3..5522d46401 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -937,7 +937,107 @@ kbd
;; the calling convention of `kbd'.
(declare (pure t) (side-effect-free t))
;; A pure function is expected to preserve the match data.
- (save-match-data (read-kbd-macro keys)))
+ (save-match-data
+ (let ((case-fold-search nil)
+ (len (length keys)) ; We won't alter keys in the loop below.
+ (pos 0)
+ (res []))
+ (while (and (< pos len)
+ (string-match "[^ \t\n\f]+" keys pos))
+ (let* ((word-beg (match-beginning 0))
+ (word-end (match-end 0))
+ (word (substring keys word-beg len))
+ (times 1)
+ key)
+ ;; Try to catch events of the form "<as df>".
+ (if (string-match "\\`<[^ <>\t\n\f][^>\t\n\f]*>" word)
+ (setq word (match-string 0 word)
+ pos (+ word-beg (match-end 0)))
+ (setq word (substring keys word-beg word-end)
+ pos word-end))
+ (when (string-match "\\([0-9]+\\)\\*." word)
+ (setq times (string-to-number (substring word 0 (match-end 1))))
+ (setq word (substring word (1+ (match-end 1)))))
+ (cond ((string-match "^<<.+>>$" word)
+ (setq key (vconcat (if (eq (key-binding [?\M-x])
+ 'execute-extended-command)
+ [?\M-x]
+ (or (car (where-is-internal
+ 'execute-extended-command))
+ [?\M-x]))
+ (substring word 2 -2) "\r")))
+ ((and (string-match "^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word)
+ (progn
+ (setq word (concat (match-string 1 word)
+ (match-string 3 word)))
+ (not (string-match
+ "\\<\\(NUL\\|RET\\|LFD\\|ESC\\|SPC\\|DEL\\)$"
+ word))))
+ (setq key (list (intern word))))
+ ((or (equal word "REM") (string-match "^;;" word))
+ (setq pos (string-match "$" keys pos)))
+ (t
+ (let ((orig-word word) (prefix 0) (bits 0))
+ (while (string-match "^[ACHMsS]-." word)
+ (setq bits (+ bits (cdr (assq (aref word 0)
+ '((?A . ?\A-\^@) (?C . ?\C-\^@)
+ (?H . ?\H-\^@) (?M . ?\M-\^@)
+ (?s . ?\s-\^@) (?S . ?\S-\^@))))))
+ (setq prefix (+ prefix 2))
+ (setq word (substring word 2)))
+ (when (string-match "^\\^.$" word)
+ (setq bits (+ bits ?\C-\^@))
+ (setq prefix (1+ prefix))
+ (setq word (substring word 1)))
+ (let ((found (assoc word '(("NUL" . "\0") ("RET" . "\r")
+ ("LFD" . "\n") ("TAB" . "\t")
+ ("ESC" . "\e") ("SPC" . " ")
+ ("DEL" . "\177")))))
+ (when found (setq word (cdr found))))
+ (when (string-match "^\\\\[0-7]+$" word)
+ (let ((n 0))
+ (dolist (ch (cdr (string-to-list word)))
+ (setq n (+ (* n 8) ch -48)))
+ (setq word (vector n))))
+ (cond ((= bits 0)
+ (setq key word))
+ ((and (= bits ?\M-\^@) (stringp word)
+ (string-match "^-?[0-9]+$" word))
+ (setq key (mapcar (lambda (x) (+ x bits))
+ (append word nil))))
+ ((/= (length word) 1)
+ (error "%s must prefix a single character, not %s"
+ (substring orig-word 0 prefix) word))
+ ((and (/= (logand bits ?\C-\^@) 0) (stringp word)
+ ;; We used to accept . and ? here,
+ ;; but . is simply wrong,
+ ;; and C-? is not used (we use DEL instead).
+ (string-match "[@-_a-z]" word))
+ (setq key (list (+ bits (- ?\C-\^@)
+ (logand (aref word 0) 31)))))
+ (t
+ (setq key (list (+ bits (aref word 0)))))))))
+ (when key
+ (dolist (_ (number-sequence 1 times))
+ (setq res (vconcat res key))))))
+ (when (and (>= (length res) 4)
+ (eq (aref res 0) ?\C-x)
+ (eq (aref res 1) ?\()
+ (eq (aref res (- (length res) 2)) ?\C-x)
+ (eq (aref res (- (length res) 1)) ?\)))
+ (setq res (apply #'vector (reverse (cdr (cdr (reverse (cdr (cdr (append res nil))))))))))
+ (if (let ((ret t))
+ (dolist (ch (append res nil))
+ (unless (and (characterp ch)
+ (let ((ch2 (logand ch (lognot ?\M-\^@))))
+ (and (>= ch2 0) (<= ch2 127))))
+ (setq ret nil)))
+ ret)
+ (concat (mapcar (lambda (ch)
+ (if (= (logand ch ?\M-\^@) 0)
+ ch (+ ch 128)))
+ (append res nil)))
+ res))))
(defun undefined ()
"Beep to tell the user this binding is undefined."
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el
index 32c0bc3ed3..7a89456037 100644
--- a/test/lisp/subr-tests.el
+++ b/test/lisp/subr-tests.el
@@ -87,13 +87,38 @@ subr-test-kbd
(should (equal (kbd "f") "f"))
(should (equal (kbd "<f1>") [f1]))
(should (equal (kbd "RET") "\C-m"))
- (should (equal (kbd "C-x a") "\C-xa"))
+
+ ;; Modifiers.
+ (should (equal (kbd "C-x a") "\^Xa"))
+ (should (equal (kbd "M-x a") [134217848 97]))
+ (should (equal (kbd "H-x a") [16777336 97]))
+ (should (equal (kbd "s-x a") [8388728 97]))
+ (should (equal (kbd "S-x a") [33554552 97]))
+
+ ;; Special characters.
+ (should (equal (kbd "NUL") "\0"))
+ (should (equal (kbd "LFD") "\n"))
+ (should (equal (kbd "ESC") "\e"))
+ (should (equal (kbd "SPC") "\s"))
+ (should (equal (kbd "DEL") "\^?"))
+ (should (equal (kbd "TAB") "\t"))
+
+ ;; With numbers.
+ (should (equal (kbd "\\000") "\0"))
+ (should (equal (kbd "C-x \\150") "\C-xh"))
+
;; Check that kbd handles both new and old style key descriptions
;; (bug#45536).
(should (equal (kbd "s-<return>") [s-return]))
(should (equal (kbd "<s-return>") [s-return]))
(should (equal (kbd "C-M-<return>") [C-M-return]))
- (should (equal (kbd "<C-M-return>") [C-M-return])))
+ (should (equal (kbd "<C-M-return>") [C-M-return]))
+
+ ;; Error.
+ (should-error (kbd "C-xx"))
+
+ ;; These should be equivalent:
+ (should (equal (kbd "\C-xf") (kbd "C-x f"))))
(ert-deftest subr-test-define-prefix-command ()
(define-prefix-command 'foo-prefix-map)
--
2.30.2
next prev parent reply other threads:[~2021-10-13 3:18 UTC|newest]
Thread overview: 320+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20211004081724.6281.11798@vcs0.savannah.gnu.org>
[not found] ` <20211004081726.AB24621048@vcs0.savannah.gnu.org>
2021-10-04 8:56 ` master 192f935 1/3: Add 'define-keymap' and 'defvar-keymap' Lars Ingebrigtsen
2021-10-04 9:42 ` Adam Porter
2021-10-04 10:13 ` Lars Ingebrigtsen
2021-10-10 7:40 ` Madhu
2021-10-19 18:02 ` Jonas Bernoulli
2021-10-19 18:18 ` Change indentation of keyword lists/arrays Lars Ingebrigtsen
2021-10-20 16:39 ` Juri Linkov
2021-10-20 19:02 ` Tassilo Horn
2021-10-21 3:02 ` Lars Ingebrigtsen
2021-10-21 3:59 ` [External] : " Drew Adams
2021-10-04 13:06 ` master 192f935 1/3: Add 'define-keymap' and 'defvar-keymap' Stefan Monnier
2021-10-04 13:09 ` Lars Ingebrigtsen
2021-10-04 13:14 ` Stefan Monnier
2021-10-04 13:44 ` Lars Ingebrigtsen
2021-10-04 14:34 ` Lars Ingebrigtsen
2021-10-04 16:17 ` Stefan Monnier
2021-10-05 6:31 ` Lars Ingebrigtsen
[not found] ` <20211004081727.4F24921048@vcs0.savannah.gnu.org>
2021-10-12 12:47 ` master 859190f 2/3: Convert some keymaps to defvar-keymap Stefan Kangas
2021-10-12 13:00 ` Lars Ingebrigtsen
2021-10-12 13:18 ` Stefan Kangas
2021-10-12 13:22 ` Lars Ingebrigtsen
2021-10-12 14:24 ` Stefan Kangas
2021-10-12 20:22 ` Lars Ingebrigtsen
2021-10-12 20:32 ` Lars Ingebrigtsen
2021-10-12 21:34 ` Stefan Kangas
2021-10-12 23:23 ` Lars Ingebrigtsen
2021-10-12 23:40 ` Lars Ingebrigtsen
2021-10-13 3:18 ` Stefan Kangas [this message]
2021-10-13 11:10 ` Moving kbd to subr.el Lars Ingebrigtsen
2021-10-13 12:31 ` Eli Zaretskii
2021-10-13 12:42 ` Stefan Monnier
2021-10-13 14:26 ` T.V Raman
2021-10-13 15:01 ` Stefan Kangas
2021-10-13 15:03 ` Stefan Kangas
2021-10-13 16:01 ` T.V Raman
2021-10-13 15:11 ` T.V Raman
2021-10-13 12:50 ` Stefan Kangas
2021-10-13 13:28 ` Eli Zaretskii
2021-10-13 13:33 ` Stefan Kangas
2021-10-13 22:28 ` Stefan Kangas
2021-10-13 22:45 ` Lars Ingebrigtsen
2021-10-13 22:54 ` Lars Ingebrigtsen
2021-10-14 7:23 ` Eli Zaretskii
2021-10-14 11:50 ` Stefan Kangas
2021-10-14 11:56 ` Eli Zaretskii
2021-10-14 12:06 ` Lars Ingebrigtsen
2021-10-14 20:28 ` Stefan Kangas
2021-10-14 20:55 ` Lars Ingebrigtsen
2021-10-14 21:04 ` Stefan Kangas
2021-10-14 21:13 ` Lars Ingebrigtsen
2021-10-15 2:07 ` Stefan Kangas
2021-10-15 10:28 ` Lars Ingebrigtsen
2021-10-15 11:05 ` Eli Zaretskii
2021-10-15 11:10 ` Eli Zaretskii
2021-10-15 11:34 ` Andreas Schwab
2021-10-15 12:31 ` Lars Ingebrigtsen
2021-10-15 12:39 ` Lars Ingebrigtsen
2021-10-15 13:32 ` Stefan Monnier
2021-10-15 14:04 ` Lars Ingebrigtsen
2021-10-15 14:44 ` Stefan Kangas
2021-10-15 16:05 ` Stefan Monnier
2021-10-15 16:31 ` T.V Raman
2021-10-15 11:26 ` Lars Ingebrigtsen
2021-10-16 13:48 ` Lars Ingebrigtsen
2021-10-16 14:33 ` Stefan Kangas
2021-10-16 15:55 ` Lars Ingebrigtsen
2021-10-17 18:54 ` Lars Ingebrigtsen
2021-10-17 19:32 ` Gregory Heytings
2021-10-17 19:39 ` Eli Zaretskii
2021-10-17 19:42 ` Gregory Heytings
2021-10-17 19:58 ` Lars Ingebrigtsen
2021-10-18 11:41 ` Eli Zaretskii
2021-10-18 11:52 ` Gregory Heytings
2021-10-18 13:01 ` Eli Zaretskii
2021-10-18 13:07 ` Gregory Heytings
2021-10-18 12:40 ` Stefan Monnier
2021-10-20 6:47 ` Richard Stallman
2021-10-20 7:48 ` Lars Ingebrigtsen
2021-10-20 13:18 ` Stefan Kangas
2021-10-21 2:52 ` Lars Ingebrigtsen
2021-10-21 3:36 ` Stefan Kangas
2021-10-21 3:39 ` Lars Ingebrigtsen
2021-10-21 4:07 ` Stefan Kangas
2021-10-21 4:37 ` Lars Ingebrigtsen
2021-10-21 4:58 ` [External] : " Drew Adams
2021-10-20 14:21 ` T.V Raman
2021-10-21 2:53 ` Lars Ingebrigtsen
2021-10-21 14:19 ` T.V Raman
2021-10-20 18:51 ` Philip Kaludercic
2021-10-21 2:53 ` Lars Ingebrigtsen
2021-10-21 13:40 ` Philip Kaludercic
2021-10-22 14:20 ` Lars Ingebrigtsen
2021-10-22 14:57 ` Philip Kaludercic
2021-10-22 15:02 ` Lars Ingebrigtsen
2021-10-22 15:06 ` Philip Kaludercic
2021-10-22 15:10 ` Lars Ingebrigtsen
2021-10-22 18:16 ` Philip Kaludercic
2021-10-22 18:18 ` Lars Ingebrigtsen
2021-10-23 23:29 ` Richard Stallman
2021-10-24 6:10 ` Eli Zaretskii
2021-10-26 3:01 ` Richard Stallman
2021-10-24 13:24 ` Lars Ingebrigtsen
2021-10-24 18:10 ` Corwin Brust
2021-10-24 18:42 ` Lars Ingebrigtsen
2021-10-25 16:06 ` Corwin Brust
2021-10-25 16:10 ` Philip Kaludercic
2021-10-27 14:41 ` Richard Stallman
2021-10-28 12:19 ` Richard Stallman
2021-10-28 12:25 ` Lars Ingebrigtsen
2021-10-30 6:53 ` Richard Stallman
2021-10-30 12:36 ` Lars Ingebrigtsen
2021-10-31 2:39 ` Richard Stallman
2021-10-31 14:57 ` Lars Ingebrigtsen
2021-11-02 3:54 ` New key binding syntax Richard Stallman
2021-11-02 11:08 ` John Yates
2021-11-04 2:36 ` Richard Stallman
2021-11-04 9:37 ` Robert Pluim
2021-11-04 17:09 ` Lars Ingebrigtsen
2021-11-04 22:46 ` John Yates
2021-11-04 22:48 ` Lars Ingebrigtsen
2021-11-04 22:53 ` John Yates
2021-11-05 2:25 ` Lars Ingebrigtsen
2021-11-05 12:21 ` John Yates
2021-11-05 13:45 ` Lars Ingebrigtsen
2021-11-06 13:52 ` John Yates
2021-11-05 3:57 ` Richard Stallman
2021-11-05 5:41 ` Alexandre Garreau
2021-11-06 3:20 ` Richard Stallman
2021-11-02 12:10 ` Dmitry Gutov
2021-11-04 2:36 ` Richard Stallman
2021-11-02 16:22 ` Alexandre Garreau
2021-11-04 2:33 ` Richard Stallman
2021-11-04 8:53 ` Yuri Khan
2021-11-05 6:08 ` Alexandre Garreau
2021-11-05 8:56 ` Yuri Khan
2021-11-05 9:13 ` Alexandre Garreau
2021-11-05 10:03 ` Yuri Khan
2021-11-05 11:04 ` Alexandre Garreau
2021-11-05 12:02 ` Yuri Khan
2021-11-06 3:20 ` Richard Stallman
2021-11-05 5:32 ` Alexandre Garreau
2021-11-07 4:25 ` Richard Stallman
2021-11-07 4:48 ` Emanuel Berg via Emacs development discussions.
2021-11-08 23:50 ` [External] : " Drew Adams
2021-11-10 4:35 ` Richard Stallman
2021-11-10 14:53 ` Stefan Kangas
2021-11-10 17:24 ` Drew Adams
2021-11-13 4:10 ` Richard Stallman
2021-11-13 18:47 ` Drew Adams
2021-11-16 4:05 ` Richard Stallman
2021-11-16 6:21 ` Alexandre Garreau
2021-11-18 3:52 ` Richard Stallman
2021-11-18 5:01 ` Yuri Khan
2021-11-18 14:10 ` Alexandre Garreau
2021-11-18 14:59 ` Yuri Khan
2021-11-18 15:22 ` Eli Zaretskii
2021-11-18 15:39 ` Yuri Khan
2021-11-18 16:50 ` Eli Zaretskii
2021-11-18 15:32 ` Alexandre Garreau
2021-11-18 16:20 ` Yuri Khan
2021-11-18 16:53 ` Eli Zaretskii
2021-11-18 21:13 ` Alexandre Garreau
2021-11-18 11:05 ` Alexandre Garreau
2021-11-18 11:31 ` Stefan Kangas
2021-11-19 4:44 ` Richard Stallman
2021-11-19 6:05 ` Alexandre Garreau
2021-11-19 6:53 ` Po Lu
2021-11-19 7:40 ` Eli Zaretskii
2021-11-19 11:33 ` Alexandre Garreau
2021-11-19 12:43 ` Eli Zaretskii
2021-11-19 12:48 ` Alexandre Garreau
2021-11-16 16:25 ` Drew Adams
2021-11-10 17:24 ` Drew Adams
2021-10-17 19:55 ` Moving kbd to subr.el Lars Ingebrigtsen
2021-10-17 21:20 ` Gregory Heytings
2021-10-18 6:02 ` Lars Ingebrigtsen
2021-10-18 12:46 ` Gregory Heytings
2021-10-18 13:15 ` Lars Ingebrigtsen
2021-10-18 13:50 ` Gregory Heytings
2021-10-18 15:50 ` Stefan Monnier
2021-10-18 16:03 ` Gregory Heytings
2021-10-18 13:53 ` Stefan Kangas
2021-10-18 13:59 ` Lars Ingebrigtsen
2021-10-18 14:44 ` [External] : " Drew Adams
2021-10-18 15:34 ` Stefan Kangas
2021-10-18 15:53 ` Drew Adams
2021-10-18 15:53 ` Stefan Monnier
2021-10-18 15:58 ` Lars Ingebrigtsen
2021-10-18 16:33 ` Stefan Monnier
2021-10-18 20:40 ` Stefan Kangas
2021-10-18 22:26 ` Stefan Monnier
2021-10-19 2:31 ` Eli Zaretskii
2021-10-19 2:30 ` Lars Ingebrigtsen
2021-10-19 7:02 ` Juri Linkov
2021-10-19 7:48 ` Gregory Heytings
2021-10-19 10:46 ` Philip Kaludercic
2021-10-19 13:08 ` Gregory Heytings
2021-10-19 14:48 ` [External] : " Drew Adams
2021-10-19 17:10 ` Stefan Kangas
2021-10-19 17:51 ` Drew Adams
2021-10-19 18:06 ` Drew Adams
2021-10-20 22:34 ` Richard Stallman
2021-10-20 22:34 ` Richard Stallman
2021-10-22 3:29 ` Po Lu
2021-10-19 12:34 ` Stefan Monnier
2021-10-19 13:38 ` Lars Ingebrigtsen
2021-10-19 13:57 ` Stefan Kangas
2021-10-19 14:07 ` Lars Ingebrigtsen
2021-10-19 14:13 ` Stefan Kangas
2021-10-19 14:16 ` Lars Ingebrigtsen
2021-10-19 14:25 ` Stefan Kangas
2021-10-19 14:31 ` Lars Ingebrigtsen
2021-10-19 15:03 ` Robert Pluim
2021-10-19 14:56 ` Andreas Schwab
2021-10-19 14:45 ` Stefan Monnier
2021-10-19 15:09 ` Lars Ingebrigtsen
2021-10-19 19:07 ` Lars Ingebrigtsen
2021-10-19 19:00 ` Howard Melman
2021-10-19 20:53 ` T.V Raman
2021-10-19 20:59 ` Lars Ingebrigtsen
2021-10-19 21:50 ` Dmitry Gutov
2021-10-20 22:37 ` Richard Stallman
2021-10-21 2:54 ` Lars Ingebrigtsen
2021-10-20 1:54 ` T.V Raman
2021-10-19 14:00 ` Dmitry Gutov
2021-10-19 14:03 ` Gregory Heytings
2021-10-19 16:05 ` Gregory Heytings
2021-10-19 17:43 ` Stefan Kangas
2021-10-19 18:54 ` Juri Linkov
2021-10-25 14:22 ` Making a key undefined again Jonas Bernoulli
2021-10-25 14:30 ` [External] : " Drew Adams
2021-10-25 14:37 ` Lars Ingebrigtsen
2021-10-25 17:31 ` Stefan Monnier
2021-10-25 17:48 ` Gregory Heytings
2021-10-25 22:49 ` Jonas Bernoulli
2021-10-25 22:59 ` Jonas Bernoulli
2021-10-25 23:10 ` Stefan Monnier
2021-10-25 23:27 ` Gregory Heytings
2021-10-26 16:11 ` Jonas Bernoulli
2021-10-26 19:33 ` Stefan Monnier
2021-10-18 16:01 ` Moving kbd to subr.el Juri Linkov
2021-10-18 16:27 ` Gregory Heytings
2021-10-19 3:08 ` Lars Ingebrigtsen
2021-10-18 1:41 ` T.V Raman
2021-10-18 11:40 ` Eli Zaretskii
2021-10-14 7:27 ` Andreas Schwab
2021-10-14 11:33 ` Stefan Kangas
2021-10-14 11:53 ` Andreas Schwab
2021-10-14 12:08 ` Lars Ingebrigtsen
2021-10-14 12:24 ` Andreas Schwab
2021-10-14 13:10 ` Stefan Kangas
2021-10-14 13:55 ` Dmitry Gutov
2021-10-14 14:05 ` dick
2021-10-14 14:15 ` Dmitry Gutov
2021-10-14 14:31 ` dick
2021-10-14 14:33 ` Lars Ingebrigtsen
2021-10-14 14:36 ` Gregory Heytings
2021-10-13 12:36 ` Representing key sequences (was: master 859190f 2/3: Convert some keymaps to defvar-keymap) Stefan Monnier
2021-10-13 13:17 ` Stefan Kangas
2021-10-13 16:28 ` Representing key sequences Stefan Monnier
2021-10-13 23:48 ` Lars Ingebrigtsen
2021-10-13 14:12 ` Lars Ingebrigtsen
2021-10-13 14:40 ` Andreas Schwab
2021-10-13 8:54 ` master 859190f 2/3: Convert some keymaps to defvar-keymap Gregory Heytings
2021-10-13 11:15 ` Lars Ingebrigtsen
2021-10-13 12:25 ` Gregory Heytings
2021-10-13 12:59 ` Lars Ingebrigtsen
2021-10-13 12:55 ` Eli Zaretskii
2021-10-13 13:05 ` Gregory Heytings
2021-10-13 13:34 ` Eli Zaretskii
2021-10-13 14:28 ` Gregory Heytings
2021-10-13 14:30 ` Lars Ingebrigtsen
2021-10-13 14:52 ` Stefan Kangas
2021-10-13 15:32 ` Gregory Heytings
2021-10-13 15:45 ` Eli Zaretskii
2021-10-13 16:07 ` Gregory Heytings
2021-10-13 19:01 ` Eli Zaretskii
2021-10-13 21:53 ` Gregory Heytings
2021-10-13 22:55 ` Gregory Heytings
2021-10-14 7:29 ` Eli Zaretskii
2021-10-14 6:48 ` Eli Zaretskii
2021-10-14 7:41 ` Gregory Heytings
2021-10-14 12:07 ` Stefan Kangas
2021-10-14 12:09 ` Lars Ingebrigtsen
2021-10-14 12:27 ` Gregory Heytings
2021-10-14 12:30 ` Lars Ingebrigtsen
2021-10-14 12:58 ` Gregory Heytings
2021-10-14 13:28 ` Lars Ingebrigtsen
2021-10-14 13:31 ` Gregory Heytings
2021-10-14 13:36 ` Lars Ingebrigtsen
2021-10-14 13:41 ` Gregory Heytings
2021-10-14 13:42 ` Lars Ingebrigtsen
2021-10-14 13:53 ` Gregory Heytings
2021-10-14 13:59 ` Lars Ingebrigtsen
2021-10-14 14:14 ` Gregory Heytings
2021-10-14 19:07 ` Stefan Kangas
2021-10-14 19:13 ` Lars Ingebrigtsen
2021-10-14 19:32 ` Gregory Heytings
2021-10-14 20:01 ` Lars Ingebrigtsen
2021-10-14 20:04 ` Stefan Monnier
2021-10-14 20:17 ` Stefan Kangas
2021-10-14 20:35 ` Lars Ingebrigtsen
2021-10-14 20:43 ` Lars Ingebrigtsen
2021-10-14 20:58 ` Stefan Kangas
2021-10-14 21:02 ` Lars Ingebrigtsen
2021-10-14 21:10 ` Andreas Schwab
2021-10-14 21:58 ` Lars Ingebrigtsen
2021-10-16 17:07 ` Gregory Heytings
2021-10-14 20:59 ` Stefan Monnier
2021-10-14 21:11 ` Lars Ingebrigtsen
2021-10-14 19:31 ` Gregory Heytings
2021-10-14 19:54 ` Andreas Schwab
2021-10-14 19:59 ` Gregory Heytings
2021-10-14 22:22 ` Richard Stallman
2021-10-13 22:37 ` Richard Stallman
2021-10-12 19:28 ` Juri Linkov
2021-10-12 20:10 ` Lars Ingebrigtsen
2021-10-12 14:22 ` Eli Zaretskii
2021-10-13 22:36 ` Richard Stallman
2021-10-14 7:25 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CADwFkmkUzJ9AajjhdOA+GJj_29+ywXeO2jRaunjW+DUqhWsF6Q@mail.gmail.com \
--to=stefankangas@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=larsi@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.