[bug #68237] "load" emits long series of "classdef not found" warnings when loading struct array

foreverallama <[email protected]> Thu, 16 Apr 2026 12:12:57 -0400 (EDT)
Newsgroups gmane.comp.gnu.octave.bugs
Message-ID <[email protected]>
Please use the bug tracker to post updates to a bug report.  The mailing list is intended as a read-only notification stream.  Info posted to this mailing list address won't appear in the tracker database where it is most useful.

Follow-up Comment #19, bug #68237 (group octave):

Attaching a patch that resolves the issue:
- Added an internal cache in subsystem for missing classes to prevent repeated
lookups. @kolmanthomas this might be something to look into for text formats.
- classdef-not-found warnings are now displayed only once per missing class.
Additionally displaying the classname in the warning.
- Checking for interrupts with `octave_quit ()` when loading struct and cell
arrays. I kept the check in these cases as only they have the potential to be
deeply nested and cause potential slowdown.

I wasn't sure where to update docs for warning IDs. I found
"scripts/help/warning_ids.m", is this the right place to update?

(file #58476)

    _______________________________________________________

Additional Item Attachment:

Name: bug68237.patch                 Size: 3.6KiB
    <https://file.savannah.gnu.org/file/bug68237.patch?file_id=58476>


    AGPL NOTICE

These attachments are served by Savane. You can download the corresponding
source code of Savane at
https://savannah.gnu.org/source/savane-f290f6b25beb8cb99bbe243a6cd2c5fef79ffcde.tar.gz


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?68237>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCaeEKiQAKCRCqLAuaBUf3
TqCEAP9R4RA77SXIKRar5t058FsMX44ULuNlnlYvZZ+ZjyUX0gD/b1PS6L/gsE9D
uq3opEo0xQg+HHQaiXjj3xLycKyvUgY=
=l0dn
-----END PGP SIGNATURE-----