]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding): Use
authorBozhidar Batsov <bozhidar@batsov.com>
Fri, 8 Nov 2013 16:01:55 +0000 (18:01 +0200)
committerBozhidar Batsov <bozhidar@batsov.com>
Fri, 8 Nov 2013 16:01:55 +0000 (18:01 +0200)
`ruby-encoding-magic-comment-style' to control the
style of the auto-inserted encoding comment.

lisp/ChangeLog
lisp/progmodes/ruby-mode.el

index 08265c8ef043dbb098efdc5309464a634dbbfcc2..4e76cc6c846eb1d9ac631af782240280e8fcc6fb 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-08  Bozhidar Batsov  <bozhidar@batsov.com>
+
+       * 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  <dgutov@yandex.ru>
 
        * progmodes/ruby-mode.el (ruby-smie--indent-to-stmt): Use
index 9c733d68f2ba557342a637b75165fed1669c416a..1602848c7128db0708f4f9e29006025cf55f4d24 100644 (file)
@@ -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)))))))