Nicolas Goaziou <m...@nicolasgoaziou.fr> writes:
> Hello, > > Neil Jerram <neiljer...@gmail.com> writes: > >> Do you mean Windows file names in existing Org files? I.e. the >> back-compatibility concern? >> >> If so, yes, I confess I didn't think at all about back-compatibility, >> with my suggestion above. So perhaps that rules my idea out. >> >> If we were starting from scratch, however, >> - I believe it would technically be fine; i.e. it's a complete and >> unambiguous encoding >> - it might be considered awkward for Windows users to have to write >> c:\\system32\\mydoc.txt instead of c:\system32\mydoc.txt, but I don't >> know how big a concern that would be. > > Thinking a bit more about it, we don't need to escape /all/ square > brackets, only "]]" and "][" constructs. Therefore, we don't need to > escape every backslash either. > > The regexp for bracket links could be, in its simple (!) form: > > \[\[\(.*?[^\\]\(?:\\\)*\)\]\(?:\[\([^\000]+?\)\]\)?\] > > Most links would need no change. I see one notable exception: > directories in Windows: > > [[c:\system32\\]] for "c:\system32\" > > Some further notes: > > 1. Macros already use backslashes to escape commas in arguments, so it > is at least consistent with this part of Org. > > 2. The description part of the link, like most parts of Org, does not > use backslash escaping. If needed, we can implement an entity for > a square bracket. > > 3. There will be some backward compatibility issues. We can add > a checker in Org Lint to catch most of those. For example, we could > look at URI where every percent is followed only by 25, 5B, and 5D. > About this, I'm curious, is it possible let this checker search and interactive query replace with running recursively in a directory for all Org files. If Org updated, I hope my Org documents are update too. > WDYT? > > Regards, -- [ stardiviner ] I try to make every word tell the meaning what I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3