unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ivan Shmakov <ivan@siamics.net>
To: 32470@debbugs.gnu.org
Subject: bug#32470: rcirc-debug: ignore read-only; do not move point if mid-buffer; use %F
Date: Sat, 18 Aug 2018 08:57:43 +0000	[thread overview]
Message-ID: <87k1ooyrug.fsf@violet.siamics.net> (raw)

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

Package:  emacs
Severity: wishlist
Tags: patch

	I find it quite convenient to be able to make the *rcirc debug*
	buffer read-only, so that I won’t be able to change it by
	accident.  This of course requires the rcirc-debug function to
	use inhibit-read-only.

	Another usability tweak is to restore point after insertion –
	unless it was at the end of the (visible portion of the) buffer
	before.  (Hence allowing the buffer to scroll normally after
	end-of-buffer is used.)

	Also, while we’re at, %Y-%m-%d can be replaced with the
	equivalent %F in the format-time-string argument; and concat
	is useless as ‘insert’ effectively concatenates its string
	arguments already.

	I’m somewhat unsure if this change is NEWS-worthy; if so,
	I suggest the following entry.

** rcirc

+++
*** The 'rcirc-debug-buffer' can now be made read-only; it will be
ignored when adding debug text to it.  Also, the point will not be
moved, unless it's set to the end of the visible portion of the buffer.

	Please thus consider the patch MIMEd.

-- 
FSF associate member #7257  np. Funiculì, funiculà — Luciano Pavarotti

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/patch, Size: 1724 bytes --]

From: Ivan Shmakov <ivan@siamics.net>
Subject: Improve user convenience of the rcirc debug buffer
Date: Sat, 18 Aug 2018 08:57:08 +0000

* lisp/net/rcirc.el (rcirc-debug): Ignore rcirc-debug-buffer read-only
status.  Restore point after insertion unless it was at the end.
Replace %Y-%m-%d with the equivalent %F in format-time-string; remove
useless concat.  (Bug#-XXX-)
---

--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -670,16 +670,24 @@
   "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 (set-marker (make-marker) (point))))
+        (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	other threads:[~2018-08-18  8:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-18  8:57 Ivan Shmakov [this message]
2018-09-14 12:22 ` bug#32470: rcirc-debug: ignore read-only; do not move point if mid-buffer; use %F Noam Postavsky
2018-09-14 19:05   ` Ivan Shmakov
2018-09-18 22:46     ` Noam Postavsky
2019-05-16 11:26       ` Noam Postavsky

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k1ooyrug.fsf@violet.siamics.net \
    --to=ivan@siamics.net \
    --cc=32470@debbugs.gnu.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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).