Re: [O] verbatim and apostrophes
Hi Alan, Alan Schmitt writes: > A suggestion could be to allow any text inside the markers, except for > the marker itself which would need to be escaped. Escaping could take > the form of doubling the marker: > > ~"foo bar"~ --> "foo bar" > ~"foo ~~ bar"~ --> "foo ~ bar" > > As I've not thought this through, I'm pretty sure someone will find a > huge flaw in this suggestion. Well, the huge flaw will never be obvious with such solutions... because the flaw is precisely this: it hides huge flaws. (Do not bother parsing the above, I'm not sure myself.) FWIW here is my gut reaction: I'm not a fan (euphemism) of escaping here, I feel like it adds little value while bumping complexity too much. But exploring it might be worth it, if someone wants to try! -- Bastien
Re: [O] verbatim and apostrophes
Hi Bastien, Bastien writes: > Hi Alan, > > Well, preventing users from shooting them in the foot is part of why > `org-emphasis-regexp-components' is not a custom variable (it used to > be, but that led to lots of confusion.) > > I hope we can get rid of this variable one day or another. I don't see how to do it cleanly without some form of escaping (to allow anything to be quoted), which goes against the "verbatim" idea. A suggestion could be to allow any text inside the markers, except for the marker itself which would need to be escaped. Escaping could take the form of doubling the marker: ~"foo bar"~ --> "foo bar" ~"foo ~~ bar"~ --> "foo ~ bar" As I've not thought this through, I'm pretty sure someone will find a huge flaw in this suggestion. Best, Alan
Re: [O] verbatim and apostrophes
Hi Alan, Alan Schmitt writes: > Is there a nice way to customize `org-emphasis-regexp-components'? It > does not seem to be exposed to `customize-variable', and copying and > tweaking its default value in my configuration file feels ugly. Well, preventing users from shooting them in the foot is part of why `org-emphasis-regexp-components' is not a custom variable (it used to be, but that led to lots of confusion.) I hope we can get rid of this variable one day or another. In the meantime, copying and tweaking is the way to go... HTH, -- Bastien
Re: [O] verbatim and apostrophes
Hi Nick, Nick Dokos writes: > However, the part about the BORDER regexp is correct I believe: in ~'a ref~, > the ~ are the MARKERS; ' and f are the BORDER and "a re" is the BODY. Thank you, this is it. I had not understood that BORDERs were inside the MARKERs (although the help text is quite clear in that regard). Is there a nice way to customize `org-emphasis-regexp-components'? It does not seem to be exposed to `customize-variable', and copying and tweaking its default value in my configuration file feels ugly. Alan
Re: [O] verbatim and apostrophes
Nick Dokos writes: > Alan Schmitt writes: > >> Hello Samuel, >> >> Samuel Wales writes: >> >>> org-emphasis-regexp-components >> >> Thank you for the suggestion. I'm trying to make sense of it: >> >> org-emphasis-regexp-components is a variable defined in `org.el'. >> Its value is (" ('\"{" "- .,:!?;'\")}\\" " >> ,\"'" "." 1) >> >> Documentation: >> Components used to build the regular expression for emphasis. >> This is a list with five entries. Terminology: In an emphasis string >> like " *strong word* ", we call the initial space PREMATCH, the final >> space POSTMATCH, the stars MARKERS, "s" and "d" are BORDER characters >> and "trong wor" is the body. The different components in this variable >> specify what is allowed/forbidden in each part: >> >> pre Chars allowed as prematch. Beginning of line will be allowed >> too. >> post Chars allowed as postmatch. End of line will be allowed too. >> border The chars *forbidden* as border characters. >> body-regexp A regexp like "." to match a body character. Don't use >> non-shy groups here, and don't allow newline here. >> newline The maximum number of newlines allowed in an emphasis exp. >> >> You need to reload Org or to restart Emacs after customizing this. >> >> I see that "body-regexp" is "." so the problem is not from there. I also >> see that "'" is forbidden as a border character, which should be fine in >> my case as I'm using "~". So is the problem that "'" is both in prematch >> and postmatch? But in my case I use it as a body character. >> >> So I'm afraid I don't understand why the "'" in ~'a ref~ is not accepted >> as a body character, and what I should do to make sure it is. >> > > See if > > > http://article.gmane.org/gmane.emacs.orgmode/73036/match=org+emphasis+regexp+components > > can help make some sense out of the line noise (although it was > triggered by a different question). I believe the problem here is > the BORDER regexp (the one that goes > > " > ,\"'" > > above), not the BODY one: it forbids newlines, commas, double > and single quotes. Try deleting the single quote from it. Sorry - I need coffee. I read what you wrote and promptly forgot all of it. So ignore most of what I wrote. However, the part about the BORDER regexp is correct I believe: in ~'a ref~, the ~ are the MARKERS; ' and f are the BORDER and "a re" is the BODY. -- Nick
Re: [O] verbatim and apostrophes
Alan Schmitt writes: > Hello Samuel, > > Samuel Wales writes: > >> org-emphasis-regexp-components > > Thank you for the suggestion. I'm trying to make sense of it: > > org-emphasis-regexp-components is a variable defined in `org.el'. > Its value is (" ('\"{" "- .,:!?;'\")}\\" " > ,\"'" "." 1) > > Documentation: > Components used to build the regular expression for emphasis. > This is a list with five entries. Terminology: In an emphasis string > like " *strong word* ", we call the initial space PREMATCH, the final > space POSTMATCH, the stars MARKERS, "s" and "d" are BORDER characters > and "trong wor" is the body. The different components in this variable > specify what is allowed/forbidden in each part: > > pre Chars allowed as prematch. Beginning of line will be allowed > too. > post Chars allowed as postmatch. End of line will be allowed too. > border The chars *forbidden* as border characters. > body-regexp A regexp like "." to match a body character. Don't use > non-shy groups here, and don't allow newline here. > newline The maximum number of newlines allowed in an emphasis exp. > > You need to reload Org or to restart Emacs after customizing this. > > I see that "body-regexp" is "." so the problem is not from there. I also > see that "'" is forbidden as a border character, which should be fine in > my case as I'm using "~". So is the problem that "'" is both in prematch > and postmatch? But in my case I use it as a body character. > > So I'm afraid I don't understand why the "'" in ~'a ref~ is not accepted > as a body character, and what I should do to make sure it is. > See if http://article.gmane.org/gmane.emacs.orgmode/73036/match=org+emphasis+regexp+components can help make some sense out of the line noise (although it was triggered by a different question). I believe the problem here is the BORDER regexp (the one that goes " ,\"'" above), not the BODY one: it forbids newlines, commas, double and single quotes. Try deleting the single quote from it. -- Nick
Re: [O] verbatim and apostrophes
Hello Samuel, Samuel Wales writes: > org-emphasis-regexp-components Thank you for the suggestion. I'm trying to make sense of it: --8<---cut here---start->8--- org-emphasis-regexp-components is a variable defined in `org.el'. Its value is (" ('\"{" "- .,:!?;'\")}\\" " ,\"'" "." 1) Documentation: Components used to build the regular expression for emphasis. This is a list with five entries. Terminology: In an emphasis string like " *strong word* ", we call the initial space PREMATCH, the final space POSTMATCH, the stars MARKERS, "s" and "d" are BORDER characters and "trong wor" is the body. The different components in this variable specify what is allowed/forbidden in each part: pre Chars allowed as prematch. Beginning of line will be allowed too. post Chars allowed as postmatch. End of line will be allowed too. border The chars *forbidden* as border characters. body-regexp A regexp like "." to match a body character. Don't use non-shy groups here, and don't allow newline here. newline The maximum number of newlines allowed in an emphasis exp. You need to reload Org or to restart Emacs after customizing this. --8<---cut here---end--->8--- I see that "body-regexp" is "." so the problem is not from there. I also see that "'" is forbidden as a border character, which should be fine in my case as I'm using "~". So is the problem that "'" is both in prematch and postmatch? But in my case I use it as a body character. So I'm afraid I don't understand why the "'" in ~'a ref~ is not accepted as a body character, and what I should do to make sure it is. Thanks, Alan
Re: [O] verbatim and apostrophes
org-emphasis-regexp-components -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. ANYBODY can get it. Denmark: free Karina Hansen NOW.