* misc/ruby-additional.el: Properly quote the body.  An unquoted
  body given to eval-after-load is evaluated immediately!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-additional.el: Use preceding-char/following-char
  (returning 0 at BOF/EOF) instead of char-before/char-after
  (returning nil at BOF/EOF) to avoid error from char-syntax when
  at BOF/EOF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Make ruby-electric play nicely with smartparens-mode.

* misc/ruby-electric.el (ruby-electric-space-can-be-expanded-p):
  Return nil to avoid "end" insertion when in smartparens-mode
  that is configured to insert "end" for the same keyword.

* misc/ruby-electric.el (ruby-electric-keywords): New custom
  variable to replace `ruby-electric-simple-keywords-re` with.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-additional.el: Add a standard header and footer,
  including (provide 'ruby-additional).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
misc/ruby-mode.el: Improve `ruby-mode-set-encoding`.

* misc/ruby-additional.el (ruby-mode-set-encoding): Add support
  for `prefer-utf-8` which was introduced in Emacs trunk.

* misc/ruby-additional.el (ruby-encoding-map): Add a mapping from
  `japanese-cp932` to `cp932` to fix the problem where saving a
  source file written in Shift_JIS twice would end up having
  `coding: japanese-cp932` which Ruby could not recognize.

* misc/ruby-additional.el (ruby-mode-set-encoding): Add support
  for encodings mapped to nil in `ruby-encoding-map`.

* misc/ruby-additional.el (ruby-encoding-map): Map `us-ascii` and
  `utf-8` to nil by default, meaning they need not be explicitly
  declared in magic comment.

* misc/ruby-additional.el (ruby-encoding-map): Add type
  declaration for better customize UI.

* misc/ruby-mode.el: Ditto for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-additional.el (ruby-mode-set-encoding): Use
  `default-buffer-file-coding-system` if the :prefer-utf-8
  property is not available.

* misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.

* misc/ruby-additional.el (ruby-encoding-map): Override the
  default value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-additional.el (ruby-mode-set-encoding): Add a missing
  else clause to unbreak with `cp932`, etc.

* misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-mode.el: Use preceding-char/following-char
  (returning 0 at BOF/EOF) instead of char-before/char-after
  (returning nil at BOF/EOF) to avoid error from char-syntax when
  at BOF/EOF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix a typo: s/preceging/preceding/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Import ruby-electric.el 2.0.

* misc/ruby-electric.el: Import ruby-electric.el 2.0 from
  https://github.com/knu/ruby-electric.el which integrates changes
  from another fork by @qoobaa.
  * Allow ruby-electric-mode to be disabled by introducing a
    dedicated key map.  Electric key bindings are now defined in
    ruby-electric-mode-map instead of overwriting ruby-mode-map.
  * Add ruby-electric-mode-hook.
  * Use a remap in binding ruby-electric-delete-backward-char.
  * Totally revamp electric keywords and then introduce electric
    return.  Modifier keywords are now properly detected making
    use of ruby-mode's indentation level calculator, and
  * block-mid keywords (then, else, elsif, when, rescue and
    ensure) also become electric with automatic reindentation.
  * Add standarized comments for ELPA integration.
  * Fix interaction with smartparens-mode by disabling its end
    keyword completion, since ruby-electric has become more clever
    at it.
  * The custom variable `ruby-electric-keywords` is changed to
    `ruby-electric-keywords-alist`, allowing user to fine-grained
    configuration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Import ruby-electric.el 2.0.1, a bug fix release.

* misc/ruby-electric.el: Import ruby-electric.el 2.0.1 which fixes
  a bug and a flaw with auto-end introduced in the revamp.

  * ruby-forward-sexp is inappropriate here because it moves the
    cursor past the keyword.

  * Fix a reversed looking-back check in
    ruby-electric--block-beg-keyword-at-point-p.

  * Do not add end again if space or return is hit repeatedly
    after a block beginning keyword.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e