]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve user convenience of the rcirc debug buffer
authorIvan Shmakov <ivan@siamics.net>
Fri, 14 Sep 2018 19:05:12 +0000 (19:05 +0000)
committerNoam Postavsky <npostavs@gmail.com>
Thu, 16 May 2019 10:54:54 +0000 (06:54 -0400)
* lisp/net/rcirc.el (rcirc-debug): Ignore rcirc-debug-buffer read-only
status.  Restore point after insertion unless it was at the end.
Ensure a newline before each [lead].  Replace %Y-%m-%d with the
equivalent %F in format-time-string; remove useless concat.  (Bug#32470)

lisp/net/rcirc.el

index b1a6c1ce8d28ac895afef734def00d8dc455d111..e8710becd0e6e29754a8c6110759e838053b99d5 100644 (file)
@@ -679,16 +679,24 @@ last ping."
   "If non-nil, write information to `rcirc-debug-buffer'.")
 (defun rcirc-debug (process text)
   "Add an entry to the debug log including PROCESS and TEXT.
-Debug text is written to `rcirc-debug-buffer' if `rcirc-debug-flag'
-is non-nil."
+Debug text is appended to `rcirc-debug-buffer' if `rcirc-debug-flag'
+is non-nil.
+
+For convenience, the read-only state of the debug buffer is ignored.
+When the point is at the end of the visible portion of the buffer, it
+is moved to after the text inserted.  Otherwise the point is not moved."
   (when rcirc-debug-flag
     (with-current-buffer (get-buffer-create rcirc-debug-buffer)
-      (goto-char (point-max))
-      (insert (concat
-              "["
-              (format-time-string "%Y-%m-%dT%T ") (process-name process)
-              "] "
-              text)))))
+      (let ((old (point-marker)))
+        (set-marker-insertion-type old t)
+        (goto-char (point-max))
+        (let ((inhibit-read-only t))
+          (terpri (current-buffer) t)
+          (insert "["
+                  (format-time-string "%FT%T ") (process-name process)
+                  "] "
+                  text))
+        (goto-char old)))))
 
 (define-obsolete-variable-alias 'rcirc-sentinel-hooks
   'rcirc-sentinel-functions "24.3")