Christophe Weblog Wiki Code Publications Music
decode utf-8 as well as unhex in comint network stream output
authorChristophe Rhodes <csr21@cantab.net>
Mon, 21 Apr 2014 20:56:55 +0000 (21:56 +0100)
committerChristophe Rhodes <csr21@cantab.net>
Mon, 21 Apr 2014 20:56:55 +0000 (21:56 +0100)
squeeze.el

index 406ffac5adaf74040a1da74c9248bb0ba6183111..86fd2e982ffd14c0039cf312b288cd66cad6cb02 100644 (file)
     (define-key map (kbd "TAB") 'completion-at-point)
     map))
 
+(defun squeeze-unhex-and-decode-utf8-string (string)
+  (decode-coding-string (url-unhex-string string) 'utf-8))
+
 (define-derived-mode squeeze-mode comint-mode "Squeeze"
   "Major mode for interacting with the Squeezebox Server CLI.\\<squeeze-mode-map>"
   (add-to-list 'completion-at-point-functions 'squeeze-complete-command-at-point)
-  (add-hook 'comint-preoutput-filter-functions 'url-unhex-string nil t)
+  (add-hook 'comint-preoutput-filter-functions 'squeeze-unhex-and-decode-utf8-string nil t)
   (add-hook 'comint-preoutput-filter-functions 'squeeze-update-state nil t))
 
 (defvar squeeze-control-mode-map