GNU bug report logs -
#15941
24.2; Shell-script mode's syntax highligting gets confused by shift (<<) operator like in '$((1 << 32))
Previous Next
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
[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)]
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)]
> 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.