From 71731c03382ba72c08d8a8d15ee074b4d3c97e66 Mon Sep 17 00:00:00 2001 From: Bozhidar Batsov Date: Fri, 8 Nov 2013 18:01:55 +0200 Subject: [PATCH] * lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding): Use `ruby-encoding-magic-comment-style' to control the style of the auto-inserted encoding comment. --- lisp/ChangeLog | 6 ++++++ lisp/progmodes/ruby-mode.el | 23 ++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 08265c8ef0..4e76cc6c84 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-11-08 Bozhidar Batsov + + * progmodes/ruby-mode.el (ruby-mode-set-encoding): Use + `ruby-encoding-magic-comment-style' to control the + style of the auto-inserted encoding comment. + 2013-11-08 Dmitry Gutov * progmodes/ruby-mode.el (ruby-smie--indent-to-stmt): Use diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 9c733d68f2..1602848c71 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -261,6 +261,20 @@ explicitly declared in magic comment." "Insert a magic Emacs 'coding' comment upon save if this is non-nil." :type 'boolean :group 'ruby) +(defcustom ruby-encoding-magic-comment-style 'ruby + "The style of the magic encoding comment to use." + :type '(choice + (const :tag "Emacs Style" emacs) + (const :tag "Ruby Style" ruby) + (const :tag "Custom Style" custom)) + :group 'ruby) + +(defcustom ruby-custom-encoding-magic-comment-template "# coding: %s" + "The encoding comment template to be used when +`ruby-encoding-magic-comment-style' is set to `custom'." + :type 'string + :group 'ruby) + (defcustom ruby-use-encoding-map t "Use `ruby-encoding-map' to set encoding magic comment if this is non-nil." :type 'boolean :group 'ruby) @@ -639,7 +653,14 @@ explicitly declared in magic comment." (insert coding-system))) ((looking-at "\\s *#.*coding\\s *[:=]")) (t (when ruby-insert-encoding-magic-comment - (insert "# -*- coding: " coding-system " -*-\n")))) + (let ((encoding-magic-comment-template + (case ruby-encoding-magic-comment-style + ('ruby "# coding: %s") + ('emacs "# -*- coding: %s -*-") + ('custom ruby-custom-encoding-magic-comment-template)))) + (insert + (format encoding-magic-comment-template coding-system) + "\n"))))) (when (buffer-modified-p) (basic-save-buffer-1))))))) -- 2.20.1