GNU bug report logs - #19079
24.4; smie mis-highlights unmatchable keywords

Previous Next

Package: emacs;

Reported by: Josh Berdine <josh <at> berdine.net>

Date: Mon, 17 Nov 2014 14:03:02 UTC

Severity: normal

Found in version 24.4

To reply to this bug, email your comments to 19079 AT debbugs.gnu.org.

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#19079; Package emacs. (Mon, 17 Nov 2014 14:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josh Berdine <josh <at> berdine.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 17 Nov 2014 14:03:02 GMT) Full text and rfc822 format available.

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

From: Josh Berdine <josh <at> berdine.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4; smie mis-highlights unmatchable keywords
Date: Mon, 17 Nov 2014 11:28:38 +0000
emacs -Q
M-x load-file
~/.opam/4.02.1/share/tuareg/tuareg.el
M-x tuareg-mode
M-x show-paren-mode
let f () =
  let x = 0 in
  ()
C-u 17 C-b

This starts a fresh emacs, loads the tuareg mode, enables
show-paren-mode, enters some ocaml code, and puts the point on a 'let'
keyword.  This 'let' is highlighted in 'show-paren-mismatch-face'.  As
there is no way for this 'let' to be matched (as far as smie is
concerned) this 'let' should not be highlighted.

See related discussion at
<https://github.com/ocaml/tuareg/issues/26#issuecomment-63101028>.



In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.8)
 of 2014-11-11 on juniper, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Ubuntu 14.04.1 LTS

Configured using:
 `configure --build x86_64-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/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp
 --build x86_64-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/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp
 --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
 -Werror=format-security -Wall' CPPFLAGS=-D_FORTIFY_SOURCE=2
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

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

Major mode: Tuareg

Minor modes in effect:
  show-paren-mode: t
  tooltip-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

Recent input:
M-x l o a d - f i l e <return> C-y <return> M-x t u 
a r e g - m o d e <return> M-x s h o w - p a r e n 
- m o d e <return> <help-echo> <help-echo> C-y C-u 
1 7 C-b M-x r e p o r t - e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading /home/jjb/.opam/4.02.1/share/tuareg/tuareg.el (source)...done
Show-Paren mode enabled

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils cus-start cus-load paren caml tuareg
speedbar sb-image ezimage dframe skeleton compile comint ansi-color ring
derived smie cl-macs easymenu cl gv cl-loaddefs cl-lib time-date tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
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
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 109132 5468)
 (symbols 48 20890 0)
 (miscs 40 45 136)
 (strings 32 17549 4306)
 (string-bytes 1 487656)
 (vectors 16 11154)
 (vector-slots 8 402826 5044)
 (floats 8 65 238)
 (intervals 56 286 0)
 (buffers 960 12)
 (heap 1024 17476 1105))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19079; Package emacs. (Fri, 04 Dec 2020 10:27:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Josh Berdine <josh <at> berdine.net>
Cc: 19079 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#19079: 24.4; smie mis-highlights unmatchable keywords
Date: Fri, 04 Dec 2020 11:26:28 +0100
Josh Berdine <josh <at> berdine.net> writes:

> emacs -Q
> M-x load-file
> ~/.opam/4.02.1/share/tuareg/tuareg.el
> M-x tuareg-mode
> M-x show-paren-mode
> let f () =
>   let x = 0 in
>   ()
> C-u 17 C-b
>
> This starts a fresh emacs, loads the tuareg mode, enables
> show-paren-mode, enters some ocaml code, and puts the point on a 'let'
> keyword.  This 'let' is highlighted in 'show-paren-mismatch-face'.  As
> there is no way for this 'let' to be matched (as far as smie is
> concerned) this 'let' should not be highlighted.

(This bug report unfortunately got no response at the time.)

Stefan M says:

 > And sorry for overlooking the fact that "let" gets highlighted as unmatched; that's  
 > indeed an error. Could you report it via "M-x report-emacs-bug" since it's a bug in  
 > smie.el rather than in Tuareg?  

This was six years ago.  Is this still an issue in more recent versions
of Emacs?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 04 Dec 2020 10:27:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19079; Package emacs. (Fri, 04 Dec 2020 22:04:01 GMT) Full text and rfc822 format available.

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

From: Josh Berdine <josh <at> berdine.net>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 19079 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#19079: 24.4; smie mis-highlights unmatchable keywords
Date: Fri, 4 Dec 2020 22:03:23 +0000
> On Dec 4, 2020, at 10:26 AM, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
> 
> Josh Berdine <josh <at> berdine.net> writes:
> 
>> emacs -Q
>> M-x load-file
>> ~/.opam/4.02.1/share/tuareg/tuareg.el
>> M-x tuareg-mode
>> M-x show-paren-mode
>> let f () =
>>  let x = 0 in
>>  ()
>> C-u 17 C-b
>> 
>> This starts a fresh emacs, loads the tuareg mode, enables
>> show-paren-mode, enters some ocaml code, and puts the point on a 'let'
>> keyword.  This 'let' is highlighted in 'show-paren-mismatch-face'.  As
>> there is no way for this 'let' to be matched (as far as smie is
>> concerned) this 'let' should not be highlighted.
> 
> (This bug report unfortunately got no response at the time.)
> 
> Stefan M says:
> 
>> And sorry for overlooking the fact that "let" gets highlighted as unmatched; that's  
>> indeed an error. Could you report it via "M-x report-emacs-bug" since it's a bug in  
>> smie.el rather than in Tuareg?  
> 
> This was six years ago.  Is this still an issue in more recent versions
> of Emacs?

Thanks, yes, it still behaves the same way. I have just redone the repro with 27.1:

emacs -nw -Q
M-x load-file
.emacs.d/elpa/tuareg-20200518.1820/tuareg-opam.el
M-x load-file
.emacs.d/elpa/tuareg-20200518.1820/tuareg.el
M-x tuareg-mode
M-x show-paren-mode
let f () =
 let x = 0 in
 ()
C-u 17 C-b


In case it is useful, here is the current output from report-emacs-bug:


In GNU Emacs 27.1 (build 1, x86_64-apple-darwin19.5.0, NS appkit-1894.50 Version 10.15.5 (Build 19F101))
 of 2020-11-14 built on d12frosted.local
System Description:  Mac OS X 10.15.7

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading /Users/jjb/.emacs.d/elpa/tuareg-20200518.1820/tuareg-opam.el (source)...done
Loading /Users/jjb/.emacs.d/elpa/tuareg-20200518.1820/tuareg.el (source)...done
Show-Paren mode enabled
Mark set

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus <at> 27/27.1/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus <at> 27/27.1 --with-xml2 --with-gnutls
 --without-dbus --with-imagemagick --with-modules --with-rsvg --with-ns
 --disable-ns-self-contained'

Configured features:
RSVG IMAGEMAGICK GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS NS MODULES THREADS JSON PDUMPER LCMS2 GMP

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

Major mode: Tuareg

Minor modes in effect:
  show-paren-mode: t
  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
  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 rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa epg epg-config
gnus-util rmail rmail-loaddefs text-property-search time-date subr-x seq
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils cus-start cus-load paren tuareg speedbar sb-image ezimage
dframe cl-macs pcase find-file tuareg-opam derived skeleton flymake-proc
flymake easymenu compile comint ansi-color ring warnings thingatpt
cl-loaddefs cl-lib smie term/xterm xterm byte-opt gv bytecomp
byte-compile cconv tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer 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 composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray 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 threads kqueue cocoa ns lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 86470 4933)
 (symbols 48 9347 1)
 (strings 32 24410 1630)
 (string-bytes 1 762726)
 (vectors 16 10024)
 (vector-slots 8 108386 8922)
 (floats 8 26 495)
 (intervals 56 252 0)
 (buffers 1000 11))





Removed tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 06 Dec 2020 13:12:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19079; Package emacs. (Sun, 06 Dec 2020 13:13:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Josh Berdine <josh <at> berdine.net>
Cc: 19079 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#19079: 24.4; smie mis-highlights unmatchable keywords
Date: Sun, 06 Dec 2020 14:12:25 +0100
Josh Berdine <josh <at> berdine.net> writes:

> Thanks, yes, it still behaves the same way. I have just redone the repro with 27.1:
>
> emacs -nw -Q
> M-x load-file
> .emacs.d/elpa/tuareg-20200518.1820/tuareg-opam.el
> M-x load-file
> .emacs.d/elpa/tuareg-20200518.1820/tuareg.el
> M-x tuareg-mode
> M-x show-paren-mode
> let f () =
>  let x = 0 in
>  ()
> C-u 17 C-b

Thanks for checking.  Hopefully somebody with more knowledge about smie
will take a look at this.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 253 days ago.

Previous Next


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