Currently, Editor::ChangeCaseOfSelection doesn't check for protected ranges and therefore they can be modified by the UpperCase and LowerCase commands (i.e. the Ctrl+[Shift]+U key bindings by default).
These commands should not affect protected ranges.
I made a trivial patch which disables the functionality when there are protected styles in the range.
Ideally, the case change should only occur in the unprotected parts instead. That would require splitting the selection into multiple parts according to the protection state of the affected styles. Is there such a function available?
How about following:
or just:
I don't understand the use case where the user wants only part of the command to succeed. What is the role of protection in your application?
If there is no strong motivation then its not worth the added complexity.
Committed the above simple change as [8a8200].
Related
Commit: [8a8200]
Sorry for not responding sooner, I had missed the e-mail notifications from SourceForge. We use protected ranges for base64-encoded metadata in comments. When changing the case of base64 data, that breaks and the metadata can't be decoded any more, so we have to exclude these ranges from the case changes.