GNU bug report logs - #17050
24.3.50; [ruby-mode] Indentation bugs

Previous Next

Package: emacs;

Reported by: Bozhidar Batsov <bozhidar <at> batsov.com>

Date: Thu, 20 Mar 2014 14:57:02 UTC

Severity: minor

Found in version 24.3.50

Fixed in version 24.4

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17050 in the body.
You can then email your comments to 17050 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#17050; Package emacs. (Thu, 20 Mar 2014 14:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bozhidar Batsov <bozhidar <at> batsov.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 20 Mar 2014 14:57:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Bozhidar Batsov <bozhidar <at> batsov.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; [ruby-mode] Indentation bugs
Date: Thu, 20 Mar 2014 16:56:15 +0200
The following code:


return render json: {
                errors: { base: [message] },
                copying: copying
              },
              status: 400


is indented like this:

return render json: {
  errors: { base: [message] },
  copying: copying
},
              status: 400

Not totally sure what the best indentation would be, but this certainly
seems wrong.

Same goes for the simpler case:

render json: {
  errors: { base: [message] },
  copying: copying
},
       status: 400

Personally I think `}` should be aligned to the `json` param in such
cases.

The addition of () seems to correct the indentation:

render(json: {
         errors: { base: [message] },
         copying: copying
       },
       status: 400)

There's also this problem:

top test(
  some,
  top,
  test)

It should be indented like this:

top test(
      some,
      top,
      test)



In GNU Emacs 24.3.50.1 (x86_64-apple-darwin13.0.0, NS apple-appkit-1265.00)
 of 2014-03-01 on Bozhidars-MacBook-Pro.local
Windowing system distributor `Apple', version 10.3.1265
Configured using:
 `configure --prefix=/usr/local/Cellar/emacs/HEAD --without-dbus
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs
 --without-gnutls --with-ns --disable-ns-self-contained'

Important settings:
  locale-coding-system: utf-8-unix

Major mode: Ruby

Minor modes in effect:
  subword-mode: t
  ruby-tools-mode: t
  inf-ruby-minor-mode: t
  magit-auto-revert-mode: t
  diff-auto-refine-mode: t
  guru-mode: t
  erc-truncate-mode: t
  erc-spelling-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  which-function-mode: t
  flx-ido-mode: t
  ido-ubiquitous-mode: t
  winner-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  whitespace-mode: t
  global-anzu-mode: t
  anzu-mode: t
  projectile-global-mode: t
  projectile-mode: t
  flyspell-mode: t
  shell-dirtrack-mode: t
  volatile-highlights-mode: t
  global-hl-line-mode: t
  recentf-mode: t
  savehist-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  prelude-global-mode: t
  prelude-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
N e w SPC c o p SPC E m p t y I n t e r p o l a t i
o n C-c C-c P P l l q <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> l l q <help-echo> <help-echo>
<help-echo> <down-mouse-1> <mouse-1> C-x g F F <down-mouse-1>
<mouse-1> s-f C-g s-f d e f a u l t <return> M-< C-s
r e d u c e C-l <help-echo> <down-mouse-1> <mouse-1>
s-f s i g n a l e x <return> M-> M-< C-c p t M-> M-<
<down-mouse-1> <mouse-1> s-f c o p y 8 i n <backspace>
<backspace> <backspace> i n g s c o n t r C-g <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <down-mouse-1> <mouse-1> C-x
b c o n t r o C-g s-f t e s t <backspace> <backspace>
C-g s-p u i a p <return> c o p y i n g _ c o n t r
o <return> <help-echo> <help-echo> <down-mouse-1> <mouse-1>
<down-mouse-1> <mouse-1> <tab> <tab> <down-mouse-1>
<mouse-1> <tab> <down-mouse-1> <mouse-1> <tab> <down-mouse-1>
<mouse-1> <down-mouse-1> <mouse-1> <tab> <down-mouse-1>
<mouse-1> <tab> <down-mouse-1> <mouse-1> <down-mouse-1>
<mouse-1> <down-mouse-1> <mouse-1> <tab> <down-mouse-1>
<mouse-1> <tab> <tab> <tab> <tab> C-/ C-/ C-/ C-/ C-/
<help-echo> <help-echo> C-p C-a C-a C-SPC C-n C-n C-n
C-n C-n C-n C-e M-w <help-echo> <down-mouse-1> <mouse-1>
<down-mouse-1> <mouse-1> <tab> <tab> C-/ C-x b t e
s t <return> C-e <return> <return> <return> C-y C-p
C-p C-p C-p C-p C-p C-a C-d C-d C-d C-d C-d C-d C-d
C-M-\ C-n C-n C-n C-n C-n C-n <tab> C-p C-p C-p C-p
C-p C-p C-a C-SPC C-n C-n C-n C-n C-n C-n C-n M-w M-x
s e n d b u g <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> r e p o r t b u
g <return>

Recent messages:
An error occurred while StringConversionInInterpolation cop was inspecting /var/folders/32/92h89tr96rs0s79j4ckhhm_r0000gn/T/flycheck42087B-Z/test.rb.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
Mention the following information in the issue report:
0.19.1 (using Parser 2.1.7, running on ruby 2.0.0 x86_64-darwin12.4.0)

Checker definition probably flawed.
Indenting region...done
Indented buffer.
Mark activated

Load-path shadows:
/Users/bozhidar/.emacs.d/elpa/tabulated-list-20120406.2251/tabulated-list hides /usr/local/Cellar/emacs/HEAD/share/emacs/24.3.50/lisp/emacs-lisp/tabulated-list

Features:
(shadow sort emacsbug make-mode ielm lisp-mnt clojure-test-mode
cider-scratch network-stream starttls tls slime-fancy
slime-fontifying-fu slime-package-fu slime-references slime-scratch
slime-presentations slime-fuzzy slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-parse slime-repl elp slime
hyperspec ace-jump-mode hippie-exp browse-url cus-edit cus-start
cus-load slim-mode mail-extr eieio-opt speedbar sb-image ezimage dframe
rst yaml-mode superword subword ruby-tools inf-ruby ruby-mode-expansions
smartparens-ruby ruby-mode smie cider coffee-mode js-mode-expansions js
json cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs web-mode-expansions
web-mode disp-table nxml-uchnm rng-xsd xsd-regexp rng-cmpct cider-mode
cider-repl cider-eldoc cider-interaction arc-mode archive-mode
cider-client nrepl-client cider-util ewoc clojure-mode-expansions
clojure-mode inf-lisp find-dired vc-annotate vc vc-dispatcher misearch
multi-isearch gitignore-mode conf-mode ibuf-ext ibuffer ffap url-parse
url-vars mule-util executable magit-key-mode magit view epa derived epg
epg-config diff-mode git-rebase-mode git-commit-mode server log-edit
message sendmail rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils
gmm-utils mailheader pcvs-util add-log vc-git markdown-mode noutline
outline rainbow-mode color rainbow-delimiters elisp-slime-nav guru-mode
prelude-key-chord key-chord prelude-xml nxml-mode-expansions
html-mode-expansions sgml-mode smartparens-html rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc
xmltok prelude-web prelude-scss prelude-scheme prelude-ruby prelude-perl
prelude-org prelude-js prelude-erc erc-truncate erc-autoaway
erc-spelling erc-notify erc-log erc-list erc-menu erc-join erc-ring
erc-networks erc-pcomplete erc-track erc-match erc-button erc-fill
erc-stamp erc-netsplit erc-goodies erc erc-backend erc-compat
prelude-emacs-lisp prelude-css prelude-common-lisp slime-autoloads
prelude-clojure prelude-lisp prelude-c prelude-programming flycheck
help-mode rx f which-func imenu prelude-ido smex flx-ido flx
ido-ubiquitous warnings ido prelude-osx exec-path-from-shell
prelude-global-keybindings prelude-editor winner undo-tree diff esh-var
esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups eshell
esh-module esh-mode esh-util re-builder whitespace browse-kill-ring
midnight ediff-merg ediff-wind ediff-diff ediff-mult ediff-help
ediff-init ediff-util ediff dired-x dired anzu projectile pkg-info
find-func grep compile s bookmark pp expand-region text-mode-expansions
er-basic-expansions expand-region-core expand-region-custom flyspell
ispell tramp tramp-compat auth-source gnus-util mm-util mail-prsvr
password-cache tramp-loaddefs trampver shell pcomplete comint ansi-color
format-spec etags ring volatile-highlights hl-line windmove recentf
tree-widget wid-edit savehist saveplace diminish smartparens-config
smartparens autorevert filenotify delsel prelude-mode easy-mmode edmacro
kmacro prelude-core epl advice help-fns dash thingatpt prelude-ui
zenburn-theme prelude-packages finder-inf ack-and-a-half-autoloads
diminish-autoloads erlang-autoloads flx-ido-autoloads eieio byte-opt
bytecomp byte-compile cconv eieio-core grizzl-autoloads
key-chord-autoloads logito-autoloads info easymenu cl-macs gv
pkg-info-autoloads rainbow-delimiters-autoloads rubocop-autoloads
volatile-highlights-autoloads yaml-mode-autoloads package cl cl-loaddefs
cl-lib time-date tooltip electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process cocoa ns
multi-tty emacs)




Reply sent to Dmitry Gutov <dgutov <at> yandex.ru>:
You have taken responsibility. (Fri, 21 Mar 2014 04:34:03 GMT) Full text and rfc822 format available.

Notification sent to Bozhidar Batsov <bozhidar <at> batsov.com>:
bug acknowledged by developer. (Fri, 21 Mar 2014 04:34:04 GMT) Full text and rfc822 format available.

Message #10 received at 17050-done <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Bozhidar Batsov <bozhidar <at> batsov.com>
Cc: 17050-done <at> debbugs.gnu.org
Subject: Re: bug#17050: 24.3.50; [ruby-mode] Indentation bugs
Date: Fri, 21 Mar 2014 06:33:37 +0200
Version: 24.4

Bozhidar Batsov <bozhidar <at> batsov.com> writes:

> return render json: {
>   errors: { base: [message] },
>   copying: copying
> },
>               status: 400

> top test(
>   some,
>   top,
>   test)

Thanks for the report, both should be fixed in revision 116816, on
branch emacs-24.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 18 Apr 2014 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 12 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.