Subject: bug#47652: 28.0.50; completion-at-point fails in verilog-mode

From: Simon McFarlane <[email-masked]>
Date: Wed, 7 Apr 2021 21:13:45 -0700

M-x completion-at-point throws a failed assertion in

verilog-mode. After some digging I believe this is because

verilog-toggle-completions is missing a save-excursion somewhere. Sadly

I'm not a true Emacs guru so I couldn't figure out exactly where.

completion-in-region: Assertion failed: (<= start (point)), #<marker at 14 in *new*>, 12

This is reproducible with a very simple verilog file consisting of only

"module test();".

This is very similar to bug #41740 reported by Shinichi Sakata.

In GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.28, cairo version 1.17.4)

  of 2021-04-06 built on 120af952437f

Repository revision: 8c80289348aa95884bb9263a643e3f873ed4bfda

Repository branch: pgtk-nativecomp

Windowing system distributor 'System Description: Arch Linux

Configured using:

  'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib

  --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games

  --with-sound=alsa --with-modules --with-x-toolkit=gtk3 --with-cairo

  --with-xwidgets --with-native-compilation --with-pgtk

  --without-compress-install --without-gconf --without-gsettings

  --without-m17n-flt --enable-autodepend --enable-link-time-optimization

  CC=/usr/bin/clang 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe

  -fno-plt -g -flto'

  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

  CPPFLAGS=-D_FORTIFY_SOURCE=2 'CPP=/usr/bin/clang -E''

Configured features:

ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2

LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER

PGTK PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XIM XWIDGETS GTK3

ZLIB

Important settings:

   value of $LANG: en_US.UTF-8

   value of $XMODIFIERS: @im=fcitx

   locale-coding-system: utf-8-unix

Major mode: Verilog

Minor modes in effect:

   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

   blink-cursor-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 cl-print debug backtrace find-func cus-edit pp

wid-edit cus-start cus-load thingatpt help-fns radix-tree help-mode

emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa

derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode

mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader

sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils

time-date verilog-mode compile text-property-search comint ansi-color

ring diff company edmacro kmacro pcase easy-mmode finder-inf package

browse-url url url-proxy url-privacy url-expand url-methods url-history

url-cookie url-domsuf url-util mailcap url-handlers url-parse

auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs

password-cache json subr-x map url-vars seq byte-opt gv bytecomp

byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric

uniquify ediff-hook vc-hooks lisp-float-type mwheel term/pgtk-win

pgtk-win 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 easymenu

timer select scroll-bar mouse jit-lock font-lock syntax 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 button

loaddefs faces cus-face macroexp files window text-properties overlay

sha1 md5 base64 format env code-pages mule custom widget

hashtable-print-readable backquote threads xwidget-internal dbusbind

inotify dynamic-setting font-render-setting cairo move-toolbar gtk

x-toolkit pgtk lcms2 multi-tty make-network-process nativecomp emacs)

Memory information:

((conses 16 142467 8669)

  (symbols 48 12266 0)

  (strings 32 36962 2160)

  (string-bytes 1 1193201)

  (vectors 16 20597)

  (vector-slots 8 396489 15323)

  (floats 8 55 22)

  (intervals 56 1040 0)

  (buffers 992 16))