From: Juri Linkov Date: Thu, 22 Feb 2018 21:59:32 +0000 (+0200) Subject: * lisp/help.el (view-lossage): Use the same format as in edit-last-kbd-macro. X-Git-Tag: emacs-27.0.90~5641 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dad1aeb30760ef524e95e636c22346b051233a38;p=emacs.git * lisp/help.el (view-lossage): Use the same format as in edit-last-kbd-macro. Call comment-indent with let-bound comment-start and comment-column. (Bug#30560) --- diff --git a/etc/NEWS b/etc/NEWS index 6a89182493a..70bafcd01b4 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -160,6 +160,14 @@ bound to 'C-c C-f'. 'dired-do-copy' and 'dired-rename-file' should create non-existent directories in the destination. +** Help + +*** 'C-h l' (view-lossage) now displays last keystrokes and commands +in the same format as the edit buffer of edit-last-kbd-macro. +This makes possible to copy the lines from the buffer generated +by 'view-lossage', yank them to the buffer "*Edit Macro*" created by +'edit-last-kbd-macro', and save the macro by 'C-c C-c'. + ** Ibuffer --- diff --git a/lisp/help.el b/lisp/help.el index 4899bc44e03..9575f5b090c 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -465,8 +465,8 @@ To record all your input, use `open-dribble-file'." (princ (mapconcat (lambda (key) (cond ((and (consp key) (null (car key))) - (format "[%s]\n" (if (symbolp (cdr key)) (cdr key) - "anonymous-command"))) + (format ";; %s\n" (if (symbolp (cdr key)) (cdr key) + "anonymous-command"))) ((or (integerp key) (symbolp key) (listp key)) (single-key-description key)) (t @@ -475,11 +475,11 @@ To record all your input, use `open-dribble-file'." " ")) (with-current-buffer standard-output (goto-char (point-min)) - (while (not (eobp)) - (move-to-column 50) - (unless (eolp) - (fill-region (line-beginning-position) (line-end-position))) - (forward-line 1)) + (let ((comment-start ";; ") + (comment-column 24)) + (while (not (eobp)) + (comment-indent) + (forward-line 1))) ;; jidanni wants to see the last keystrokes immediately. (set-marker help-window-point-marker (point)))))