Subject: bug#24181: 25.1.50; ruby mode: wrong auto indent after "?" string literal

From: Ryo Furue <[email-masked]>
Date: Mon, 8 Aug 2016 12:50:30 +0900

Hi emacs maintainers,

1. Open an empty Ruby source code, say "tmp.rb".
2. Type the following:

#!/usr/bin/ruby
base = ?a.ord - 1

On hitting the return key at the end of the second line, the cursor
moves below "a", not to the top of the third line. The indentation
state seems to be confused.  I did this test with "emacs -q" .

?a is a valid Ruby syntax for string literal.  After writing this, I learned
that "a".ord is equivalent (I think), so I already have a workaround.

Hope this helps,

Ryo

In GNU Emacs 25.1.50.1 (x86_64-apple-darwin15.6.0, NS appkit-1404.47
Version 10.11.6 (Build 15G31))
 of 2016-07-27 built on furufuru-mac.yes.jamstec.go.jp
Repository revision: 682fdae7efe5a36636539b953a657445f2f3382b
Windowing system distributor 'Apple', version 10.3.1404
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
(New file)
C-h C-g is undefined
Making completion list... [2 times]

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/HEAD-682fdae/share/info/emacs
 --prefix=/usr/local/Cellar/emacs/HEAD-682fdae --with-xml2
 --without-dbus --with-gnutls --with-rsvg --with-imagemagick --with-ns
 --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Ruby

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message subr-x puny seq byte-opt gv
bytecomp byte-compile cl-extra help-mode cconv cl-loaddefs pcase cl-lib
dired dired-loaddefs format-spec rfc822 mml mml-sec password-cache epa
derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
ruby-mode smie easymenu time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win
ucs-normalize term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 208190 9578)
 (symbols 48 20842 0)
 (miscs 40 74 216)
 (strings 32 19355 5290)
 (string-bytes 1 615360)
 (vectors 16 34870)
 (vector-slots 8 670676 5823)
 (floats 8 177 312)
 (intervals 56 241 2)
 (buffers 976 14))