Subject: 30.0.93; Error running timer ‘ac-update-greedy’: (wrong-type-argument sequencep #<obarray n=1>)

From: yoshinori kawahara <[email-masked]>
Date: Thu, 20 Feb 2025 12:13:13 +1100

The auto-complete package no longer works in emacs 30.
When enabling autocomplete I get the following error when an
autocompletion attempt is made

    Error running timer ‘ac-update-greedy’: (wrong-type-argument
sequencep #<obarray n=1>)

This is the traceback

Debugger entered--Lisp error: (wrong-type-argument sequencep #<obarray n=1>)
  vconcat(#<obarray n=1> #<obarray n=1>)
  (append (vconcat local-abbrev-table global-abbrev-table) nil)
  (mapcar 'popup-x-to-string (append (vconcat local-abbrev-table
global-abbrev-table) nil))
  eval((mapcar 'popup-x-to-string (append (vconcat local-abbrev-table
global-abbrev-table) nil)))
  ac-candidates-1(((prefix . ac-prefix-default) (candidates mapcar
'popup-x-to-string (append (vconcat local-abbrev-table
global-abbrev-table) nil)) (action . expand-abbrev) (symbol . "a")
(cache)))
  ac-candidates()
  ac-update(nil)
  ac-update-greedy()
  apply(ac-update-greedy nil)
  timer-event-handler([t 0 0 100000 0.1 ac-update-greedy nil idle 0 nil])

I can provoke a similar error by evaluating the following in a *scratch* buffer:

(vconcat (obarray-make) (obarray-make))

This snippet evaluates with a problem on emacs 29, but fails on emacs 30

In GNU Emacs 30.0.93 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.48, cairo version 1.18.2) of 2025-02-19 built on frameworknori
Repository revision: 68bcabf58afddb377d172857ce7648ad3ff09618
Repository branch: HEAD
Windowing system distributor 'The X.Org Foundation', version 11.0.12401005
System Description: Debian GNU/Linux trixie/sid

Configured using:
 'configure --prefix=/home/nori/opt'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_AU.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Text

Minor modes in effect:
  global-auto-complete-mode: t
  which-key-mode: t
  vertico-mode: t
  override-global-mode: t
  display-time-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/nori/.emacs.d/elpa/transient-0.8.4/transient hides
/home/nori/opt/share/emacs/30.0.93/lisp/transient

Features:
(shadow sort mail-extr emacsbug message yank-media puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
dired-aux vertico-directory dired dired-loaddefs flymake project
warnings thingatpt paredit cus-edit cus-start cus-load wid-edit
auto-complete-config auto-complete popup leuven-theme which-key consult
bookmark bbdb bbdb-site timezone edmacro kmacro erc format-spec
erc-backend erc-networks erc-common erc-compat erc-loaddefs grep compile
text-property-search comint ansi-osc ansi-color ring advice ebrowse
ebuff-menu view vertico compat pp cl-extra help-mode use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core finder-inf
time auto-complete-autoloads bbdb-autoloads consult-autoloads
magit-autoloads pcase magit-section-autoloads llama-autoloads
paredit-autoloads popup-autoloads transient-autoloads vertico-autoloads
info with-editor-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt
gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd
touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list
replace newcomment text-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
nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process emacs)

Memory information:
((conses 16 302553 22068) (symbols 48 22161 0) (strings 32 95746 3206)
 (string-bytes 1 2323129) (vectors 16 35034)
 (vector-slots 8 719338 89421) (floats 8 118 96) (intervals 56 696 0)
 (buffers 992 13))

-- 

Yoshinori Kawahara