Subject: bug#21367: closed (Re: bug#21367: 24.5; Syntax highlighting: required keyword arguments in ruby are highlighted incorrectly)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 15 Nov 2015 05:30:07 +0000

Your bug report

#21367: 24.5; Syntax highlighting: required keyword arguments in ruby are highlighted incorrectly

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21367: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21367
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21367: 24.5; Syntax highlighting: required keyword arguments in ruby are highlighted incorrectly
From: Dmitry Gutov <[email-masked]>
To: Kieran Trezona <[email-masked]>, [email-masked]
Date: Sun, 15 Nov 2015 07:29:21 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Kieran,

On 08/28/2015 12:35 AM, Kieran Trezona wrote:

> Required keyword arguments (introduced in Ruby 2.1) are being
>
> highlighted in alternating colours rather than consistently.

Thank you for the report, should be fixed now in emacs-25 branch.

Subject: 24.5; Syntax highlighting: required keyword arguments in ruby are highlighted incorrectly
From: Kieran Trezona <[email-masked]>
To: [email-masked]
Date: Fri, 28 Aug 2015 09:35:32 +1200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi there,

Required keyword arguments (introduced in Ruby 2.1) are being

highlighted in alternating colours rather than consistently.

I have attached example images showing this behaviour. Note that

this only occurs when the the keyword arguments are required, i.e.,

they don’t have a default value. So, the following method signature

would result in the argument colours alternating:

  def foo(bar:, baz:)

  end

While the following method signature would result in all of the

arguments being coloured consistently:

  def foo(bar: true, baz: false)

  end

Also note that inserting a space before the delimiting comma between

the arguments results in consistent colouring:

  def foo(bar: , baz:)

  end

Please let me know if you need any further information.

Thanks very much,

Kieran

--report-emacs-bug output follows--

In GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21)

 of 2015-04-11 on builder10-9.porkrind.org

Windowing system distributor `Apple', version 10.3.1348

Configured using:

 `configure --with-ns '--enable-locallisppath=/Library/Application

 Support/Emacs/${version}/site-lisp:/Library/Application

 Support/Emacs/site-lisp''

Important settings:

  value of $LC_CTYPE:

  value of $LANG:

  locale-coding-system: utf-8

Major mode: Ruby

Minor modes in effect:

  global-git-commit-mode: t

  async-bytecomp-package-mode: t

  global-flycheck-mode: t

  flycheck-mode: t

  rspec-verifiable-mode: t

  subword-mode: t

  robe-mode: t

  eldoc-mode: t

  highlight-symbol-nav-mode: t

  highlight-symbol-mode: t

  diff-hl-mode: t

  diff-auto-refine-mode: t

  bug-reference-prog-mode: t

  paredit-everywhere-mode: t

  goto-address-prog-mode: t

  auto-compile-on-load-mode: t

  auto-compile-on-save-mode: t

  ipretty-mode: t

  global-rinari-mode: t

  rinari-minor-mode: t

  inf-ruby-minor-mode: t

  shell-dirtrack-mode: t

  guide-key-mode: t

  hes-mode: t

  global-page-break-lines-mode: t

  page-break-lines-mode: t

  delete-selection-mode: t

  cua-mode: t

  show-paren-mode: t

  global-undo-tree-mode: t

  undo-tree-mode: t

  global-whitespace-cleanup-mode: t

  whitespace-cleanup-mode: t

  global-auto-revert-mode: t

  electric-pair-mode: t

  savehist-mode: t

  desktop-save-mode: t

  winner-mode: t

  global-auto-complete-mode: t

  auto-complete-mode: t

  ido-ubiquitous-mode: t

  ido-everywhere: t

  recentf-mode: t

  global-anzu-mode: t

  anzu-mode: t

  tooltip-mode: t

  electric-indent-mode: t

  mouse-wheel-mode: t

  global-prettify-symbols-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

  column-number-mode: t

  line-number-mode: t

  transient-mark-mode: t

Recent messages:

(No files need saving)

<left-fringe> <drag-mouse-1> is undefined

byte-code: Beginning of buffer [5 times]

Auto-saving...done

Auto-saving...done

Auto-saving...done

user-error: No further undo information

(No changes need to be saved)

Quit

End of buffer

Load-path shadows:

None found.

Features:

(shadow sort mail-extr emacsbug sendmail term ehelp magit-blame

magit-stash magit-bisect magit-remote magit-commit magit-sequence magit

magit-apply magit-wip magit-log magit-diff smerge-mode magit-core

magit-process magit-popup magit-mode magit-git crm magit-section

magit-utils git-commit log-edit message rfc822 mml mml-sec mm-decode

mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader pcvs-util

add-log with-editor async-bytecomp async tramp-sh wgrep-ag wgrep grep

vc-hg ag find-dired ac-robe ace-jump-mode tabify dash-at-point

ac-inf-ruby face-remap align landmark smex mc-mark-more

multiple-cursors-core rect executable elisp-slime-nav redshank skeleton

aggressive-indent highlight-quoted vc-bzr vc-sccs vc-svn vc-cvs vc-rcs

diff-hl-dired org-element org-rmail org-mhe org-irc org-info org-gnus

org-docview doc-view image-mode dired-sort dired+ image-dired image-file

dired-x dired-aux dired org-bibtex bibtex org-bbdb org-w3m jsx-mode

warnings web-mode mmm-sample mmm-mode mmm-univ mmm-class tidy

rainbow-mode color json-mode json-reformat json-snatcher yaml-mode

rainbow-delimiters mmm-erb mmm-region mmm-utils tagedit sgml-mode

js2-imenu-extras js2-mode js2-old-indent js cc-mode cc-fonts cc-guess

cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs linum

disp-table vc-git vc-darcs xml flycheck-clojure cider-client

nrepl-client tramp tramp-compat tramp-loaddefs trampver queue cider-util

clojure-mode flycheck-package lisp-mnt flycheck-hdevtools flycheck

subr-x flymake rspec-mode superword subword robe eldoc url-http tls

url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw url

url-proxy url-privacy url-expand url-methods url-history url-cookie

url-domsuf url-util url-parse auth-source gnus-util mm-util mail-prsvr

password-cache url-vars mailcap etags highlight-symbol diff-hl vc-dir

ewoc vc vc-dispatcher diff-mode bug-reference paredit-everywhere paredit

goto-addr init init-locales init-local session

sanityinc-tomorrow-eighties-theme color-theme-sanityinc-tomorrow server

jka-compr init-ledger init-dash init-misc init-common-lisp

init-clojure-cider init-clojure init-slime init-lisp cl-lib-highlight

auto-compile packed ipretty pp init-paredit init-sql init-rails rinari

json jump inflections findr ruby-compilation which-func imenu inf-ruby

compile ruby-mode smie init-ruby-mode derived init-haskell

init-python-mode init-haml init-css init-html init-nxml init-org

ob-sqlite ob-sh shell ob-ruby ob-python ob-octave ob-ledger ob-latex

ob-gnuplot ob-dot ob-ditaa ob-R org-clock org org-macro org-footnote

org-pcomplete pcomplete org-list org-faces org-entities noutline outline

org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp

org-src ob-keys ob-comint comint ansi-color ob-core ob-eval org-compat

org-macs org-loaddefs format-spec find-func cal-menu calendar

cal-loaddefs init-php init-javascript easy-mmode init-erlang

erlang-start init-csv init-markdown init-textile init-crontab

init-compile init-github init-git init-darcs init-vc init-editing-utils

guide-key s ucs-normalize popwin dash highlight-escape-sequences

whole-line-or-region page-break-lines delsel cua-base paren undo-tree

diff whitespace-cleanup-mode whitespace autorevert filenotify elec-pair

init-mmm mmm-auto mmm-vars mmm-compat init-fonts init-sessions savehist

desktop frameset init-windows switch-window quail help-mode winner ring

init-auto-complete auto-complete-config auto-complete popup

init-hippie-expand init-ido ido-ubiquitous ido-completing-read+ ido

init-recentf recentf tree-widget wid-edit init-flycheck init-ibuffer

ibuf-macs init-uniquify init-grep init-isearch diminish anzu mule-util

thingatpt init-dired init-proxies init-gui-frames init-osx-keys edmacro

kmacro init-themes init-xterm init-frame-hooks init-exec-path

exec-path-from-shell init-elpa fullframe eieio byte-opt bytecomp

byte-compile cl-extra cconv eieio-core rx cl-macs slime-autoloads info

easymenu package epg-config init-site-lisp cl gv cl-loaddefs cl-lib

init-utils init-compat init-benchmarking advice help-fns 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)

Memory information:

((conses 16 753436 85819)

 (symbols 48 57910 0)

 (miscs 40 23901 5918)

 (strings 32 172559 22772)

 (string-bytes 1 4657766)

 (vectors 16 85104)

 (vector-slots 8 1922389 141622)

 (floats 8 893 3334)

 (intervals 56 11310 257)

 (buffers 960 121))