Subject: 24.1.50; Wrong behavior of move-end-of-line in ERC

From: Antoine Levitt <[email-masked]>
Date: Thu, 14 Jun 2012 09:48:20 +0200

Hi,

(setq erc-timestamp-only-if-changed-flag nil
      erc-hide-timestamps t
      erc-insert-timestamp-function 'erc-insert-timestamp-left)

Join IRC, type a few line, then go back in the text and type C-e. Point
will stop one character before EOL. It's annoying.

My quick fix is
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el
index 5831233..b43b2b3 100644
--- a/lisp/erc/erc-stamp.el
+++ b/lisp/erc/erc-stamp.el
@@ -352,7 +352,7 @@ Return the empty string if FORMAT is nil."
 			       'isearch-open-invisible 'timestamp ts)
 	;; N.B. Later use categories instead of this harmless, but
 	;; inelegant, hack. -- BPT
-	(when erc-timestamp-intangible
+	(when (and erc-timestamp-intangible (not erc-hide-timestamps))
 	  (erc-put-text-property 0 (length ts) 'intangible t ts))
 	ts)
     ""))

I think it's fine to install in trunk and certainly unlikely to cause
any further bugs (there's not much point in setting something invisible
as intangible), but I don't know very well how the code works, so I'd
appreciate it if someone could review it and fix the whole thing
consistently.

Antoine