From 5ab33f2b8a7184d062c33bc43b1bfd3fe990e3b5 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Mon, 30 May 2011 20:23:56 +0800 Subject: [PATCH] Decode all incoming messages in rcirc.el Also allow automatic coding system detection if rcirc-decode-coding-system is nil. See discussion in http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8744 --- lisp/ChangeLog | 3 +++ lisp/net/rcirc.el | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5176ceca0a0..0064bb79544 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,9 @@ 2011-05-30 Leo Liu * net/rcirc.el (rcirc-debug-buffer): Use visible buffer name. + (rcirc-print): Decode all incoming messages (bug#8744). + (rcirc-decode-coding-system): Allow value nil for automatic coding + system detection. 2011-05-29 Chong Yidong diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 7b1f85769dc..b1ee4c45373 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -314,9 +314,11 @@ Called with 5 arguments, PROCESS, SENDER, RESPONSE, TARGET and TEXT." :type 'boolean :group 'rcirc) -(defcustom rcirc-decode-coding-system 'utf-8 - "Coding system used to decode incoming irc messages." +(defcustom rcirc-decode-coding-system nil + "Coding system used to decode incoming irc messages. +If nil automatically detect the coding system." :type 'coding-system + :version "24.1" :group 'rcirc) (defcustom rcirc-encode-coding-system 'utf-8 @@ -1480,9 +1482,9 @@ record activity." (old-point (point-marker)) (fill-start (marker-position rcirc-prompt-start-marker))) + (setq text (decode-coding-string text (or rcirc-decode-coding-system + (detect-coding-string text t)))) (unless (string= sender (rcirc-nick process)) - ;; only decode text from other senders, not ours - (setq text (decode-coding-string text rcirc-decode-coding-system)) ;; mark the line with overlay arrow (unless (or (marker-position overlay-arrow-position) (get-buffer-window (current-buffer))