all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Kangas <stefankangas@gmail.com>
To: Lars Ingebrigtsen <larsi@gnus.org>, Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Moving kbd to subr.el
Date: Thu, 14 Oct 2021 13:28:40 -0700	[thread overview]
Message-ID: <CADwFkmkzzXYvULcV4yJkS+LuxFsAd4YtTghUC-333xSa9+YgYw@mail.gmail.com> (raw)
In-Reply-To: <874k9jzu7a.fsf@gnus.org>

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

Lars Ingebrigtsen <larsi@gnus.org> writes:

> A NEWS entry saying "kbd can be used in built-in files" would be nice,
> perhaps?

Sure, I'm happy to add that.

> Yeah, I think kbd could just take the optional parameter.

OK, let's do that.  Please see the attached updated patch.

(If we really wanted to not have the parameter, I suppose we could use
`set-advertised-calling-convention' and `with-suppressed-warnings' but
that might be too much of a hack.)

[-- Attachment #2: 0001-Make-kbd-usable-during-bootstrap.patch --]
[-- Type: text/x-diff, Size: 7503 bytes --]

From 2424a213e79940eae9dd6c0f612590c3d309a1da Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefan@marxist.se>
Date: Wed, 13 Oct 2021 01:40:14 +0200
Subject: [PATCH 1/2] Make kbd usable during bootstrap

* lisp/subr.el (kbd): Make 'kbd' usable during bootstrap by copying
the definition of 'read-kbd-macro' into it, and adjusting it to no
longer use CL-Lib functions.

This change is discussed in
https://lists.gnu.org/r/emacs-devel/2021-10/msg00909.html
---
 etc/NEWS     |   4 ++
 lisp/subr.el | 110 +++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 111 insertions(+), 3 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 7dd4d14274..9412c62aa4 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -189,6 +189,10 @@ This function allows defining a number of keystrokes with one form.
 ** New macro 'defvar-keymap'.
 This macro allows defining keymap variables more conveniently.
 
+---
+** 'kbd' can now be used in built-in, preloaded libraries.
+It no longer depends on edmacro.el and cl-lib.el.
+
 \f
 * Changes in Emacs 29.1 on Non-Free Operating Systems
 
diff --git a/lisp/subr.el b/lisp/subr.el
index a1858e5911..1c3dc26a4d 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -933,11 +933,115 @@ kbd
 `edmacro-mode').
 
 For an approximate inverse of this, see `key-description'."
-  ;; Don't use a defalias, since the `pure' property is true only for
-  ;; 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 (let ((lres (append res nil)))
+                                    ;; Remove the first and last two elements.
+                                    (setq lres (cdr (cdr lres)))
+                                    (nreverse lres)
+                                    (setq lres (cdr (cdr lres)))
+                                    (nreverse lres)
+                                    lres))))
+      (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."
-- 
2.30.2


[-- Attachment #3: 0002-Remove-duplicate-code-in-edmacro-parse-keys.patch --]
[-- Type: text/x-diff, Size: 6734 bytes --]

From cdafa2120e5dd52ea4db0620f81fe7181c33f9a8 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefan@marxist.se>
Date: Wed, 13 Oct 2021 22:54:47 +0200
Subject: [PATCH 2/2] Remove duplicate code in edmacro-parse-keys

* lisp/subr.el (kbd): Add argument NEED-VECTOR and make it suitable
for calling from 'edmacro-parse-keys'.
* lisp/edmacro.el (edmacro-parse-keys): Replace definition with a
call to 'kbd'.

This change is discussed in
https://lists.gnu.org/r/emacs-devel/2021-10/msg00909.html
---
 lisp/edmacro.el | 96 +------------------------------------------------
 lisp/subr.el    | 23 +++++++-----
 2 files changed, 15 insertions(+), 104 deletions(-)

diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index a4eb574a4c..decb8edbb1 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -640,101 +640,7 @@ edmacro-fix-menu-commands
 ;;; Parsing a human-readable keyboard macro.
 
 (defun edmacro-parse-keys (string &optional need-vector)
-  (let ((case-fold-search nil)
-	(len (length string)) ; We won't alter string in the loop below.
-	(pos 0)
-	(res []))
-    (while (and (< pos len)
-		(string-match "[^ \t\n\f]+" string pos))
-      (let* ((word-beg (match-beginning 0))
-	     (word-end (match-end 0))
-	     (word (substring string 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 string 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 "$" string pos)))
-	      (t
-	       (let ((orig-word word) (prefix 0) (bits 0))
-		 (while (string-match "^[ACHMsS]-." word)
-		   (cl-incf bits (cdr (assq (aref word 0)
-					 '((?A . ?\A-\^@) (?C . ?\C-\^@)
-					   (?H . ?\H-\^@) (?M . ?\M-\^@)
-					   (?s . ?\s-\^@) (?S . ?\S-\^@)))))
-		   (cl-incf prefix 2)
-		   (cl-callf substring word 2))
-		 (when (string-match "^\\^.$" word)
-		   (cl-incf bits ?\C-\^@)
-		   (cl-incf prefix)
-		   (cl-callf 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)
-		   (cl-loop for ch across word
-                            for n = 0 then (+ (* n 8) ch -48)
-                            finally do (setq word (vector n))))
-		 (cond ((= bits 0)
-			(setq key word))
-		       ((and (= bits ?\M-\^@) (stringp word)
-			     (string-match "^-?[0-9]+$" word))
-			(setq key (cl-loop for x across word
-                                           collect (+ x bits))))
-		       ((/= (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
-	  (cl-loop repeat times do (cl-callf 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 (cl-subseq res 2 -2)))
-    (if (and (not need-vector)
-	     (cl-loop for ch across res
-                      always (and (characterp ch)
-                                  (let ((ch2 (logand ch (lognot ?\M-\^@))))
-                                    (and (>= ch2 0) (<= ch2 127))))))
-	(concat (cl-loop for ch across res
-                         collect (if (= (logand ch ?\M-\^@) 0)
-                                     ch (+ ch 128))))
-      res)))
+  (kbd string need-vector))
 
 (provide 'edmacro)
 
diff --git a/lisp/subr.el b/lisp/subr.el
index 1c3dc26a4d..93ec76e290 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -925,14 +925,18 @@ remq
 \f
 ;;;; Keymap support.
 
-(defun kbd (keys)
+(defun kbd (keys &optional need-vector)
   "Convert KEYS to the internal Emacs key representation.
 KEYS should be a string in the format returned by commands such
 as `C-h k' (`describe-key').
 This is the same format used for saving keyboard macros (see
 `edmacro-mode').
 
-For an approximate inverse of this, see `key-description'."
+For an approximate inverse of this, see `key-description'.
+
+If NEED-VECTOR is non-nil, always return a vector instead of a
+string.  This is mainly intended for use by `edmacro-parse-keys',
+and should normally not be needed."
   (declare (pure t) (side-effect-free t))
   ;; A pure function is expected to preserve the match data.
   (save-match-data
@@ -1030,13 +1034,14 @@ kbd
                                     (setq lres (cdr (cdr lres)))
                                     (nreverse lres)
                                     lres))))
-      (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)
+      (if (and (not need-vector)
+               (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)))
-- 
2.30.2


  reply	other threads:[~2021-10-14 20:28 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                     ` Moving kbd to subr.el Stefan Kangas
2021-10-13 11:10                       ` 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 [this message]
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=CADwFkmkzzXYvULcV4yJkS+LuxFsAd4YtTghUC-333xSa9+YgYw@mail.gmail.com \
    --to=stefankangas@gmail.com \
    --cc=eliz@gnu.org \
    --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.