emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] The + character creating strike-through markup within in-line li


From: John Magolske
Subject: Re: [O] The + character creating strike-through markup within in-line literal / code blocks
Date: Sun, 24 Jun 2018 22:52:44 -0700
User-agent: NeoMutt/20170113 (1.7.2)

Hi,

Thanks for the reply.

* Nicolas Goaziou <address@hidden> [180624 16:11]:
> John Magolske <address@hidden> writes:
> > to show in-line code as literal I tried:
> >
> >     in the expression =(x +. y)= the =+.= is a function ...
> >
> > being under the impression that bracketing text with = would enclose
> > everything within to be literal. But what's happening -- as evidenced
> > by syntax coloring -- is that the first and second + characters here
> > create a strike-through region from the middle of one literal region
> > to the middle of the other. With (setq org-hide-emphasis-markers t)
> 
> It happens because syntax coloring is a bit dumb. It uses regexps but
> not the parser. However, if you try, e.g., to export the document, the
> plus signs will not be treated as markers.

Ok, just tried org-html-export-as-html and see it renders properly
in html:

    ... expression <code>(x +. y)</code> the <code>+.</code> is ...

but I feel like there's a bug in the regex, that the =code= and
~verbatim~ marker characters should be able to prevent any other
marker characters bracketed by them from causing highlighting. Not
sure if I'll have time to dig into this any time soon, but it'd be
interesting to see how markdown-mode.el handles `inline code` defined
by backquotes, as it doesn't have the issues I'm seeing with how org.el
renders inline code. For example, all the text contained within the
backquotes here: `is this *bold* ?` shows up highlighted as code,
the *bold* there looks no different. In org-mode however, the *bold*
in ~is this *bold* ?~ shows up highlighted as bold, even though
org-html-export-as-html renders it as <code>is this *bold* ?</code> .

> > Also tried to remove strike-through emphasis altogether by commenting
> > out the strike-through section in org-emphasis-alist like so:
> >
> > (setq org-emphasis-alist
> >       (quote
> >        (("*" bold)
> >         ("/" italic)
> >         ("_" underline)
> >         ("=" org-verbatim verbatim)
> >         ("~" org-code verbatim)
> >         ("+" nil)
> >         ;; ("+" (:strike-through t))
> >         )))
> >
> > Then re-started Emacs, but am still having the above issues.
> 
> You could try to remove ("+" ...) completely from the variable and
> restart Emacs.

I tried this:

    (setq org-emphasis-alist
          (quote
           (("*" bold)
            ("/" italic)
            ("_" underline)
            ("=" org-verbatim verbatim)
            ("~" org-code verbatim))))

but for some reason I'm still seeing the exact same issues. In any
case, I don't think trying to do away with strike-through capability
is something I'd like to pursue. When viewing OCaml code in org-mode,
these also will not render properly:

    in =(x *. y)= the =*.= is a function ...
    in =(x /. y)= the =/.= is a function ...

highlighting this section as bold and italic respectively:

    . y)= the =

Ideally I'd like to make the org-verbatim and org-code emphasis regex
more robust.

Regards,

John


-- 
John Magolske
http://b79.net/contact



reply via email to

[Prev in Thread] Current Thread [Next in Thread]