I unfortunately have to work with handwritten XML which is used to
define complex application configs. In that context, apostrophes are valid string delimiters, at least in whatever XML pseudo-dialect these files are written in. So, both of these snippets mean the same thing: <Env INST="2" /> <Env INST='2' /> I'm not in any sort of position to dictate any changes, so I need to adapt. So, forward-word currently skips over apostrophes (considering them word characters) and kill-word (even worse) deletes them. It has probably been a decade since I fiddled with syntax tables. How do I move apostrophes from word class to quotation(?) class in the relevant syntax table? FWIW, when editing XML files I seem to be in nxml-mode (nothing I enabled specifically, must just be the default mode). Thanks, Skip Montanaro |
Skip Montanaro <[hidden email]> writes:
> I unfortunately have to work with handwritten XML which is used to > define complex application configs. In that context, apostrophes are > valid string delimiters, at least in whatever XML pseudo-dialect these > files are written in. So, both of these snippets mean the same thing: > > <Env INST="2" /> > <Env INST='2' /> > > I'm not in any sort of position to dictate any changes, so I need to > adapt. So, forward-word currently skips over apostrophes (considering > them word characters) and kill-word (even worse) deletes them. It has > probably been a decade since I fiddled with syntax tables. How do I > move apostrophes from word class to quotation(?) class in the relevant > syntax table? FWIW, when editing XML files I seem to be in nxml-mode > (nothing I enabled specifically, must just be the default mode). > (add-hook 'nxml-mode-hook (lambda () (modify-syntax-entry ?' "\""))) Robert |
In reply to this post by Skip Montanaro
On Thu, 7 Feb 2019 at 10:02, Skip Montanaro <[hidden email]> wrote:
> both of these snippets mean the same thing: > > <Env INST="2" /> > <Env INST='2' /> This is standard XML, so if there is some trouble with it perhaps a change to nxml-mode is warranted. |
Noam Postavsky <[hidden email]> writes:
> On Thu, 7 Feb 2019 at 10:02, Skip Montanaro <[hidden email]> wrote: > >> both of these snippets mean the same thing: >> >> <Env INST="2" /> >> <Env INST='2' /> > > This is standard XML, so if there is some trouble with it perhaps a > change to nxml-mode is warranted. I think 'sgml-specials' in sgml-mode is to blame here. should fi |
In reply to this post by Robert Pluim
> (add-hook 'nxml-mode-hook
> (lambda () > (modify-syntax-entry ?' "\""))) Thanks, Robert. This worked perfectly. I will leave discussion of broader issues related to nxml-mode and sqml-mode to the experts, though it does seem that if apostrophes are valid quote string delimiters everywhere, they should be treated syntactically like quotation marks. Skip |
In reply to this post by Skip Montanaro
> I unfortunately have to work with handwritten XML which is used to
> define complex application configs. In that context, apostrophes are > valid string delimiters, at least in whatever XML pseudo-dialect these > files are written in. So, both of these snippets mean the same thing: > > <Env INST="2" /> > <Env INST='2' /> > > I'm not in any sort of position to dictate any changes, so I need to > adapt. So, forward-word currently skips over apostrophes (considering > them word characters) and kill-word (even worse) deletes them. Word operations are not meant to be sensitive to the major mode, so it's not a bug for them to behave differently for ' and " here (and this is a matter of personal preference and hence local customization). OTOH, syntax-aware operations (such as highlighting, indentation, and things like that) should not get confused by such a difference since both are valid XML and equivalent. So, if the problem you describe only affects word operations, go ahead and customize them to your heart's content, but if it also affects syntax-aware operations, please report it as a bug. Stefan |
Free forum by Nabble | Edit this page |