unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: rms@gnu.org
Cc: eliz@gnu.org, emacs-devel@gnu.org
Subject: Re: Org mode and Emacs
Date: Sat, 09 Sep 2023 09:36:26 +0000	[thread overview]
Message-ID: <87ledf7ko5.fsf@localhost> (raw)
In-Reply-To: <E1qelyu-0003Wj-Qb@fencepost.gnu.org>

Richard Stallman <rms@gnu.org> writes:

>   > The way I see Org markup extension would make it easy to users add new
>   > custom markup, as needed. Then, no frequent changes to the base markup
>   > will be necessary to accommodate for less common use cases.
>
> I see a possible ambiguity and point of confusion.  When you say,
> "extension", do you mean "a package that gets loaded on top of
> ordinary Org mode"?  That's what I thought it meant.

A package or user Elisp snippet.

For example, Org currently allows extending hyperlinks like

     (defun org-man-export (link description format _)
       "Export a man page link from Org files."
       (let ((path (format "http://man.he.net/?topic=%s&section=all" link))
             (desc (or description link)))
         (pcase format
           (`html (format "<a target=\"_blank\" href=\"%s\">%s</a>" path desc))
           (`latex (format "\\href{%s}{%s}" path desc))
           (`texinfo (format "@uref{%s,%s}" path desc))
           (`ascii (format "%s (%s)" desc path))
           (t path))))

          (org-link-set-parameters "man" :export #'org-man-export)

Then, <man:emacs> links will be formatted arbitrarily during export.

The same idea will be for markup syntax:

@var{variable-name} will, in future, be defined as

    (org-markup-set-parameters "var" :export #'my-export-function-for-var)

@var is probably something we will have within Org, but if one needs
some weird markup for a specific manual, it will equally be possible to
define

@my-special-markup{contents}

via (org-markup-set-parameters "my-special-markup" :export #'custom-export-formatter)

> Implementing some of the Texinfo constructs in such a package, perhaps
> called org-texinfo, is an implementation detail as far as I'm
> concerned.
>
> But now I think maybe you mean something else -- that you propose
> to add some sort of limited macro definition facility and have the
> missing Texinfo constructs be defined using that.  Is that it?

We might allow in-document definitions like:

#+markup[html]: my-special-markup <foo>%s</foo>
#+markup[latex]: my-special-markup \foo{%s}
...

but the `org-markup-set-parameters' is what we preliminarily agreed upon
for now. Further features are to be discussed later.

> To be adequate for this job, the macro definition facility needs to be
> more powerful than they usually are.  The expansion of one construct
> needs to depend on the output format being generated, and sometimes
> the expansion of construct A depends on whether it is inside construct
> B.

> If the facility can do that, I think it will suffice for nearly all of
> the missing Texinfo constructs.  If you think of this as a method to
> simplify part of the implementation of Texinfo in Org, it may work.

Org is already capable to provide access to the full parse tree when
expanding links with custom :export function. The same can be done for
markup constructs. Much more difficult if one wants in-document
definitions though.

> But be prepared for exeptions, constructs that need special handling!
> If you think of this as a way to keep Org itself free of Texinfo
> impurities, it won't work.

May you elaborate about special handling?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>



  reply	other threads:[~2023-09-09  9:36 UTC|newest]

Thread overview: 178+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-25  2:52 Org mode and Emacs Payas Relekar
2022-09-25  6:35 ` Bastien
2022-09-25  7:05   ` Ihor Radchenko
2022-09-25  7:47     ` Bastien
2022-09-25  8:01       ` Ihor Radchenko
2022-09-25  8:22       ` Bastien Guerry
2022-09-25  8:01   ` Eli Zaretskii
2022-09-25 19:47     ` Tim Cross
2022-09-26  6:12       ` Bastien
2022-09-26  6:35         ` Ihor Radchenko
2022-09-26  6:57           ` Bastien
2023-08-18 17:09             ` Ihor Radchenko
2023-08-18 18:31               ` Eli Zaretskii
2023-08-18 18:49                 ` Ihor Radchenko
2023-08-18 19:11                   ` Eli Zaretskii
2023-08-18 19:31                     ` Ihor Radchenko
2023-08-19  5:51                       ` Eli Zaretskii
2023-08-19  9:04                         ` Ihor Radchenko
2023-08-19  9:26                           ` Eli Zaretskii
2023-08-19  9:44                             ` Ihor Radchenko
2023-08-19 10:19                               ` Po Lu
2023-08-19 10:47                                 ` Eli Zaretskii
2023-08-19 10:48                                 ` Ihor Radchenko
2023-08-19 10:42                               ` Eli Zaretskii
2023-08-19 10:54                                 ` Ihor Radchenko
2023-08-21  1:12                             ` Richard Stallman
2023-08-21  7:56                               ` Philip Kaludercic
2023-08-23  2:12                   ` Richard Stallman
2023-08-23  9:44                     ` Ihor Radchenko
2023-08-23 11:01                       ` Colin Baxter
2023-08-23 11:12                         ` Ihor Radchenko
2023-08-23 12:49                           ` Po Lu
2023-08-23 17:18                             ` Colin Baxter
2023-08-23 17:47                               ` Ihor Radchenko
2023-08-23 18:02                                 ` Eli Zaretskii
2023-08-23 18:08                                   ` Ihor Radchenko
2023-08-23 18:18                                     ` Eli Zaretskii
2023-08-23 18:36                                       ` Ihor Radchenko
2023-08-23 18:46                                         ` Eli Zaretskii
2023-08-23 18:50                                           ` Ihor Radchenko
2023-08-25  1:11                             ` Richard Stallman
2023-08-23 16:53                           ` Colin Baxter
2023-08-23 17:56                             ` Tassilo Horn
2023-08-24 11:52                     ` Bastien Guerry
2023-08-24 17:51                       ` T.V Raman
2023-08-24 17:55                         ` Ihor Radchenko
2023-08-24 18:35                           ` T.V Raman
2023-08-25  1:16                         ` Richard Stallman
2023-08-25 11:45                           ` Richard Stallman
2023-08-25  1:14                       ` Richard Stallman
2023-08-25  9:04                         ` Bastien Guerry
2023-08-25 18:56                           ` Philip Kaludercic
2023-08-26 10:46                             ` Ihor Radchenko
2023-08-31  2:09                               ` Richard Stallman
2023-08-31  8:50                                 ` Ihor Radchenko
2023-08-26  2:04                           ` Richard Stallman
2023-08-26  5:50                             ` Eli Zaretskii
2023-08-26 16:49                               ` Jose E. Marchesi
2023-08-26 16:56                                 ` Ihor Radchenko
2023-08-26 20:28                                   ` Philip Kaludercic
2023-08-26 20:58                                     ` Ihor Radchenko
2023-08-30  8:11                                       ` Bastien Guerry
2023-08-27  1:32                                   ` Richard Stallman
2023-08-27  8:32                                     ` Ihor Radchenko
2023-08-28  1:32                                       ` Richard Stallman
2023-08-29  8:29                                         ` Ihor Radchenko
2023-09-01  1:18                                           ` Richard Stallman
2023-09-01  6:46                                             ` Ihor Radchenko
2023-09-04  1:32                                               ` Richard Stallman
2023-09-04 22:05                                                 ` Juergen Fenn
2023-09-05 11:04                                                   ` Ihor Radchenko
2023-09-06  0:58                                                   ` Richard Stallman
2023-09-06 11:29                                                 ` Ihor Radchenko
2023-09-06 12:33                                                   ` Eli Zaretskii
2023-09-06 12:43                                                     ` Ihor Radchenko
2023-09-06 12:49                                                       ` Po Lu
2023-09-06 12:54                                                         ` Ihor Radchenko
2023-09-06 13:04                                                           ` Po Lu
2023-09-06 13:10                                                             ` Ihor Radchenko
2023-09-06 13:33                                                               ` Po Lu
2023-09-06 15:28                                                                 ` Eli Zaretskii
2023-09-06 13:08                                                       ` Eli Zaretskii
2023-09-06 13:20                                                         ` Ihor Radchenko
2023-09-06 15:25                                                           ` Eli Zaretskii
2023-09-06 16:12                                                             ` Ihor Radchenko
2023-09-06 16:34                                                               ` Eli Zaretskii
2023-09-07 11:11                                                                 ` Ihor Radchenko
2023-09-10  0:22                                                                   ` Richard Stallman
2023-09-09  0:37                                                               ` Richard Stallman
2023-09-09  9:36                                                                 ` Ihor Radchenko [this message]
2023-09-10  0:22                                                                   ` Richard Stallman
2023-09-09  0:38                                                   ` Richard Stallman
2023-08-30  8:11                                   ` Bastien Guerry
2023-09-02  1:50                                     ` Richard Stallman
2023-09-02  8:19                                       ` Ihor Radchenko
2023-09-02  8:30                                       ` Alfred M. Szmidt
2023-08-27  1:32                                 ` Richard Stallman
2023-08-27  8:35                                   ` Ihor Radchenko
2023-08-28  1:32                                     ` Richard Stallman
2023-08-28 10:04                                       ` Ihor Radchenko
2023-08-28 11:15                                         ` Yuri Khan
2023-08-28 11:21                                           ` Ihor Radchenko
2023-08-31  2:09                                         ` Richard Stallman
2023-08-31  8:53                                           ` Ihor Radchenko
2023-09-04  1:33                                             ` Richard Stallman
2023-08-30  8:14                                   ` Bastien Guerry
2023-08-30  8:32                                     ` Po Lu
2023-08-27  1:33                               ` Richard Stallman
2022-09-26  8:24           ` Eli Zaretskii
2022-09-26  8:32           ` Jean Louis
2022-09-26  9:54             ` Ihor Radchenko
2022-09-26 11:04               ` Robert Pluim
2022-09-27 16:17               ` Richard Stallman
2022-09-30  3:41                 ` Ihor Radchenko
2022-09-26 12:10       ` Richard Stallman
2022-09-26  3:02   ` Ihor Radchenko
2022-09-26  5:37     ` Po Lu
2022-09-26  5:44       ` Emanuel Berg
2022-09-26  6:20       ` Bastien Guerry
2022-09-26 13:58         ` T.V Raman
2022-09-26 16:16           ` Eli Zaretskii
2022-09-26  6:36       ` Ihor Radchenko
2022-09-26  6:18     ` Bastien
2022-09-26  6:29       ` Ihor Radchenko
  -- strict thread matches above, loose matches on Subject: below --
2022-06-13  1:47 Org mode and Emacs (was: Convert README.org to plain text README while installing package) Christopher Dimech
2022-06-13  2:47 ` Ihor Radchenko
2022-06-13  5:04   ` Christopher Dimech
2022-06-13  5:22     ` Org mode and Emacs Werner LEMBERG
2022-06-13  5:59       ` Eli Zaretskii
2022-06-04 17:27 Convert README.org to plain text README while installing package Alan Mackenzie
2022-06-05  8:38 ` Michael Albinus
2022-06-05  8:51   ` Po Lu
2022-06-05 10:26     ` Tassilo Horn
2022-06-05 11:15       ` Michael Albinus
2022-06-06  0:19         ` Tim Cross
2022-06-06 11:33           ` Alan Mackenzie
2022-06-06 13:57             ` Tim Cross
2022-06-06 16:02               ` Eli Zaretskii
2022-06-07  6:14                 ` Tim Cross
2022-06-07 16:02                   ` Alan Mackenzie
2022-06-07 18:14                     ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Stefan Monnier
2022-06-07 18:26                       ` Org mode and Emacs Lars Ingebrigtsen
2022-06-07 18:48                         ` Stefan Monnier
2022-06-07 18:54                           ` Eli Zaretskii
2022-06-07 19:38                             ` Stefan Monnier
2022-06-07 20:54                           ` Lars Ingebrigtsen
2022-06-07 22:10                       ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Tim Cross
2022-06-08  6:06                         ` Org mode and Emacs Visuwesh
2022-06-08  6:58                           ` Tim Cross
2022-06-09 22:31                         ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Richard Stallman
2022-06-09 23:10                           ` Tim Cross
2022-06-10  5:59                             ` Eli Zaretskii
2022-06-10  6:20                               ` Ihor Radchenko
2022-06-10  6:44                                 ` Eli Zaretskii
2022-06-11  4:49                                   ` Tim Cross
2022-06-11  6:58                                     ` Eli Zaretskii
2022-06-12  9:05                                       ` Ihor Radchenko
2022-06-12  9:18                                         ` Eli Zaretskii
2022-06-12 10:04                                           ` Ihor Radchenko
2022-06-12 10:15                                             ` Eli Zaretskii
2022-06-12 10:38                                               ` Ihor Radchenko
2022-06-12 14:36                                                 ` Eli Zaretskii
2022-06-12 15:31                                                   ` Org mode and Emacs Colin Baxter
2022-06-15  5:19                                                   ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Ihor Radchenko
2022-06-15  6:46                                                     ` Org mode and Emacs David Engster
2022-06-15  7:36                                                       ` Ihor Radchenko
2022-06-15 13:01                                                         ` Eli Zaretskii
2022-06-16  5:36                                                           ` Ihor Radchenko
2022-06-16  5:58                                                             ` Eli Zaretskii
2022-06-16  9:55                                                               ` Ihor Radchenko
2022-06-15 13:34                                                         ` David Engster
2022-06-16  6:50                                                           ` Ihor Radchenko
2022-06-16 10:21                                                             ` David Engster
2022-06-15 12:50                                                     ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Eli Zaretskii
2022-06-16  7:03                                                       ` Ihor Radchenko
2022-06-16  8:13                                                         ` Eli Zaretskii
2022-06-16 11:12                                                           ` Mattias Engdegård
2022-06-16 12:58                                                             ` Ihor Radchenko
2022-06-16 16:59                                                               ` Org mode and Emacs Stefan Monnier
2022-06-16  3:19                                                     ` Pankaj Jangid
2022-06-16  4:03                                                       ` Visuwesh
2022-09-25  2:14                                                   ` Bastien
2022-06-12 22:38                                       ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Richard Stallman
2022-06-13  4:38                                         ` Org mode and Emacs Werner LEMBERG
2022-06-12  0:42                                     ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Richard Stallman
2022-06-12  1:27                                       ` Ihor Radchenko
2022-06-12 22:38                                         ` Richard Stallman
2022-06-14 13:18                                           ` Ihor Radchenko
2022-06-14 13:38                                             ` Org mode and Emacs Robert Pluim
2022-06-12  0:42                             ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Richard Stallman
2022-06-12  1:39                               ` Tim Cross
2022-06-12  2:40                                 ` Org mode and Emacs T.V Raman
2022-06-12  1:45                               ` Po Lu
2022-06-12  2:15                                 ` Ihor Radchenko
2022-06-12  2:36                                   ` David Masterson
2022-06-12  3:06                                     ` Ihor Radchenko
2022-06-12  3:39                                       ` David Masterson
2022-06-12  4:43                                         ` Tim Cross
2022-06-12  5:08                                           ` Po Lu
2022-06-12  5:20                                             ` Ihor Radchenko
2022-06-12  5:27                                             ` Tim Cross
2022-06-12  5:53                                           ` David Masterson
2022-06-12  6:56                                             ` Ihor Radchenko
2022-06-12 18:29                                               ` David Masterson
2022-06-14  5:09                                                 ` Ihor Radchenko
2022-06-19 23:48                                                   ` David Masterson
2022-06-20  0:03                                                     ` Ihor Radchenko
2022-06-20  0:24                                                       ` David Masterson
2022-06-12  3:28                                     ` Tim Cross
2022-06-12  2:50                                   ` Po Lu
2022-06-12  3:54                                     ` chad
2022-06-12  5:04                                       ` Po Lu
2022-06-12  7:02                                         ` Ihor Radchenko
2022-06-12 22:38                                         ` Richard Stallman
2022-06-12 22:38                                         ` Richard Stallman
2022-06-12  6:21                                       ` Eli Zaretskii
2022-06-12  6:57                                   ` Eli Zaretskii
2022-06-08 13:22                       ` Org mode and Emacs (was: Convert README.org to plain text README while installing package) Ihor Radchenko
2022-06-08 14:23                         ` Org mode and Emacs Stefan Monnier
2022-06-08 15:08                           ` Ihor Radchenko
2022-06-12 22:38                           ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ledf7ko5.fsf@localhost \
    --to=yantar92@posteo.net \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).