emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 63a7153 2/2: Improve user convenience of the rcirc


From: Noam Postavsky
Subject: [Emacs-diffs] master 63a7153 2/2: Improve user convenience of the rcirc debug buffer
Date: Thu, 16 May 2019 07:24:55 -0400 (EDT)

branch: master
commit 63a71535a8998ac6e8cadb9db44cf1dca650d4cb
Author: Ivan Shmakov <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Improve user convenience of the rcirc debug buffer
    
    * 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 | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index b1a6c1c..e8710be 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]