Subject: 28.0.50; problem with json file and which-function on pretest an master

From: Andrés Ramírez <[email-masked]>
Date: Sun, 07 Jun 2020 04:12:20 +0000

Hi.

I have an issue after opening a json file with pretest.  Going to end of file with M-> then M-x backward-delete-char. I get
this:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (cl-assertion-failed ((or (= (point-min) (point-max)) (eq js--last-parse-pos (point))) nil))
  cl--assertion-failed((or (= (point-min) (point-max)) (eq js--last-parse-pos (point))))
  js--imenu-create-index()
  imenu--make-index-alist(t)
  which-function()
  which-func-update-1(#<window 3 on sale_line_grammar.json>)
  which-func-update()
  apply(which-func-update nil)
  timer-event-handler([t 0 0 500000 t which-func-update nil idle 0])
--8<---------------cut here---------------end--------------->8---

I have tried to do the same with emacs -Q (But. I was not able of
reproducing it).

Also I have tested the same with emacs26.3. And everything works ok.

So my personal conclusion is that this is a regression (related to which-func.el).

So. I have not been able of reproducing it with emacs -Q. If needed I
could share my dot emacs files.

Just in Case this is the content of the file that causes the issue:

--8<---------------cut here---------------start------------->8---
//  TODO: code the #else; analize  it {before document better the keywords}
#if ( ${saleline.is_service()} == 0 )
${saleline.supplier()}/${saleline.subcategory()}/${saleline.color()}/${saleline.size()}/${saleline.name()}/${saleline.unit()}
#end
#if ( ${saleline.is_service()} == "1" )
${saleline.supplier()}/${saleline.subcategory()}/${saleline.name()}
#end
--8<---------------cut here---------------end--------------->8---

Best Regards

In GNU Emacs 28.0.50 (build 2, armv7l-unknown-linux-gnueabihf, GTK+ Version 3.24.20, cairo version 1.17.3)
Repository revision: a69ef94e22716f9cbb7cf8d78b89e7be4a4c60eb
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Arch Linux ARM

Recent messages:
Loading /home/olla/.emacs.d/init.el (source)...done
Loading /home/olla/.emacs.d/elpa/god-mode/god-mode.el (source)...done
Loading /home/olla/.emacs.d/elpa/avy/avy.el (source)...done
Loading /home/olla/.emacs.d/elpa/ace-window/ace-window.el (source)...done
Loading /home/olla/.emacs.d/my-noexternals.el (source)...
Created wl link.
loading my-noexternal not dot file
restoring gc-cons-threshold after startup
Loading /home/olla/.emacs.d/my-noexternals.el (source)...done
Package cl is deprecated

Configured using:
 'configure '--program-transform-name=s/^ctags$/ctags.emacs/'
 --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/usr/share --with-x-toolkit=gtk --mandir=/usr/share/man
 --pdfdir=/usr/share/doc/emacs --with-modules --with-xft --without-gconf
 --without-gsettings --with-imagemagick --without-xwidgets --without-pop
 --with-gameuser=:games --disable-build-details 'CFLAGS=-march=armv7-a
 -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong
 -fno-plt -g3 -Og
 -fdebug-prefix-map=/home/user/abs/emacs-gtk-85715/src=/usr/src/debug'
 CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS GLIB NOTIFY
INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

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

Major mode: Lisp Interaction

Minor modes in effect:
  display-time-mode: t
  which-function-mode: t
  savehist-mode: t
  show-paren-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-autojoin-mode: t
  erc-fill-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs
text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils tron-theme add-log my-noexternals server
time org-wl org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color
org-list org-faces org-entities time-date noutline outline org-version
ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs
org-loaddefs find-func cal-menu calendar cal-loaddefs sm-c-mode derived
pcase smie netrc ace-window avy ring god-mode emms-get-lyrics mbsync rx
my-misc-setup ido which-func savehist paren vc-git diff-mode easy-mmode
em-alias em-smart esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util my-erc-setup erc-services
erc-networks erc-track erc-match erc-sasl cl erc-menu erc-join erc-fill
erc-stamp erc-goodies erc erc-backend erc-compat format-spec auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json
subr-x map seq byte-opt gv bytecomp byte-compile cconv pp erc-loaddefs
my-defuns-setup imenu thingatpt info-look info google-c-style gtags
cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs edmacro kmacro cl-loaddefs cl-lib jka-compr
advice lemacs-public tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd 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 dbusbind
inotify lcms2 dynamic-setting font-render-setting cairo move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 8 194069 156217)
 (symbols 24 20498 1)
 (strings 16 63580 8303)
 (string-bytes 1 2150082)
 (vectors 8 27826)
 (vector-slots 4 327386 154564)
 (floats 8 101 627)
 (intervals 28 316 0)
 (buffers 576 10))