From: Lars Ingebrigtsen Date: Mon, 5 Aug 2019 13:49:28 +0000 (+0200) Subject: Revert "Make `view-lossage' output of chars read from `read-char' more logical" X-Git-Tag: emacs-27.0.90~1696 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0bbcd89cf52c23e872b5b94d3e2f8f4161e2bf6e;p=emacs.git Revert "Make `view-lossage' output of chars read from `read-char' more logical" This reverts commit 1abf76877847226daa5ab7e07000ac1d4aba3478. This change apparently led to problems with kmacro. --- diff --git a/lisp/help.el b/lisp/help.el index ba76d267571..039d0c44e4f 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -465,28 +465,18 @@ To record all your input, use `open-dribble-file'." (help-setup-xref (list #'view-lossage) (called-interactively-p 'interactive)) (with-help-window (help-buffer) - (with-current-buffer standard-output - (let ((prev-command nil)) - (mapc - (lambda (key) - (cond - ((and (consp key) (null (car key))) - (princ (format ";; %s\n" - (setq prev-command - (if (symbolp (cdr key)) - (cdr key) - "anonymous-command"))))) - ((eq key 'end-of-command) - (unless (bolp) - (princ (format ";; \n" (or prev-command - "unknown command"))))) - ((or (integerp key) (symbolp key) (listp key)) - (princ (single-key-description key)) - (princ " ")) - (t - (prin1 key) - (princ " ")))) - (recent-keys 'include-cmds)))) + (princ " ") + (princ (mapconcat (lambda (key) + (cond + ((and (consp key) (null (car key))) + (format ";; %s\n" (if (symbolp (cdr key)) (cdr key) + "anonymous-command"))) + ((or (integerp key) (symbolp key) (listp key)) + (single-key-description key)) + (t + (prin1-to-string key nil)))) + (recent-keys 'include-cmds) + " ")) (with-current-buffer standard-output (goto-char (point-min)) (let ((comment-start ";; ") diff --git a/src/keyboard.c b/src/keyboard.c index 158daba260c..30686a25898 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -307,7 +307,6 @@ static Lisp_Object command_loop (void); static void echo_now (void); static ptrdiff_t echo_length (void); -static void record_char (Lisp_Object c); /* Incremented whenever a timer is run. */ unsigned timers_run; @@ -1422,8 +1421,6 @@ command_loop_1 (void) Fcons (Qnil, cmd)); if (++recent_keys_index >= NUM_RECENT_KEYS) recent_keys_index = 0; - /* Mark this as a complete command in recent_keys. */ - record_char (Qend_of_command); } Vthis_command = cmd; Vreal_this_command = cmd; @@ -1474,9 +1471,6 @@ command_loop_1 (void) safe_run_hooks (Qpost_command_hook); - /* Mark this as a complete command in recent_keys. */ - record_char (Qend_of_command); - /* If displaying a message, resize the echo area window to fit that message's size exactly. Do this only if the echo area window is the minibuffer window of the selected frame. See @@ -2095,6 +2089,7 @@ show_help_echo (Lisp_Object help, Lisp_Object window, Lisp_Object object, static Lisp_Object kbd_buffer_get_event (KBOARD **kbp, bool *used_mouse_menu, struct timespec *end_time); +static void record_char (Lisp_Object c); static Lisp_Object help_form_saved_window_configs; static void @@ -10001,9 +9996,7 @@ represented as pseudo-events of the form (nil . COMMAND). */) do { Lisp_Object e = AREF (recent_keys, i); - if (cmds - || ((!CONSP (e) || !NILP (XCAR (e))) - && !EQ (e, Qend_of_command))) + if (cmds || !CONSP (e) || !NILP (XCAR (e))) es = Fcons (e, es); if (++i >= NUM_RECENT_KEYS) i = 0; @@ -11073,8 +11066,6 @@ syms_of_keyboard (void) DEFSYM (Qundefined, "undefined"); - DEFSYM (Qend_of_command, "end-of-command"); - /* Hooks to run before and after each command. */ DEFSYM (Qpre_command_hook, "pre-command-hook"); DEFSYM (Qpost_command_hook, "post-command-hook");