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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Feb 2025 09:55:59 +0200

> 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

Thanks.  Would you please report this to the developers of
auto-complete?  AFAIU, this package is not part of Emacs and is not on
ELPA, and it probably needs some adjustments to Emacs 30.