Hello.
In many packages I'm developing I can't see the object navigation list in the package body view because PLSQL Developer returns error 'Unable to perform operation due to errors in source code' - while the code is correct and compiled.
I've found, that one of the reason (maybe the only one) is an alternative quoting used in applications, as we very often use "!" or "#" as a quote_delimiter.
Eg.
q'!Any '[text]' '{with}' anything '(but)' "!" at the end!'
q'#Any '[text]' '{with}' anything '!but!' "#" at the end#'

Even in sql window this kind of alternative quoting is wrongly displayed, while it's correct.

This is very frustrating bug as I'm usually dealing with 10000+ lines packages.
Can you let me know your exact PL/SQL Developer version?
Version 12.0.7.1837 (64 bit)
Windows 10 Build 17134
I can reproduce the highlighting issue, which only works correctly for the following pairs:

Code
q'(text)' 
q'<text>'
q'[text]'
q'{text}'
I cannot yet reproduce the 'Unable to perform operation due to errors in source code' error yet though. Can you show an example of a piece of code where this occurs?
I must admit it wasn't easy to "extract" the issue, but I guess I've found it.
It looks like the problem is present when there's a quotation mark just after quote_delimiter, like this: q'!'sthing...
Please check below simple package that is showing the error.
You can observe the issue (blank object list and the error from subject) when opening the compiled package or after switching from body view to specification view and then back to the body:
SQL Query
CREATE OR REPLACE PACKAGE pkg_tst IS

  FUNCTION fn_test(in_parm IN VARCHAR2)
    RETURN NUMBER;

END pkg_tst;
/
CREATE OR REPLACE PACKAGE BODY pkg_tst IS

  FUNCTION fn_test(in_parm IN VARCHAR2)
    RETURN NUMBER IS
      l_txt CLOB;
    BEGIN
      l_txt := q'!SELECT '!'||in_parm||q'!' as filtr_name FROM dummy!';
      RETURN 1;
    END fn_test;

END pkg_tst;
/
Thanks. This does indeed not seem to be parsed correctly. We'll fix it!
I confirm new version, 13.0.1.1893 fixed the issue with package objects list displaying - finally I can easily work with huge packages smile

Thank you.

Still proper highlighting for other quote_delimiters than (), {} and [] isn't working - though this one is not so urgent smile
© Allround Automations forums