From cbe46e5fae3879facf5db395afd73ca2600f8a41 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 3 Jun 2012 18:54:22 +0800 Subject: [PATCH] Allow clicking mouse-3 on mode line to change coding system. * lisp/bindings.el (mode-line-coding-system-map): Allow using mouse-3 to invoke set-buffer-file-coding-system. (mode-line-mule-info-help-echo): Update help text. Fixes: debbugs:289 --- etc/NEWS | 3 +++ lisp/ChangeLog | 3 +++ lisp/bindings.el | 9 ++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/etc/NEWS b/etc/NEWS index c24a8fbdfc6..3bc54d0ff2d 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -93,6 +93,9 @@ Use "coding: raw-text" instead. (shown in a tooltip or in the echo area) for any part of the mode line that does not have its own specialized help text. +*** You can now click mouse-3 in the coding system indicator to +invokes `set-buffer-file-coding-system'. + * Editing Changes in Emacs 24.2 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5ecd949d4c1..0efca43be1e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -12,6 +12,9 @@ (mode-line-mule-info, mode-line-modified): Use them. (mode-line-eol-desc, propertized-buffer-identification): Consistency fixes for help text. + (mode-line-coding-system-map): Allow using mouse-3 to invoke + set-buffer-file-coding-system (Bug#289). + (mode-line-mule-info-help-echo): Update help text. 2012-06-02 Stefan Monnier diff --git a/lisp/bindings.el b/lisp/bindings.el index 8e6c94466cf..2a37bfd19a7 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -88,6 +88,12 @@ corresponding to the mode line clicked." (when (and enable-multibyte-characters buffer-file-coding-system) (describe-coding-system buffer-file-coding-system))))) + (define-key map [mode-line mouse-3] + (lambda (e) + (interactive "e") + (save-selected-window + (select-window (posn-window (event-start e))) + (call-interactively 'set-buffer-file-coding-system)))) (purecopy map)) "Local keymap for the coding-system part of the mode line.") @@ -153,7 +159,8 @@ is displayed first.") (with-current-buffer (window-buffer window) (if buffer-file-coding-system (format "Buffer coding system (%s): %s -mouse-1: Describe coding system" +mouse-1: Describe coding system +mouse-3: Set coding system" (if enable-multibyte-characters "multi-byte" "unibyte") (symbol-name buffer-file-coding-system)) "Buffer coding system: none specified"))) -- 2.39.2