The USER_ERRORS view only has details on code that is currently in an invalid state. Once the code becomes valid, it will no longer be present in the USER_ERRORS view.
The DESC command can be used on tables and packages. It will give different results for tables and packages.
Only functions within packages require pragma restrictions used in SQL statements.