GNU bug report logs - #15941
24.2; Shell-script mode's syntax highligting gets confused by shift (<<) operator like in '$((1 << 32))

Previous Next

Package: emacs;

Reported by: Ilya Tatar <ilya.tatar <at> hds.com>

Date: Wed, 20 Nov 2013 22:15:02 UTC

Severity: normal

Merged with 8632

Found in versions 23.2, 24.2

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#8632: closed (23.2; shell-script[bash] doesn't handle
 bitshift $(( 1 << 16 )))
Date: Thu, 21 Nov 2013 01:42:04 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 20 Nov 2013 20:41:00 -0500
with message-id <jwvzjoycz1r.fsf-monnier+emacsbugs <at> gnu.org>
and subject line Re: bug#15941: 24.2; Shell-script mode's syntax highligting gets confused by shift (<<) operator like in '$((1 << 32))
has caused the debbugs.gnu.org bug report #15941,
regarding 23.2; shell-script[bash] doesn't handle bitshift $(( 1 << 16 ))
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
15941: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15941
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ben Wong <bug-gnu-emacs+gnu.org <at> wongs.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2; shell-script[bash] doesn't handle bitshift $(( 1 << 16 ))
Date: Fri, 06 May 2011 15:38:05 -0700
In shell-script mode (bash minor mode) Emacs 23.2 incorrectly parses the
following line as a HERE DOCUMENT.

	echo $(( 1 << 16 ))

It is confused because sh-font-lock-open-heredoc (in sh-script.el)
does not know about bash's ARITHMETIC EXPANSION. There should be a
function, similar to sh-in-comment-or-string, which parses the
script looking for arithmetic expansion.

As a temporary workaround for users, I believe it is legal to put double
quotes around any arithmetic expansion to force emacs to view it as a
string.


In GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
 of 2010-12-11 on raven, modified by Debian
configured using `configure  '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Shell-script

Minor modes in effect:
  shell-dirtrack-mode: t
  gpm-mouse-mode: t
  which-function-mode: t
  show-paren-mode: t
  display-time-mode: t
  recentf-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  line-number-mode: t



[Message part 3 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Ilya Tatar <ilya.tatar <at> hds.com>
Cc: 15941-done <at> debbugs.gnu.org
Subject: Re: bug#15941: 24.2;
 Shell-script mode's syntax highligting gets confused by shift (<<)
 operator like in '$((1 << 32))
Date: Wed, 20 Nov 2013 20:41:00 -0500
> 2. add this line to it
> echo $((1 << 32))
> everything that follows this line will be highlighted as though it
> is a comment
[...]
> In GNU Emacs 24.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.6.4)

Thank you.  This is already fixed in 24.3.


        Stefan


This bug report was last modified 11 years and 187 days ago.

Previous Next


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