* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
@ 2013-03-17 23:02 zeltak
2013-03-18 6:08 ` Carsten Dominik
0 siblings, 1 reply; 20+ messages in thread
From: zeltak @ 2013-03-17 23:02 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 528 bytes --]
Hi all
i just finished a great conversation on #org-mode with some great people.
they told me about this thread and the planned changes that may or may not
occur to the syntax and id like to just raise the newbee perspective.
I find the ability to add custom emphasise with custom faces invaluable. i
find it very easy to add and very useful for me since i use ALOT of color
highlights in my academic work.
i really hope that there is some way to leave the current mphasise with
custom faces options as is
thx alot guys
Z
[-- Attachment #2: Type: text/html, Size: 997 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-17 23:02 [Out-of-Thread] Re: [RFC] Org syntax (draft) zeltak
@ 2013-03-18 6:08 ` Carsten Dominik
2013-03-18 10:48 ` Thorsten Jolitz
2013-03-18 13:33 ` zeltak
0 siblings, 2 replies; 20+ messages in thread
From: Carsten Dominik @ 2013-03-18 6:08 UTC (permalink / raw)
To: zeltak; +Cc: emacs-orgmode
Hi Z,
can you show an example on how you use it? Maybe we can find a better way. Nicolas is right that portability is compromised by customizable emphasis.
- Carsten
On 18.3.2013, at 00:02, zeltak <zeltak@gmail.com> wrote:
> Hi all
>
> i just finished a great conversation on #org-mode with some great people. they told me about this thread and the planned changes that may or may not occur to the syntax and id like to just raise the newbee perspective.
>
> I find the ability to add custom emphasise with custom faces invaluable. i find it very easy to add and very useful for me since i use ALOT of color highlights in my academic work.
>
> i really hope that there is some way to leave the current mphasise with custom faces options as is
>
>
> thx alot guys
>
> Z
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 6:08 ` Carsten Dominik
@ 2013-03-18 10:48 ` Thorsten Jolitz
2013-03-18 13:33 ` zeltak
1 sibling, 0 replies; 20+ messages in thread
From: Thorsten Jolitz @ 2013-03-18 10:48 UTC (permalink / raw)
To: emacs-orgmode
Carsten Dominik <carsten.dominik@gmail.com> writes:
> can you show an example on how you use it? Maybe we can find a better way.
> Nicolas is right that portability is compromised by customizable emphasis.
> On 18.3.2013, at 00:02, zeltak <zeltak@gmail.com> wrote:
>> I find the ability to add custom emphasise with custom faces invaluable. i
>> find it very easy to add and very useful for me since i use ALOT of color
>> highlights in my academic work.
Here is an excerpt from my .emacs, actually stolen from Fabrice Nielson
(http://www.mygooglest.com/fni/), that might give some hints how to do
interactive color highlighting without any changes to Org-mode:
,------------------------------------------------------------------------------
| ;; *** 14.13 (info "(emacs)Highlight Interactively")
|
| ;; You can use `hi-lock-mode' to highlight words:
| ;; `M-x hi-lock-mode RET'
| ;; `C-x w h <match> RET hi-blue RET'
| ;; You can also write your settings to the buffer you're using with
| ;; `C-x w b', and read them back in again next time with `C-x w i'.
|
| ;; TODO Have a look at http://www.emacswiki.org/emacs/color-moccur.el for
| ;; searching regexp in buffer
|
| (GNUEmacs
| ;; "identical token highlighting" commands
| (when (try-require 'highlight)
|
| (defface hlt-1 '((t (:background "#FFFFA0"))) nil)
| (defface hlt-2 '((t (:background "#A0FFA0"))) nil)
| (defface hlt-3 '((t (:background "#A0FFFF"))) nil)
| (defface hlt-4 '((t (:background "#FFA0FF"))) nil)
| (defface hlt-5 '((t (:background "#FFA0A0"))) nil)
| (defface hlt-6 '((t (:background "#FFFFA0"))) nil)
| (defface hlt-7 '((t (:background "#A0FFA0"))) nil)
| (defface hlt-8 '((t (:background "#A0FFFF"))) nil)
| (defface hlt-9 '((t (:background "#FFA0FF"))) nil)
| (defface hlt-10 '((t (:background "#FFA0A0"))) nil)
|
| (global-set-key (kbd "C-S-p") 'hlt-previous-highlight)
| (global-set-key (kbd "C-S-n") 'hlt-next-highlight)
|
| (defun hlt-highlight-current-word ()
| (interactive)
| (let ((var_name (current-word t)))
| (when var_name
| (save-excursion
| (hlt-highlight-regexp-region
| (point-min)
| (point-max)
| (regexp-quote var_name))))))
|
| ;; emulation of Vim's `*' search
| (global-set-key (kbd "C-*") 'hlt-highlight-current-word)
| ))
|
| ;; ;; bind the hi-lock commands to more finger-friendly sequences
| ;; (define-key hi-lock-map (kbd "C-z i") 'hi-lock-find-patterns)
| ;; (define-key hi-lock-map (kbd "C-z p") 'highlight-phrase)
| ;; (define-key hi-lock-map (kbd "C-z r") 'unhighlight-regexp)
|
| ;; (define-key hi-lock-map (kbd "C-z h") 'highlight-regexp)
| ;; (define-key hi-lock-map (kbd "C-z C-h") 'highlight-lines-matching-regexp)
| ;; (define-key hi-lock-map (kbd "C-z b") 'hi-lock-write-interactive-patterns)
|
| ;; Highlight based on regexps
| (global-set-key [M-f1] 'highlight-regexp)
| (global-set-key [M-f2] 'highlight-lines-matching-regexp)
| (global-set-key [M-f3] 'hi-lock-mode)
| (global-set-key [M-f4] 'hi-lock-write-interactive-patterns)
|
| ;; highlight current symbol
| (when (try-require 'light-symbol)
| (light-symbol-mode))
|
| ;; highlight current symbol
| (setq highlight-symbol-idle-delay 0.5)
| (when (try-require 'highlight-symbol)
| (highlight-symbol-mode))
`------------------------------------------------------------------------------
--
cheers,
Thorsten
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 6:08 ` Carsten Dominik
2013-03-18 10:48 ` Thorsten Jolitz
@ 2013-03-18 13:33 ` zeltak
2013-03-18 15:21 ` W. Greenhouse
1 sibling, 1 reply; 20+ messages in thread
From: zeltak @ 2013-03-18 13:33 UTC (permalink / raw)
To: Carsten Dominik, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 3436 bytes --]
Dear Carsten,
Thank you for your quick reply. Let me start by first thanking you for your
great work on orgmode, I only recently discovered it (someone referred me
to your great talk on youtube) and it made me have the courage to start
learning emacs and use orgmode.
I (actually me and several colleagues here at the school of public health
at Harvard) have been using for the past 4 years a note taking app called
notecase pro (http://www.notecasepro.com/) which is nice but not FLOSS and
lacking in other areas. I am a post doc who takes alot of notes (30-40)
daily which include images and color markings.
colors are especially important to us since we use them to
mark different commands, research areas, paths, comments and warning so
that we have a clear easy to remember color visual clue. We use 15-20 color
fg/bg commands. An example note could look like this:
http://i.imgur.com/Ncq6ozs.png
i am a complete new orgmode user but i am so impressed and overblown with
the features and definitely want to transition to use it full time and also
convince my colleagues to do so as well. with the help of the #irc channel
i was able to use the customizing features for the emphasize symbols to
achieve color support . the config now looks like this:
'(org-emphasis-alist (quote (("@" (:foreground "#B40000" :background
"#FFDDDD" :weight bold) "" "") ("$" (:foreground "#FF0000") "" "") ("*"
bold "<b>" "</b>") ("/" italic "<i>" "</i>") ("_" underline "<span
style=\"text-decoration:underline;\">" "</span>") ("=" org-code "<code>"
"</code>" verbatim) ("~" org-verbatim "<code>" "</code>" verbatim) ("+"
(:strike-through t) "<del>" "</del>"))))
That would have worked for me but i understood that there are plans to
actually disable these customization's in the next version to allow
better portability.
If its not to hard It would be great to have a method similar to the
customizable
emphasis that lets a user define custom colors of FG/BG for inline viewing.
I am less concerned about exporting since at least for me i plan to do all
the editing/viewing inline inside emacs (though it would be nice of course
to be able to use it with mobile org and/or other mobile solutions for when
we do field work).
I will hold on with starting with the mammoth task of converting my
Notecase notes into orgmode until the issues is resolved, i assume i should
follow the mailing list to check on this?
Sorry for the long email and thank you so much again for all your work,
its truly fantastic
Z.
On Mon, Mar 18, 2013 at 2:08 AM, Carsten Dominik
<carsten.dominik@gmail.com>wrote:
> Hi Z,
>
> can you show an example on how you use it? Maybe we can find a better
> way. Nicolas is right that portability is compromised by customizable
> emphasis.
>
> - Carsten
>
>
>
> On 18.3.2013, at 00:02, zeltak <zeltak@gmail.com> wrote:
>
> > Hi all
> >
> > i just finished a great conversation on #org-mode with some great
> people. they told me about this thread and the planned changes that may or
> may not occur to the syntax and id like to just raise the newbee
> perspective.
> >
> > I find the ability to add custom emphasise with custom faces invaluable.
> i find it very easy to add and very useful for me since i use ALOT of color
> highlights in my academic work.
> >
> > i really hope that there is some way to leave the current mphasise with
> custom faces options as is
> >
> >
> > thx alot guys
> >
> > Z
>
>
[-- Attachment #2: Type: text/html, Size: 5533 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 13:33 ` zeltak
@ 2013-03-18 15:21 ` W. Greenhouse
2013-03-18 16:05 ` Marcin Borkowski
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: W. Greenhouse @ 2013-03-18 15:21 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
zeltak <zeltak-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
> Dear Carsten,
>
> Thank you for your quick reply. Let me start by first thanking you
> for your great work on orgmode, I only recently discovered it
> (someone referred me to your great talk on youtube) and it made me
> have the courage to start learning emacs and use orgmode.
[snip]
> '(org-emphasis-alist (quote (("@" (:foreground "#B40000" :background
> "#FFDDDD" :weight bold) "" "") ("$" (:foreground "#FF0000") "" "")
> ("*" bold "<b>" "</b>") ("/" italic "<i>" "</i>") ("_" underline "
> <span style=\"text-decoration:underline;\">" "</span>") ("=" org-code
> "<code>" "</code>" verbatim) ("~" org-verbatim "<code>" "</code>"
> verbatim) ("+" (:strike-through t) "<del>" "</del>"))))
>
> That would have worked for me but i understood that there are plans
> to actually disable these customization's in the next version to
> allow better portability.
>
> If its not to hard It would be great to have a method similar to the
> customizable emphasis that lets a user define custom colors of FG/BG
> for inline viewing. I am less concerned about exporting since at
> least for me i plan to do all the editing/viewing inline inside emacs
> (though it would be nice of course to be able to use it with mobile
> org and/or other mobile solutions for when we do field work).
>
> I will hold on with starting with the mammoth task of converting my
> Notecase notes into orgmode until the issues is resolved, i assume i
> should follow the mailing list to check on this?
>
> Sorry for the long email and thank you so much again for all your
> work, its truly fantastic
>
> Z.
I want to add, as one of the people that helped Z with this on IRC--and
as another person that made the leap into Emacs largely because of Org,
about five years ago--that I think there are a lot of users like this:
people who value Org as a tool that is tightly integrated with the power
and flexibility of Emacs and Emacs Lisp, who aren't necessarily closely
following Org's upstream development or this list (I didn't follow it
closely until recently, either), and who are more concerned with keeping
Org flexible and customizable enough to exactly fit their needs within
Emacs than they are about making it available as yet another plain-text
markup language outside of Emacs. Much as my Gnus is heavily customized
to my needs at this point, with Elisp-based features such as adaptive
scoring and virtual groups that other news and mail readers simply don't
have, I would never really dream of reproducing Org outside of Org. And
there are plenty of things that I would never expect to work in an
external application or parser that speaks the Org format (dynamic
blocks that run Elisp, for example), which everyone nonetheless wants to
have.
Perhaps a compromise could be reached on variables such as
`org-emphasis-alist' and others possibly slated for the defconst
treatment: instead of doing that, let's consider keeping them
customizable but include the default values in the Org format
specification. Org users who are never using Org outside of Emacs will
never see a problem using custom emphasis marks inside Emacs, unless Org
drops the feature. For those who know that they want to use their Org
files with some external parser, we could have an `org-rfc-check'
function that warns about non-standard values of things like
org-emphasis-alist and offers to revert them to the defaults (which
would be the same as the values in the spec).
What do you think? Is this a crazy scheme?
--
Regards,
WGG
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 15:21 ` W. Greenhouse
@ 2013-03-18 16:05 ` Marcin Borkowski
2013-03-18 19:19 ` Carsten Dominik
2013-03-19 4:07 ` Samuel Wales
2 siblings, 0 replies; 20+ messages in thread
From: Marcin Borkowski @ 2013-03-18 16:05 UTC (permalink / raw)
To: emacs-orgmode
Dnia 2013-03-18, o godz. 15:21:54
wgreenhouse@riseup.net (W. Greenhouse) napisał(a):
> Perhaps a compromise could be reached on variables such as
> `org-emphasis-alist' and others possibly slated for the defconst
> treatment: instead of doing that, let's consider keeping them
> customizable but include the default values in the Org format
> specification. Org users who are never using Org outside of Emacs
> will never see a problem using custom emphasis marks inside Emacs,
> unless Org drops the feature. For those who know that they want to
> use their Org files with some external parser, we could have an
> `org-rfc-check' function that warns about non-standard values of
> things like org-emphasis-alist and offers to revert them to the
> defaults (which would be the same as the values in the spec).
>
> What do you think? Is this a crazy scheme?
Just Another N00b's 2cents: what about moving such things from core to
contrib?
Best,
--
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 15:21 ` W. Greenhouse
2013-03-18 16:05 ` Marcin Borkowski
@ 2013-03-18 19:19 ` Carsten Dominik
2013-03-18 21:24 ` Rasmus
` (4 more replies)
2013-03-19 4:07 ` Samuel Wales
2 siblings, 5 replies; 20+ messages in thread
From: Carsten Dominik @ 2013-03-18 19:19 UTC (permalink / raw)
To: W. Greenhouse; +Cc: emacs-orgmode
Hi everyone,
first a disclaimer: Nicolas has thought about all things parser a lot more than I have, so he might disagree. But here is my take on the issue.
First of all, we should not see Org as just another plain text markup language (no offense meant, I am sure, and none taken). Because of its unique treatment of source code inclusion, source code markup, and executability, it is very much unique, I think. Therefore it deserved a clean definition and a well defined parser, with a goal to make files function correctly in different peoples setup. This is what Nicolas is trying to give to us - aside from turning an incredible parser/exporter mess into a sane system. We used to have as many parsers as exporters, all slightly different, bugs having to be fixed in different ways in each parser. That is gone, with a very limited amount of pain, and I am entirely amazed that this was even possible, let alone that someone had the stamina to do it and the patience it takes to put this, with the small limitations it brings, onto the community.
Now, I also agree that it is desirable that Org remains to be a hackable system with as much flexibility as we can allow, and we need to carefully consider where the line is.
For example, every users setup has some dependency of parser behavior on external variables: todo keywords. The way this is fixed in the sense that we can guarantee a stable parsing of such a system is to tell people that including the TODO keyword definitions with a #+TODO line into the file. So you can have a global setting in a global customization variable to make things easy for yourself and get good behavior in every new file you open, but you can stabilize a file for the parser with in-buffer settings when you need compatibility for other users.
There are a few exceptions that Nicolas has pointed out in this thread. The COMMENT keyword is one. We could define an in-buffer setting for it, or we could just fix it, the pain here would be minimal.
Another example is the emphasis stuff. There are no in-buffer settings for it, and they would be pretty hard to make.
The reason why the emphasis regexp components were made configurable in the first place is because when the feature was introduced, I had no idea what would work, and I redesigned this part several times over. Emphasis is a very heuristic system, the character that are allowed before and after the markers are necessarily a compromise, and we will always find people for who the chosen selection will not work. That is why I would like to argue for keeping this part hackable, even if I agree that the official definition should be fixed. Keeping this variable a customize variable invites changes also by people who do not really know what they are doing. Turning it into a defvar or defconst and somewhere document how to hack around the restriction if you really need to sounds like a good solution for me.
Now to the discussion with Z about additional emphasis definitions which he/she uses for custom highlighting of stuff. Right now this relies on modifying the emph-alist variable. However, for the purpose of in-buffer only highlighting, it is not necessary to go through parser-sensitive code. You can do this simply with additions to font-lock, for example using font-lock-add-keywords or something like this, see also Thorsten's post. If someone wants, I can provide an example for Z's case, and we could encapsulate such behavior into a little library in contrib, to make it easy to configure such behavior. Compromising the parser for this application is not necessary.
Nicolas, I would assume that your wish to disallow customization is focused on the regexp components, and the marker characters for emphasis, but not on the possibility to change the in-buffer face that is being used to highlight the stuff in the buffer?
- Carsten
On 18.3.2013, at 16:21, W. Greenhouse <wgreenhouse@riseup.net> wrote:
> zeltak <zeltak@gmail.com> writes:
>
>> Dear Carsten,
>>
>> Thank you for your quick reply. Let me start by first thanking you
>> for your great work on orgmode, I only recently discovered it
>> (someone referred me to your great talk on youtube) and it made me
>> have the courage to start learning emacs and use orgmode.
>
> [snip]
>
>> '(org-emphasis-alist (quote (("@" (:foreground "#B40000" :background
>> "#FFDDDD" :weight bold) "" "") ("$" (:foreground "#FF0000") "" "")
>> ("*" bold "<b>" "</b>") ("/" italic "<i>" "</i>") ("_" underline "
>> <span style=\"text-decoration:underline;\">" "</span>") ("=" org-code
>> "<code>" "</code>" verbatim) ("~" org-verbatim "<code>" "</code>"
>> verbatim) ("+" (:strike-through t) "<del>" "</del>"))))
>>
>> That would have worked for me but i understood that there are plans
>> to actually disable these customization's in the next version to
>> allow better portability.
>>
>> If its not to hard It would be great to have a method similar to the
>> customizable emphasis that lets a user define custom colors of FG/BG
>> for inline viewing. I am less concerned about exporting since at
>> least for me i plan to do all the editing/viewing inline inside emacs
>> (though it would be nice of course to be able to use it with mobile
>> org and/or other mobile solutions for when we do field work).
>>
>> I will hold on with starting with the mammoth task of converting my
>> Notecase notes into orgmode until the issues is resolved, i assume i
>> should follow the mailing list to check on this?
>>
>> Sorry for the long email and thank you so much again for all your
>> work, its truly fantastic
>>
>> Z.
>
> I want to add, as one of the people that helped Z with this on IRC--and
> as another person that made the leap into Emacs largely because of Org,
> about five years ago--that I think there are a lot of users like this:
> people who value Org as a tool that is tightly integrated with the power
> and flexibility of Emacs and Emacs Lisp, who aren't necessarily closely
> following Org's upstream development or this list (I didn't follow it
> closely until recently, either), and who are more concerned with keeping
> Org flexible and customizable enough to exactly fit their needs within
> Emacs than they are about making it available as yet another plain-text
> markup language outside of Emacs. Much as my Gnus is heavily customized
> to my needs at this point, with Elisp-based features such as adaptive
> scoring and virtual groups that other news and mail readers simply don't
> have, I would never really dream of reproducing Org outside of Org. And
> there are plenty of things that I would never expect to work in an
> external application or parser that speaks the Org format (dynamic
> blocks that run Elisp, for example), which everyone nonetheless wants to
> have.
>
> Perhaps a compromise could be reached on variables such as
> `org-emphasis-alist' and others possibly slated for the defconst
> treatment: instead of doing that, let's consider keeping them
> customizable but include the default values in the Org format
> specification. Org users who are never using Org outside of Emacs will
> never see a problem using custom emphasis marks inside Emacs, unless Org
> drops the feature. For those who know that they want to use their Org
> files with some external parser, we could have an `org-rfc-check'
> function that warns about non-standard values of things like
> org-emphasis-alist and offers to revert them to the defaults (which
> would be the same as the values in the spec).
>
> What do you think? Is this a crazy scheme?
>
> --
> Regards,
> WGG
>
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 19:19 ` Carsten Dominik
@ 2013-03-18 21:24 ` Rasmus
2013-03-19 3:47 ` Aaron Ecay
` (3 subsequent siblings)
4 siblings, 0 replies; 20+ messages in thread
From: Rasmus @ 2013-03-18 21:24 UTC (permalink / raw)
To: emacs-orgmode
Carsten Dominik <carsten.dominik@gmail.com> writes:
> The reason why the emphasis regexp components were made configurable
> in the first place is because when the feature was introduced, I had
> no idea what would work, and I redesigned this part several times
> over. Emphasis is a very heuristic system, the character that are
> allowed before and after the markers are necessarily a compromise, and
> we will always find people for who the chosen selection will not work.
> That is why I would like to argue for keeping this part hackable, even
> if I agree that the official definition should be fixed. Keeping this
> variable a customize variable invites changes also by people who do
> not really know what they are doing. Turning it into a defvar or
> defconst and somewhere document how to hack around the restriction if
> you really need to sounds like a good solution for me.
To some extend I disagree, I think. Well, a contrib library is of
course OK, but I think it's not the right way to go about it. . .
Would it be possible to make it easier to make 'custom' highlights?
In a previous thread a [cite:key] syntax was suggested. Perhaps, a
better way for custom emphasis would be [type:value] allowing for
custom functions for each type. E.g. [TYPE:value] would run function
a function org-type-keys-TYPE which returns value formatted with a
special face.
Perhaps this is more cumbersome and perhaps it is no more 'structured'
than using customized emphases.
–Rasmus
--
El Rey ha muerto. ¡Larga vida al Rey!
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 19:19 ` Carsten Dominik
2013-03-18 21:24 ` Rasmus
@ 2013-03-19 3:47 ` Aaron Ecay
2013-03-19 9:49 ` Nicolas Richard
` (2 subsequent siblings)
4 siblings, 0 replies; 20+ messages in thread
From: Aaron Ecay @ 2013-03-19 3:47 UTC (permalink / raw)
To: Carsten Dominik; +Cc: W. Greenhouse, emacs-orgmode
Hi Carsten,
Thank you for your very insightful thoughts. I would like to make one note.
2013ko martxoak 18an, Carsten Dominik-ek idatzi zuen:
> Now to the discussion with Z about additional emphasis definitions
> which he/she uses for custom highlighting of stuff. Right now this
> relies on modifying the emph-alist variable. However, for the purpose
> of in-buffer only highlighting, it is not necessary to go through
> parser-sensitive code. You can do this simply with additions to
> font-lock, for example using font-lock-add-keywords or something like
> this, see also Thorsten's post. If someone wants, I can provide an
> example for Z's case, and we could encapsulate such behavior into a
> little library in contrib, to make it easy to configure such behavior.
> Compromising the parser for this application is not necessary.
I use org to write articles which discuss words in foreign languages.
These need to be distinctively typeset (in italics), and sometimes need
to be set in a special font with coverage for exotic characters. I
would find it very useful to be able to define special emphasis
environments for these words. Using macros feels too much like writing
LaTeX (which I use org to avoid having to write directly, as much as
possible...)
I see the goal of the syntactic standardization as making it easier to
operate with non-emacs tools; as Nicolas said:
> My point of view is the following: Org (as a format) definition
> shouldn't depend on Emacs. It should be totally parseable by any
> language (which is not the case actually, since syntax relies on
> variables defined in Emacs). IOW, we should work to make it a real
> plain-text markup format.
Personally, I am OK with articles I have written for export never being
able to be read by non-emacs tools (as opposed to other uses of org as a
database/schedule/agenda, where the ability to access the information in
other programs/programming languages would be useful). I sympathize
with the goal of making the format accessible to other tools, but I also
think the ability to have within emacs additional flexibility
wrt. formatting (for both display and export) is worth preserving.
--
Aaron Ecay
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 19:19 ` Carsten Dominik
2013-03-18 21:24 ` Rasmus
2013-03-19 3:47 ` Aaron Ecay
@ 2013-03-19 9:49 ` Nicolas Richard
2013-03-21 21:36 ` Nicolas Goaziou
2013-04-12 6:23 ` Bastien
4 siblings, 0 replies; 20+ messages in thread
From: Nicolas Richard @ 2013-03-19 9:49 UTC (permalink / raw)
To: emacs-orgmode
Carsten Dominik <carsten.dominik@gmail.com> writes:
> Another example is the emphasis stuff. There are no in-buffer
> settings for it, and they would be pretty hard to make.
An in-buffer way of doing elisp is File Local Variables ; or is that not
appropriate ? Maybe the question I'm askign is : why were "#+KEYWORD"
lines favored over emacs' own mechanism of file local variables ? (I did
google on this a bit, but no success.)
--
Nico.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 19:19 ` Carsten Dominik
` (2 preceding siblings ...)
2013-03-19 9:49 ` Nicolas Richard
@ 2013-03-21 21:36 ` Nicolas Goaziou
2013-04-12 6:23 ` Bastien
2013-04-12 6:23 ` Bastien
4 siblings, 1 reply; 20+ messages in thread
From: Nicolas Goaziou @ 2013-03-21 21:36 UTC (permalink / raw)
To: Carsten Dominik; +Cc: W. Greenhouse, emacs-orgmode
Hello,
Carsten Dominik <carsten.dominik@gmail.com> writes:
> First of all, we should not see Org as just another plain text markup
> language (no offense meant, I am sure, and none taken). Because of its
> unique treatment of source code inclusion, source code markup, and
> executability, it is very much unique, I think.
Indeed. Or, to put it differently, an external tool wishing to export an
/any/ Org document has to implement Babel in addition to the parser.
> For example, every users setup has some dependency of parser behavior
> on external variables: todo keywords. The way this is fixed in the
> sense that we can guarantee a stable parsing of such a system is to
> tell people that including the TODO keyword definitions with a #+TODO
> line into the file. So you can have a global setting in a global
> customization variable to make things easy for yourself and get good
> behavior in every new file you open, but you can stabilize a file for
> the parser with in-buffer settings when you need compatibility for
> other users.
>
> There are a few exceptions that Nicolas has pointed out in this
> thread. The COMMENT keyword is one. We could define an in-buffer
> setting for it, or we could just fix it, the pain here would be
> minimal.
I think we should only add in-buffer settings for important parts of Org
syntax (e.g. TODO keywords). A hard-coded value for small details like
COMMENT keyword or EFFORT property is good enough, IMO.
> The reason why the emphasis regexp components were made configurable
> in the first place is because when the feature was introduced, I had
> no idea what would work, and I redesigned this part several times
> over. Emphasis is a very heuristic system, the character that are
> allowed before and after the markers are necessarily a compromise, and
> we will always find people for who the chosen selection will not work.
>
> That is why I would like to argue for keeping this part hackable, even
> if I agree that the official definition should be fixed. Keeping this
> variable a customize variable invites changes also by people who do
> not really know what they are doing. Turning it into a defvar or
> defconst and somewhere document how to hack around the restriction if
> you really need to sounds like a good solution for me.
We can also use a very simple and tolerant regexp (e.g. =[^\000]+=), and
introduce a syntax to escape markers for fine-grained control.
> Nicolas, I would assume that your wish to disallow customization is
> focused on the regexp components, and the marker characters for
> emphasis, but not on the possibility to change the in-buffer face that
> is being used to highlight the stuff in the buffer?
That's correct.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 19:19 ` Carsten Dominik
` (3 preceding siblings ...)
2013-03-21 21:36 ` Nicolas Goaziou
@ 2013-04-12 6:23 ` Bastien
4 siblings, 0 replies; 20+ messages in thread
From: Bastien @ 2013-04-12 6:23 UTC (permalink / raw)
To: Carsten Dominik; +Cc: W. Greenhouse, emacs-orgmode
Hi Carsten,
Carsten Dominik <carsten.dominik@gmail.com> writes:
> Keeping this variable a customize variable invites changes also by
> people who do not really know what they are doing. Turning it into
> a defvar or defconst and somewhere document how to hack around the
> restriction if you really need to sounds like a good solution for
> me.
Agreed. `org-emphasis-regexp-components' is now a defvar.
Also, I added `org-emphasis-alist' to the manual.
--
Bastien
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-18 15:21 ` W. Greenhouse
2013-03-18 16:05 ` Marcin Borkowski
2013-03-18 19:19 ` Carsten Dominik
@ 2013-03-19 4:07 ` Samuel Wales
2 siblings, 0 replies; 20+ messages in thread
From: Samuel Wales @ 2013-03-19 4:07 UTC (permalink / raw)
To: W. Greenhouse; +Cc: emacs-orgmode
On 3/18/13, W. Greenhouse <wgreenhouse@riseup.net> wrote:
> Perhaps a compromise could be reached on variables such as
> `org-emphasis-alist' and others possibly slated for the defconst
> treatment: instead of doing that, let's consider keeping them
> customizable but include the default values in the Org format
> specification. Org users who are never using Org outside of Emacs will
I think this is a good idea.
===
Here is a brainstorm involving an old idea:
If the problem is external parsers vs. flexibility, I wonder if it
might be possible to have zeltak's cake and eat it too. This applies
to more than just coloring in the buffer transiently.
In the case of color, $[face :foreground "red"]we can actually color
something in a way that external parsers can understand and export
backends can support$[end]. To some degree, at least.
We can do so $[face :foreground "yellow" :underline t]using a syntax
that will work for other features also and can be upgraded$[end]. Not
only for faces. Just change "face" to the name of your feature.
Every feature that uses the $[] syntax starts out as experimental or
in the user's .emacs. Then after we experiment with a feature and
decide it's worth being a default, we add it to the RFC and no longer
call it Emacs-only.
One big win is that Emacs and external parsers need only understand
the $[] notation, and do not need to come up with new parsing
techniques for syntax, because it is a Lisp lambda list. Even the
user can do this.
All sorts of things then come for free. For example, quoting,
escaping, nesting, pretty-printing, exporting, hiding, making the $[]
parts look human-friendly by making them invisible or collapsing them,
and so on. They are all available for new features that need syntax,
including user-defined ones.
A possibility for what it's worth.
Samuel
--
The Kafka Pandemic: http://thekafkapandemic.blogspot.com
The disease DOES progress. MANY people have died from it. ANYBODY
can get it. There is NO hope without action. This means YOU.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
@ 2013-03-20 17:47 zeltak
0 siblings, 0 replies; 20+ messages in thread
From: zeltak @ 2013-03-20 17:47 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 549 bytes --]
Hi again
Thank you all for the responses. So as a neewb again, I dont really
understand fully all the technical specifications from the above posts,
what do you guys recommended i do if i want to start moving and using org
now full time in terms of color support? should i use the current emp.
method, use another method suggested above which will be 100% supported,
wait with my move to org (what is the rough time frame for the new
specification)?
I would greatly appreciate any help as i am very keen to move over to
orgmode full time
best
Z
[-- Attachment #2: Type: text/html, Size: 860 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RFC] Org syntax (draft)
@ 2013-03-07 20:37 Nicolas Goaziou
2013-03-09 23:16 ` Achim Gratz
0 siblings, 1 reply; 20+ messages in thread
From: Nicolas Goaziou @ 2013-03-07 20:37 UTC (permalink / raw)
To: Org Mode List
Hello,
As discussed a few days ago, here is a document describing the complete
Org syntax as read by the parser. I also added some comments. I am going
to put the Org file on Worg, so anyone can update it and fix mistakes.
━━━━━━━━━━━━━━━━━━━━
ORG SYNTAX (DRAFT)
━━━━━━━━━━━━━━━━━━━━
Table of Contents
─────────────────
1 Headlines and Sections
2 Affiliated Keywords
3 Greater Elements
.. 3.1 Greater Blocks
.. 3.2 Drawers and Property Drawers
.. 3.3 Dynamic Blocks
.. 3.4 Footnote Definitions
.. 3.5 Inlinetasks
.. 3.6 Plain Lists and Items
.. 3.7 Tables
4 Elements
.. 4.1 Babel Call
.. 4.2 Blocks
.. 4.3 Clock, Diary Sexp and Planning
.. 4.4 Comments
.. 4.5 Fixed Width Areas
.. 4.6 Horizontal Rules
.. 4.7 Keywords
.. 4.8 LaTeX Environments
.. 4.9 Node Properties
.. 4.10 Paragraphs
.. 4.11 Table Rows
5 Objects
.. 5.1 Entities and LaTeX Fragments
.. 5.2 Export Snippets
.. 5.3 Footnote References
.. 5.4 Inline Babel Calls and Source Blocks
.. 5.5 Line Breaks
.. 5.6 Links
.. 5.7 Macros
.. 5.8 Targets and Radio Targets
.. 5.9 Statistics Cookies
.. 5.10 Subscript and Superscript
.. 5.11 Table Cells
.. 5.12 Timestamps
.. 5.13 Text Markup
This document describes and comments Org syntax as it is currently read
by its parser (Org Elements) and, therefore, by the export framework.
It also includes a few comments on that syntax.
A core concept in this syntax is that only headlines and sections are
context-free[1][2]. Every other syntactical part only exists within
specific environments.
Three categories are used to classify these environments: “Greater
elements”, “elements”, and “objects”, from the broadest scope to the
narrowest.
The paragraph is the unit of measurement. An element defines
syntactical parts that are at the same level as a paragraph, i.e. which
cannot contain or be included in a paragraph. An object is a part that
could be included in an element. Greater elements are all parts that
can contain an element.
Empty lines belong to the largest element ending before them. For
example, in a list, empty lines between items belong are part of the
item before them, but empty lines at the end of a list belong to the
plain list element.
Unless specified otherwise, case is not significant.
1 Headlines and Sections
════════════════════════
A headline is defined as:
╭────
│ STARS KEYWORD PRIORITY TITLE TAGS
╰────
STARS is a string starting at column 0 and containing at least one
asterisk (and up to `org-inlinetask-min-level' if `org-inlinetask'
library is loaded). It’s the sole compulsory part of a headline.
KEYWORD is a TODO keyword, which have to belong to the list defined in
`org-todo-keywords'. Case is significant.
PRIORITY is a priority cookie, i.e. a single letter preceded by a hash
sign # and enclosed within square brackets. Case is significant.
TITLE can be made of any character but a new line. Though, it will
match after every other part have been matched.
TAGS is made of words containing any alpha-numeric character,
underscore, at sign, hash sign or percent sign, and separated with
colons.
Examples of valid headlines include:
╭────
│ *
│
│ ** DONE
│
│ *** Some e-mail
│
│ **** TODO [#A] COMMENT Title :tag:a2%:
╰────
If the first word appearing in the title is `org-comment-keyword', the
headline will be considered as “commented”. If that first word is
`org-quote-string', it will be considered as “quoted”. In both
situations, case is significant.
If its title is `org-footnote-section', it will be considered as
a “footnote section”. Case is significant.
If `org-archive-tag' is one of its tags, it will be considered as
“archived”. Case is significant.
A headline contains directly at most one section, followed by any
number of headlines. Only a section can contain another section.
A section contains directly any greater element or element. Only
a headline can contain a section. As an exception, text before the
first headline in the document also belongs to a section.
In a quoted headline contains a section, the latter will be considered
as a “quote section”.
As an example, consider the following document:
╭────
│ An introduction.
│
│ * A Headline
│
│ Some text.
│
│ ** Sub-Topic 1
│
│ ** Sub-Topic 2
│
│ *** Additional entry
│
│ ** QUOTE Another Sub-Topic
│
│ Some other text.
╰────
Its internal structure could be summarized as:
╭────
│ (document
│ (section)
│ (headline
│ (section)
│ (headline)
│ (headline
│ (headline))
│ (headline
│ (quote-section))))
╰────
2 Affiliated Keywords
═════════════════════
With the exception of [inlinetasks], [items], [planning], [clocks],
[node properties] and [table rows], every other element type can be
assigned attributes.
This is done by adding specific keywords, named “affiliated keywords”,
just above the element considered, no blank line allowed.
Affiliated keywords are built upon one of the following patterns:
“#+KEY: VALUE”, “#+KEY[OPTIONAL]: VALUE” or “#+ATTR_BACKEND: VALUE”.
KEY is either “CAPTION”, “HEADER”, “NAME”, “PLOT” or “RESULTS” string.
BACKEND is a string constituted of alpha-numeric characters, hyphens
or underscores.
OPTIONAL and VALUE can contain any character but a new line. Only
keywords in `org-element-dual-keywords' can have an optional value.
An affiliated keyword can appear on multiple lines if KEY belongs to
`org-element-multiple-keywords' or if its pattern is “#+ATTR_BACKEND:
VALUE”.
Affiliated keywords whose KEY belong to `org-element-parsed-keywords'
can contain objects in their value and their optional value, if
applicable.
[inlinetasks] See section 3.5
[items] See section 3.6
[planning] See section 4.3
[clocks] See section 4.3
[node properties] See section 4.9
[table rows] See section 4.11
3 Greater Elements
══════════════════
Unless specified otherwise, greater elements can contain directly any
other element or greater element excepted:
• elements of their own type,
• [node properties], which can only be found in [property drawers],
• [items], which can only be found in [plain lists].
[node properties] See section 4.9
[property drawers] See section 3.2
[items] See section 3.6
[plain lists] See section 3.6
3.1 Greater Blocks
──────────────────
Greater blocks consist in the following pattern:
╭────
│ #+BEGIN_NAME PARAMETERS
│ CONTENTS
│ #+END_NAME
╰────
NAME can contain any non-whitespace character.
PARAMETERS can contain any character, and can be omitted.
If NAME is “CENTER”, it will be a “center block”. If it is “QUOTE”,
it will be a “quote block”.
If the block is neither a center block, a quote block or a [block
element], it will be a “special block”.
CONTENTS can contain any element, but another greater block of the
same type.
[block element] See section 4.2
3.2 Drawers and Property Drawers
────────────────────────────────
Pattern for drawers is:
╭────
│ :NAME:
│ CONTENTS
│ :END:
╰────
NAME has to either be “PROPERTIES” or belong to `org-drawers' list.
If NAME is “PROPERTIES”, the drawer will become a “property drawer”.
In a property drawers, CONTENTS can only contain [node property]
elements. Otherwise it can contain any element but another drawer or
property drawer.
―――――
It would be nice if users hadn’t to register drawers names before
using them in `org-drawers' (or through the `#+DRAWERS:' keyword).
Anything starting with `^[ \t]*:\w+:[ \t]$' and ending with
`^[ \t]*:END:[ \t]$' could be considered as a drawer. — ngz
[node property] See section 4.9
3.3 Dynamic Blocks
──────────────────
Pattern for dynamic blocks is:
╭────
│ #+BEGIN: NAME PARAMETERS
│ CONTENTS
│ #+END:
╰────
NAME cannot contain any whitespace character.
PARAMETERS can contain any character and can be omitted.
3.4 Footnote Definitions
────────────────────────
Pattern for footnote definitions is:
╭────
│ [LABEL] CONTENTS
╰────
It must start at column 0.
LABEL is either a number or follows the pattern “fn:WORD”, where word
can contain any word-constituent character, hyphens and underscore
characters.
CONTENTS can contain any element excepted another footnote definition.
It ends at the next footnote definition, the next headline, two
consecutive empty lines or the end of buffer.
3.5 Inlinetasks
───────────────
Inlinetasks are defined by `org-inlinetask-min-level' contiguous
asterisk characters starting at column 0, followed by a whitespace
character.
Optionally, inlinetasks can be ended with a string constituted of
`org-inlinetask-min-level' contiguous characters starting at column 0,
followed by a space and the “END” string.
Inlinetasks are recognized only after `org-inlinetask' library is
loaded.
3.6 Plain Lists and Items
─────────────────────────
Items are defined by a line starting with the following pattern:
“BULLET COUNTER-SET CHECK-BOX TAG”, in which only BULLET is mandatory.
BULLET is either an asterisk, a hyphen, a plus sign character or
follows either the pattern “COUNTER.” or “COUNTER)". In any case,
BULLET is follwed by a whitespace character or line ending.
COUNTER can be a number or a single letter.
COUNTER-SET follows the pattern [@COUNTER].
CHECK-BOX is either a single whitespace character, a “X” character or
a hyphen, enclosed within square brackets.
TAG follows “TAG-TEXT ::” pattern, where TAG-TEXT can contain any
character but a new line.
An item ends before the next item, the first line less or equally
indented than its starting line, or two consecutive empty lines.
Indentation of lines within other greater elements do not count,
neither do inlinetasks boundaries.
A plain list is a set of consecutive items of the same indentation.
It can only directly contain items.
If first item in a plain list has a counter in its bullet, the plain
list will be an “ordered plain-list”. If it contains a tag, it will
be a “descriptive list”. Otherwise, it will be an “unordered list”.
List types are mutually exclusive.
For example, consider the following excerpt of an Org document:
╭────
│ 1. item 1
│ 2. [X] item 2
│ - some tag :: item 2.1
╰────
Its internal structure is as follows:
╭────
│ (ordered-plain-list
│ (item)
│ (item
│ (descriptive-plain-list
│ (item))))
╰────
3.7 Tables
──────────
Tables start at lines beginning with either a vertical bar or the “+-”
string followed by plus or minus signs only, assuming they are not
preceded with lines of the same type. These lines can be indented.
A table starting with a vertical bar has “org” type. Otherwise it has
“table.el” type.
Org tables end at the first line not starting with a vertical bar.
Table.el tables end at the first line not starting with either
a vertical line or a plus sign. Such lines can be indented.
An org table can only contain table rows. A table.el table does not
contain anything.
4 Elements
══════════
Elements cannot contain any other element.
Only [keywords] whose name belongs to
`org-element-document-properties', [verse blocks] , [paragraphs] and
[table rows] can contain objects.
[keywords] See section 4.7
[verse blocks] See section 4.2
[paragraphs] See section 4.10
[table rows] See section 4.11
4.1 Babel Call
──────────────
Pattern for babel calls is:
╭────
│ #+CALL: VALUE
╰────
VALUE is optional. It can contain any character but a new line.
4.2 Blocks
──────────
Like [greater blocks], pattern for blocks is:
╭────
│ #+BEGIN_NAME DATA
│ CONTENTS
│ #+END_NAME
╰────
NAME cannot contain any whitespace character.
If NAME is “COMMENT”, it will be a “comment block”. If it is
“EXAMPLE”, it will be an “example block”. If it is “SRC”, it will be
a “source block”. If it is “VERSE”, it will be a “verse block”.
If NAME is a string matching the name of any export back-end loaded,
the block will be an “export block”.
DATA can contain any character but a new line. It can be ommitted,
unless the block is a “source block”. In this case, it must follow
the pattern “LANGUAGE SWITCHES ARGUMENTS”, where SWITCHES and
ARGUMENTS are optional.
LANGUAGE cannot contain any whitespace character.
SWITCHES is made of any number of “SWITCH” patterns, separated by
blank lines.
A SWITCH pattern is either “-l “FORMAT"", where FORMAT can contain any
character but a double quote and a new line, “-S” or “+S”, where
S stands for a single letter.
ARGUMENTS can contain any character but a new line.
CONTENTS can contain any character, including new lines. Though it
will only contain Org objects if the block is a verse block.
Otherwise, contents will not be parsed.
[greater blocks] See section 3.1
4.3 Clock, Diary Sexp and Planning
──────────────────────────────────
A clock follows the pattern:
╭────
│ CLOCK: TIMESTAMP DURATION
╰────
Both TIMESTAMP and DURATION are optional.
TIMESTAMP is a [timestamp] object.
DURATION follows the pattern:
╭────
│ => HH:MM
╰────
HH is a number containing any number of digits. MM is a two digit
numbers.
A diary sexp is a line starting at column 0 with “%%(" string. It can
then contain any character besides a new line.
A planning is a line filled with more at most three INFO parts, where
each INFO part follows the pattern:
╭────
│ KEYWORD: TIMESTAMP
╰────
KEYWORD is a string among `org-deadline-string',
`org-scheduled-string' and `org-closed-string'. TIMESTAMP is is
a [timestamp] object.
Even though a planning element can exist anywhere in a section or
a greater element, it will only affect the headline containing the
section if it is put on the line following that headline.
[timestamp] See section 5.12
4.4 Comments
────────────
A “comment line” starts with a hash signe and a whitespace character
or an end of line.
Comments can contain any number of consecutive comment lines.
4.5 Fixed Width Areas
─────────────────────
A “fixed-width line” start with a colon character and a whitespace or
an end of line.
Fixed width areas can contain any number of consecutive fixed-width
lines.
4.6 Horizontal Rules
────────────────────
A horizontal rule is a line made of at least 5 consecutive hyphens.
It can be indented.
4.7 Keywords
────────────
Keywords follow the syntax:
╭────
│ #+KEY: VALUE
╰────
KEY can contain any non-whitespace character, but it cannot be equal
to “CALL” or any affiliated keyword.
VALUE can contain any character excepted a new line.
If KEY belongs to `org-element-document-properties', VALUE can contain
objects.
4.8 LaTeX Environments
──────────────────────
Pattern for LaTeX environments is:
╭────
│ \begin{NAME}
│ CONTENTS
│ \end{NAME}
╰────
NAME is constituted of alpha-numeric characters and may end with an
asterisk.
CONTENTS can contain anything but the “\end{NAME}” string.
4.9 Node Properties
───────────────────
Patter for node properties is:
╭────
│ :PROPERTY: VALUE
╰────
PROPERTY can contain any non-whitespace character. VALUE can contain
any character but a new line.
Node properties can only exist in a [property drawers].
[property drawers] See section 3.2
4.10 Paragraphs
───────────────
Paragraphs are the default element, which means that any unrecognized
context is a paragraph.
Empty lines and other elements end paragraphs.
Paragraphs can contain every type of object.
4.11 Table Rows
───────────────
A table rows is either constituted of a vertical bar and any number of
[table cells] or a vertical bar followed by a hyphen.
In the first case the table row has the “standard” type. In the
second case, it has the “rule” type.
Table rows can only exist in [tables].
[table cells] See section 5.11
[tables] See section 3.7
5 Objects
═════════
Objects can only be found in the following locations:
• [affiliated keywords] defined in `org-element-parsed-keywords',
• [document properties],
• [headline] titles,
• [inlinetask] titles,
• [item] tags,
• [paragraphs],
• [table cells],
• [table rows], which can only contain table cell objects,
• [verse blocks].
Most objects cannot contain objects. Those which can will be
specified.
[affiliated keywords] See section 2
[document properties] See section 4.7
[headline] See section 1
[inlinetask] See section 3.5
[item] See section 3.6
[paragraphs] See section 4.10
[table cells] See section 5.11
[table rows] See section 4.11
[verse blocks] See section 4.2
5.1 Entities and LaTeX Fragments
────────────────────────────────
An entity follows the pattern:
╭────
│ \NAME POST
╰────
where NAME has a valid association in either `org-entities' or
`org-entities-user'.
POST is the end of line, "{}" string, or a non-alphabetical character.
It isn’t separated from NAME by a whitespace character.
A LaTeX fragment can follow multiple patterns:
╭────
│ \NAME POST
│ \(CONTENTS\)
│ \[CONTENTS\]
│ $$CONTENTS$$
│ PRE$CHAR$POST
│ PRE$BORDER1 BODY BORDER2$
╰────
NAME contains alphabetical characters only and must not have an
association in either `org-entities' or `org-entities-user'.
POST is the same as for entities.
CONTENTS can contain any character but cannot contain “\)" in the
second template or “\]" in the third one.
PRE is either the beginning of line or a character different from `$'.
CHAR is a non-whitespace character different from `.', ~,~, `?', `;',
~’~ or a double quote.
POST is any of `-', `.', ~,~, `?', `;', `:', ~’~, a double quote,
a whitespace character and the end of line.
BORDER1 is a non-whitespace character different from `.', `;', `.'
and `$'.
BODY can contain any character excepted `$', and may not span over
more than 3 lines.
BORDER2 is any non-whitespace character different from ~,~, `.' and
`$'.
―――――
It would introduce incompatibilities with previous Org
versions, but support for “$…$” (and for symmetry,
`$$...$$') constructs ought to be removed.
They are slow to parse, fragile, redundant, imply false
positives and do not look good in LaTeX output anyway.
Even the LaTeX community suggests to use `\(...\)' over
`$...$'. — ngz
5.2 Export Snippets
───────────────────
Patter for export snippets is:
╭────
│ @@NAME:VALUE@@
╰────
NAME can contain any alpha-numeric character and hyphens.
VALUE can contain anything but “@@” string.
5.3 Footnote References
───────────────────────
There are four patterns for footnote references:
╭────
│ [MARK]
│ [fn:LABEL]
│ [fn:LABEL:DEFINITION]
│ [fn::DEFINITION]
╰────
MARK is a number.
LABEL can contain any word constituent character, hyphens and
underscores.
DEFINITION can contain any character. Though opening and closing
square brackets must be balanced in it. It can contain any object
encountered in a paragraph, even other footnote references.
If the reference follows the third pattern, it is called an “inline
footnote”. If it follows the fourth one, i.e. if LABEL is omitted, it
is an “anonymous footnote”.
5.4 Inline Babel Calls and Source Blocks
────────────────────────────────────────
Inline Babel calls follow any of the following patterns:
╭────
│ call_NAME(ARGUMENTS)
│ call_NAME[HEADER](ARGUMENTS)[HEADER]
╰────
NAME can contain any character besides `(', `)' and “\n”.
HEADER can contain any character besides `]' and “\n”.
ARGUMENTS can contain any character besides `)' and “\n”.
Inline source blocks follow any of the following patterns:
╭────
│ src_LANG{BODY}
│ src_LANG[OPTIONS]{BODY}
╰────
LANG can contain any non-whitespace character.
OPTIONS and BODY can contain any character but “\n”.
5.5 Line Breaks
───────────────
A line break consists in “\\SPACE” pattern at the end of an otherwise
non-empty line.
SPACE can contain any number of tabs and spaces, including 0.
5.6 Links
─────────
There are 4 major types of links:
╭────
│ RADIO ("radio" link)
│ <PROTOCOL:PATH> ("angle" link)
│ PRE PROTOCOL:PATH2 POST ("plain" link)
│ [[PATH3]DESCRIPTION] ("regular" link)
╰────
RADIO is a string matched by some [radio target]. It can contain
[entities], [latex fragments], [subscript] and [superscript] only.
PROTOCOL is a string among `org-link-types'.
PATH can contain any character but `]', `<', `>' and `\n'.
PRE and POST are non word constituent. They can be, respectively, the
beginning or the end of a line.
PATH2 can contain any non-whitespace character excepted `(', `)', `<'
and `>'. It must end with a word-constituent character, or any
non-whitespace non-punctuation character followed by `/'.
DESCRIPTION must be enclosed within square brackets. It can contain
any character but square brackets. Object-wise, it can contain any
object found in a paragraph excepted a [footnote reference], a [radio
target] and a [line break]. It cannot contain another link either,
unless it is a plain link.
DESCRIPTION is optional.
PATH3 is built according to the following patterns:
╭────
│ FILENAME ("file" type)
│ PROTOCOL:PATH4 ("PROTOCOL" type)
│ id:ID ("id" type)
│ #CUSTOM-ID ("custom-id" type)
│ (CODEREF) ("coderef" type)
│ FUZZY ("fuzzy" type)
╰────
FILENAME is a file name, either absolute or relative.
PATH4 can contain any character besides square brackets.
ID is constituted of hexadecimal numbers separated with hyphens.
PATH4, CUSTOM-ID, CODEREF and FUZZY can contain any character besides
square brackets.
―――――
I suggest to remove angle links. If one needs spaces in
PATH, she can use standard link syntax instead.
I also suggest to remove `org-link-types' dependency in
PROTOCOL and match `[a-zA-Z]' instead, for portability. —
ngz
[radio target] See section 5.8
[entities] See section 5.1
[latex fragments] See section 5.1
[subscript] See section 5.10
[superscript] See section 5.10
[footnote reference] See section 5.3
[line break] See section 5.5
5.7 Macros
──────────
Macros follow the pattern:
╭────
│ {{{NAME(ARGUMENTS)}}}
╰────
NAME must start with a letter and can be followed by any number of
alpha-numeric characters, hyphens and underscores.
ARGUMENTS can contain anything but "}}}" string. Values within
ARGUMENTS are separated by commas. Non-separating commas have to be
escaped with a backslash character.
5.8 Targets and Radio Targets
─────────────────────────────
Radio targets follow the pattern:
╭────
│ <<<CONTENTS>>>
╰────
CONTENTS can be any character besides `<', `>' and “\n”. As far as
objects go, it can contain [entities], [latex fragments], [subscript]
and [superscript] only.
Targets follow the pattern:
╭────
│ <<TARGET>>
╰────
TARGET can contain any character besides `<', `>' and “\n”. It cannot
contain any object.
[entities] See section 5.1
[latex fragments] See section 5.1
[subscript] See section 5.10
[superscript] See section 5.10
5.9 Statistics Cookies
──────────────────────
Statistics cookies follow either pattern:
╭────
│ [PERCENT%]
│ [NUM1/NUM2]
╰────
PERCENT, NUM1 and NUM2 are numbers or the empty string.
5.10 Subscript and Superscript
──────────────────────────────
Pattern for subscript is:
╭────
│ CHAR_SCRIPT
╰────
Pattern for superscript is:
╭────
│ CHAR^SCRIPT
╰────
CHAR is any non-whitespace character.
SCRIPT can be `*', a string made of word-constituent characters maybe
preceded by a plus or a minus sign, an expression enclosed in
parenthesis (resp. curly brackets) containing balanced parenthesis
(resp. curly brackets).
5.11 Table Cells
────────────────
Table cells follow the pattern:
╭────
│ CONTENTS|
╰────
CONTENTS can contain any character excepted a vertical bar.
5.12 Timestamps
───────────────
There are seven possible patterns for timestamps:
╭────
│ <%%(SEXP)> (diary)
│ <DATE TIME REPEATER> (active)
│ [DATE TIME REPEATER] (inactive)
│ <DATE TIME REPEATER>--<DATE TIME REPEATER> (active range)
│ <DATE TIME-TIME REPEATER> (active range)
│ [DATE TIME REPEATER]--[DATE TIME REPEATER] (inactive range)
│ [DATE TIME-TIME REPEATER] (inactive range)
╰────
SEXP can contain any character excepted `>' and `\n'.
DATE follows the pattern:
╭────
│ YYYY-MM-DD DAYNAME
╰────
Y, M and D are digits. DAYNAME can contain any non
whitespace-character besides `+', `-', `]', `>', a digit or `\n'.
TIME follows the pattern =H:MM~. H can be one or two digit long and
can start with 0.
REPEATER follows the patter:
╭────
│ MARK VALUE UNIT
╰────
MARK is `+' (cumulate type), `++' (catch-up type) or `.+' (restart
type).
VALUE is a number.
UNIT is a character among `h' (hour), `d' (day), `w' (week), `m'
(month), `y' (year).
MARK, VALUE and UNIT are not separated by whitespace characters.
5.13 Text Markup
────────────────
Text markup follows the pattern:
╭────
│ PRE MARKER CONTENTS MARKER POST
╰────
PRE is a whitespace character, `(', `{' ~’~ or a double quote. It can
also be a beginning of line.
MARKER is a character among `*' (bold), `=' (verbatim), `/' (italic),
`+' (strike-through), `_' (underline), `~' (code).
CONTENTS is a string following the pattern:
╭────
│ BORDER BODY BORDER
╰────
BORDER can be any non-whitespace character excepted ~,~, ~’~ or
a double quote.
BODY can contain contain any character but may not span over more than
3 lines.
BORDER and BODY are not separated by whitespaces.
CONTENTS can contain any object encountered in a paragraph when markup
is “bold”, “italic”, “strike-through” or “underline”.
POST is a whitespace character, `-', `.', ~,~, `:', `!', `?', ~’~,
`)', `}' or a double quote. It can also be an end of line.
PRE, MARKER, CONTENTS, MARKER and POST are not separated by whitespace
characters.
―――――
All of this is wrong if `org-emphasis-regexp-components'
or `org-emphasis-alist' are modified.
This should really be simplified and made persistent
(i.e. no defcustom allowed). Otherwise, portability and
parsing are jokes.
Also, CONTENTS should be anything within code and verbatim
emphasis, by definition. — ngz
Footnotes
─────────
[1] In particular, the parser requires stars at column 0 to be quoted
by a comma when they do not define a headline.
[2] It also means that only headlines and sections can be recognized
just by looking at the beginning of the line.
As a consequence, using `org-element-at-point' or
`org-element-context' will move up to the parent headline, and parse
top-down from there until context around is found.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-07 20:37 Nicolas Goaziou
@ 2013-03-09 23:16 ` Achim Gratz
2013-03-09 23:49 ` Nicolas Goaziou
0 siblings, 1 reply; 20+ messages in thread
From: Achim Gratz @ 2013-03-09 23:16 UTC (permalink / raw)
To: emacs-orgmode
Hi Nicolas,
here are my first comments. I'm still trying to wrap my head around some
things, so if I'm off the map on something, please be patient.
Do you mind if I fix some obvious typos directly on Worg or do you'd
rather want patches?
Nicolas Goaziou writes:
> A core concept in this syntax is that only headlines and sections are
> context-free[1][2]. Every other syntactical part only exists within
> specific environments.
Blank lines or empty lines are also context-free syntactical elements,
I'd think.
> Three categories are used to classify these environments: “Greater
> elements”, “elements”, and “objects”, from the broadest scope to the
> narrowest.
It might be easier to talk about those things if "Greater Element" was
called "Collection" to perhaps keep with the thingies theme of naming
the syntax.
> The paragraph is the unit of measurement. An element defines
> syntactical parts that are at the same level as a paragraph, i.e. which
> cannot contain or be included in a paragraph. An object is a part that
> could be included in an element. Greater elements are all parts that
> can contain an element.
Here's my main contention with that model: I think there should be an
greater element, maybe named "paragraph block" that translates into a
paragraph at the backend level. Most backends will have a paragraph
model that is much less limited than what the current definition of an
Org paragraph is. This could be optionally be an implicit greater
block that is defined by the presence or absence of blank lines between
elements, I'd think.
> 3.1 Greater Blocks
> ──────────────────
The same naming confusion as with the various "elements", for now I'd
link to think of these as "Box".
> Greater blocks consist in the following pattern:
>
> ╭────
> │ #+BEGIN_NAME PARAMETERS
> │ CONTENTS
> │ #+END_NAME
> ╰────
I'm beginning to wonder if these should have the same syntax as blocks.
Maybe that's a too fine a distinction visually, but adding a colon would
disambiguate the greater blocks from the normal ones. In other words
#+BEGIN_CENTER: humdum
…
#+END_CENTER:
would be a center block, while
#+BEGIN_CENTER humdum
…
#+END_CENTER
would be an export block for the center backend.
> 4.2 Blocks
> ──────────
>
> Like [greater blocks], pattern for blocks is:
>
> ╭────
> │ #+BEGIN_NAME DATA
> │ CONTENTS
> │ #+END_NAME
> ╰────
[…]
> DATA can contain any character but a new line.
I'd keep with PARAMETERS here.
> If NAME is a string matching the name of any export back-end loaded,
> the block will be an “export block”.
Conversely, blocks that are not having a recognizable name will simply
insert their content as if the block markers were not there, e.g. it
seems to treat these as parsed blocks. I don't think this should
happen, instead Org should parse this as an unknown export backend and
drop the content with a warning, not unlike a comment.
This will be a major sticking point with external parsers: they'd
otherwise need to know about the Org export backends to when to use the
content of the block and when not. A portable Org document should be
able to specify which export backends it expects to be available (and
maybe what standard backend it is derived from) to elicit the correct
behaviour.
> CONTENTS can contain any character, including new lines. Though it
> will only contain Org objects if the block is a verse block.
> Otherwise, contents will not be parsed.
Would it make sense to make a general distinction between parsed and
non-parsed blocks based on some configuration, even though this would
produce the same issue as with export backends?
> I suggest to remove angle links. If one needs spaces in
> PATH, she can use standard link syntax instead.
They are very ubiquitous on certain platforms, so copy&paste would be
made frustrating there if you'd need to re-format them each time around.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
SD adaptation for Waldorf Blofeld V1.15B11:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-09 23:16 ` Achim Gratz
@ 2013-03-09 23:49 ` Nicolas Goaziou
2013-03-10 4:35 ` Jambunathan K
0 siblings, 1 reply; 20+ messages in thread
From: Nicolas Goaziou @ 2013-03-09 23:49 UTC (permalink / raw)
To: Achim Gratz; +Cc: emacs-orgmode
Hello,
Achim Gratz <Stromeko@nexgo.de> writes:
> Do you mind if I fix some obvious typos directly on Worg or do you'd
> rather want patches?
Please go ahead. This is on Worg so anyone can improve it.
> Nicolas Goaziou writes:
>> A core concept in this syntax is that only headlines and sections are
>> context-free[1][2]. Every other syntactical part only exists within
>> specific environments.
>
> Blank lines or empty lines are also context-free syntactical elements,
> I'd think.
No, the aren't, as they belong to the broadest element ending before
them. So you need to know what this element is.
>> Three categories are used to classify these environments: “Greater
>> elements”, “elements”, and “objects”, from the broadest scope to the
>> narrowest.
>
> It might be easier to talk about those things if "Greater Element" was
> called "Collection" to perhaps keep with the thingies theme of naming
> the syntax.
Collection could also be ambiguous as a paragraph may be seen as
a collection of objects.
>> The paragraph is the unit of measurement. An element defines
>> syntactical parts that are at the same level as a paragraph, i.e. which
>> cannot contain or be included in a paragraph. An object is a part that
>> could be included in an element. Greater elements are all parts that
>> can contain an element.
>
> Here's my main contention with that model: I think there should be an
> greater element, maybe named "paragraph block" that translates into a
> paragraph at the backend level. Most backends will have a paragraph
> model that is much less limited than what the current definition of an
> Org paragraph is. This could be optionally be an implicit greater
> block that is defined by the presence or absence of blank lines between
> elements, I'd think.
I don't get it. What would be the exact definition of a "paragraph
block"? What limitations are you talking about?
>> 3.1 Greater Blocks
>> ──────────────────
>
> The same naming confusion as with the various "elements", for now I'd
> link to think of these as "Box".
This naming was for the org-syntax file only. "Greater blocks" means
nothing for org-element.el, but "center block", "quote block", "special
block" do.
>> Greater blocks consist in the following pattern:
>>
>> ╭────
>> │ #+BEGIN_NAME PARAMETERS
>> │ CONTENTS
>> │ #+END_NAME
>> ╰────
>
> I'm beginning to wonder if these should have the same syntax as blocks.
> Maybe that's a too fine a distinction visually, but adding a colon would
> disambiguate the greater blocks from the normal ones. In other words
>
> #+BEGIN_CENTER: humdum
> &
> #+END_CENTER:
>
> would be a center block, while
>
> #+BEGIN_CENTER humdum
> &
> #+END_CENTER
>
> would be an export block for the center backend.
I agree. More on that below.
>> 4.2 Blocks
>> ──────────
>>
>> Like [greater blocks], pattern for blocks is:
>>
>> ╭────
>> │ #+BEGIN_NAME DATA
>> │ CONTENTS
>> │ #+END_NAME
>> ╰────
> […]
>> DATA can contain any character but a new line.
>
> I'd keep with PARAMETERS here.
Ok. Just fix it.
>> If NAME is a string matching the name of any export back-end loaded,
>> the block will be an “export block”.
>
> Conversely, blocks that are not having a recognizable name will simply
> insert their content as if the block markers were not there, e.g. it
> seems to treat these as parsed blocks.
You are talking about "special blocks", right? They have a special
purpose. In latex back-end,
#+begin_special
...
#+end_special
becomes
\begin{special}
...
\end{special}
IOW this is an Org feature.
> I don't think this should happen, instead Org should parse this as an
> unknown export backend and drop the content with a warning, not unlike
> a comment.
This would remove special blocks.
> This will be a major sticking point with external parsers: they'd
> otherwise need to know about the Org export backends to when to use the
> content of the block and when not. A portable Org document should be
> able to specify which export backends it expects to be available (and
> maybe what standard backend it is derived from) to elicit the correct
> behaviour.
I agree, as notified above. If we want to separate Org /format/ from
Emacs, we need to separate special blocks from export blocks. The former
cannot be the fallback type when the latter isn't recognized.
In that case, a different syntax for export blocks would be needed.
Maybe the colons you suggested above. I think that something more
visible would be better, though.
>> CONTENTS can contain any character, including new lines. Though it
>> will only contain Org objects if the block is a verse block.
>> Otherwise, contents will not be parsed.
>
> Would it make sense to make a general distinction between parsed and
> non-parsed blocks based on some configuration, even though this would
> produce the same issue as with export backends?
This is inherent from the block type. This mustn't be configurable.
There is no point in parsing a src-block, for example. On the other
hand, if you don't parse (partially) contents of a verse-block, you get
an example-block, and one of them becomes useless.
Then, there are special blocks. It was suggested, a few days ago, that
a parameter could be set in order to tell the parser what to do with
their contents. That's an interesting idea. But it only makes sense if
there is also a way to specify a transformation function on these
contents (otherwise, an export block would be sufficient). Also the same
could be achieved with Babel, the non-parsed data being an example
block, and the transformation function a src-block.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-09 23:49 ` Nicolas Goaziou
@ 2013-03-10 4:35 ` Jambunathan K
2013-03-10 7:08 ` Nicolas Goaziou
0 siblings, 1 reply; 20+ messages in thread
From: Jambunathan K @ 2013-03-10 4:35 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: Achim Gratz, emacs-orgmode
Nicolas
>> Do you mind if I fix some obvious typos directly on Worg or do you'd
>> rather want patches?
>
> Please go ahead. This is on Worg so anyone can improve it.
Please consider adding the Org spec (and also the exporter reference)
document to the Org manual.
This will be a good excuse for exercising the TexInfo exporter and see
where it leads.
Committing to Org or Worg has same load cycle. I feel there is more
value if it is right within the Org manual (i.e, part of Emacs).
Only reason you may want to have it on Worg is possibly because it is
likely to be read by wider audience. People seem to like browsers.
(You can consider building a standalone PDF/HTML document out of .texi
sources and have people read it)
--
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-10 4:35 ` Jambunathan K
@ 2013-03-10 7:08 ` Nicolas Goaziou
2013-03-10 10:14 ` Bastien
0 siblings, 1 reply; 20+ messages in thread
From: Nicolas Goaziou @ 2013-03-10 7:08 UTC (permalink / raw)
To: Jambunathan K; +Cc: Achim Gratz, emacs-orgmode
Hello,
Jambunathan K <kjambunathan@gmail.com> writes:
> Please consider adding the Org spec (and also the exporter reference)
> document to the Org manual.
>
> This will be a good excuse for exercising the TexInfo exporter and see
> where it leads.
>
> Committing to Org or Worg has same load cycle. I feel there is more
> value if it is right within the Org manual (i.e, part of Emacs).
>
> Only reason you may want to have it on Worg is possibly because it is
> likely to be read by wider audience. People seem to like browsers.
It is not ready to go into the manual in its current state. As specified
in its title, it's nothing more than a draft. Some parts have to be
rewritten, some information is missing, my notes have to be removed,
etc. Once it becomes clear enough, Bastien may consider adding it to the
manual.
The same holds for the exporter document.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-10 7:08 ` Nicolas Goaziou
@ 2013-03-10 10:14 ` Bastien
2013-03-10 15:44 ` Jambunathan K
0 siblings, 1 reply; 20+ messages in thread
From: Bastien @ 2013-03-10 10:14 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: Achim Gratz, emacs-orgmode, Jambunathan K
Hi Nicolas,
the manual would enjoy a subsection in "Hacking" on how to create
a new exporter, either from scratch or as a derived exporter.
(Such a subsection can be short enough, thanks to derived backend.)
From this section, we can throw links to the exporter reference
document and the Org syntax document published on Worgs.
We may also add footnotes referring to the Org syntax relevant
sections, when needed.
But both reference documents don't fit into the manual IMO. They
are great resources for developers, not for users. The footnotes
are enough for advanced users who want to go beyond the manual.
Thanks!
--
Bastien
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-10 10:14 ` Bastien
@ 2013-03-10 15:44 ` Jambunathan K
2013-03-14 16:58 ` Eric S Fraga
0 siblings, 1 reply; 20+ messages in thread
From: Jambunathan K @ 2013-03-10 15:44 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
Bastien
> But both reference documents don't fit into the manual IMO.
You are a jerk, a BIG JERK.
Jambunathan K.
--
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-10 15:44 ` Jambunathan K
@ 2013-03-14 16:58 ` Eric S Fraga
2013-03-14 18:26 ` Jambunathan K
0 siblings, 1 reply; 20+ messages in thread
From: Eric S Fraga @ 2013-03-14 16:58 UTC (permalink / raw)
To: Jambunathan K; +Cc: emacs-orgmode
Jambunathan K <kjambunathan@gmail.com> writes:
> You are a jerk, a BIG JERK.
This is completely uncalled. What satisfaction do you gain from this?
This is a brilliant, informative and polite mailing list except when it
comes to your contributions.
Don't bother answering because I've added you to my spam database. I've
not had to do this for an individual for some years now. I'll never see
any of your emails again. Bye.
--
: Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D
: in Emacs 24.3.50.1 and Org release_7.9.3f-1199-g3a0e55
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-14 16:58 ` Eric S Fraga
@ 2013-03-14 18:26 ` Jambunathan K
2013-03-14 18:51 ` David Engster
0 siblings, 1 reply; 20+ messages in thread
From: Jambunathan K @ 2013-03-14 18:26 UTC (permalink / raw)
To: emacs-orgmode
Eric
Eric S Fraga <e.fraga@ucl.ac.uk> writes:
> Jambunathan K <kjambunathan@gmail.com> writes:
>
>> You are a jerk, a BIG JERK.
>
> This is completely uncalled. What satisfaction do you gain from this?
> This is a brilliant, informative and polite mailing list except when it
> comes to your contributions.
>
> Don't bother answering because I've added you to my spam database. I've
> not had to do this for an individual for some years now. I'll never see
> any of your emails again. Bye.
Still you haven't answered my "Fudging the mail reply headers" question
to my satisfaction. I just let you off the hook (at the last moment)
before charging ahead.
Jambunathan K.
--
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Org syntax (draft)
2013-03-14 18:26 ` Jambunathan K
@ 2013-03-14 18:51 ` David Engster
2013-03-14 19:03 ` [Out-of-Thread] " Jambunathan K
0 siblings, 1 reply; 20+ messages in thread
From: David Engster @ 2013-03-14 18:51 UTC (permalink / raw)
To: Jambunathan K; +Cc: emacs-orgmode
Jambunathan K. writes:
> Still you haven't answered my "Fudging the mail reply headers" question
> to my satisfaction.
http://www.gnu.org/software/emacs/manual/html_node/message/Mailing-Lists.html
"A mailing list poster can use MFT to express that responses should be
sent to just the list, and not the poster as well. This will happen if
the poster is already subscribed to the list."
-David
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-14 18:51 ` David Engster
@ 2013-03-14 19:03 ` Jambunathan K
2013-03-14 19:15 ` David Engster
0 siblings, 1 reply; 20+ messages in thread
From: Jambunathan K @ 2013-03-14 19:03 UTC (permalink / raw)
To: emacs-orgmode
David Engster <deng@randomsample.de> writes:
> Jambunathan K. writes:
>> Still you haven't answered my "Fudging the mail reply headers" question
>> to my satisfaction.
>
> http://www.gnu.org/software/emacs/manual/html_node/message/Mailing-Lists.html
>
> "A mailing list poster can use MFT to express that responses should be
> sent to just the list, and not the poster as well. This will happen if
> the poster is already subscribed to the list."
(Nicolas, I am sorry. I have added OT to this post)
I know that.
But that doesn't answer the question why Carsten will appear in the To
header of a mail that I reply to a mail I receive from Eric S Fraga.
See my question here:
http://lists.gnu.org/archive/html/emacs-orgmode/2013-02/msg00525.html
If I "wide reply" to your post, I see that the TO header points to the
ML. Why it doesn't happen with Eric S Fraga's post? The said behaviour
will change based on the phase of moon.
I have noticed such fudging of the To headers by Eric for a long time.
Unless there is a satisfactory explanataion, I will assume Eric is
faking innocence.
> -David
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-14 19:03 ` [Out-of-Thread] " Jambunathan K
@ 2013-03-14 19:15 ` David Engster
2013-03-14 19:23 ` Jambunathan K
0 siblings, 1 reply; 20+ messages in thread
From: David Engster @ 2013-03-14 19:15 UTC (permalink / raw)
To: Jambunathan K; +Cc: emacs-orgmode
Jambunathan K. writes:
> I know that.
>
> But that doesn't answer the question why Carsten will appear in the To
> header of a mail that I reply to a mail I receive from Eric S Fraga.
Because Carsten started the thread and did not set MFT.
-David
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-14 19:15 ` David Engster
@ 2013-03-14 19:23 ` Jambunathan K
2013-03-14 19:29 ` David Engster
0 siblings, 1 reply; 20+ messages in thread
From: Jambunathan K @ 2013-03-14 19:23 UTC (permalink / raw)
To: emacs-orgmode
David Engster <deng@randomsample.de> writes:
> Jambunathan K. writes:
>> I know that.
>>
>> But that doesn't answer the question why Carsten will appear in the To
>> header of a mail that I reply to a mail I receive from Eric S Fraga.
>
> Because Carsten started the thread and did not set MFT.
In this very specific thread - the one I am typing right now, Nicolas
Goaziou doesn't appear in To - why? Normally, when I wide reply to a
Ngz's post it gets sent to him as well as the mailing list.
If your argument is right, Ngz should appear in To or CC headers of the
post. I see only ML address. So what am I missing?
> -David
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-14 19:23 ` Jambunathan K
@ 2013-03-14 19:29 ` David Engster
2013-03-14 19:52 ` Jambunathan K
0 siblings, 1 reply; 20+ messages in thread
From: David Engster @ 2013-03-14 19:29 UTC (permalink / raw)
To: Jambunathan K; +Cc: emacs-orgmode
Jambunathan K. writes:
> David Engster <deng@randomsample.de> writes:
>
>> Jambunathan K. writes:
>>> I know that.
>>>
>>> But that doesn't answer the question why Carsten will appear in the To
>>> header of a mail that I reply to a mail I receive from Eric S Fraga.
>>
>> Because Carsten started the thread and did not set MFT.
>
> In this very specific thread - the one I am typing right now, Nicolas
> Goaziou doesn't appear in To - why? Normally, when I wide reply to a
> Ngz's post it gets sent to him as well as the mailing list.
>
> If your argument is right, Ngz should appear in To or CC headers of the
> post. I see only ML address. So what am I missing?
You didn't do a wide reply in <871ubntg32.fsf@gmail.com>.
-David
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Out-of-Thread] Re: [RFC] Org syntax (draft)
2013-03-14 19:29 ` David Engster
@ 2013-03-14 19:52 ` Jambunathan K
0 siblings, 0 replies; 20+ messages in thread
From: Jambunathan K @ 2013-03-14 19:52 UTC (permalink / raw)
To: emacs-orgmode
David Engster <deng@randomsample.de> writes:
> Jambunathan K. writes:
>> David Engster <deng@randomsample.de> writes:
>>
>>> Jambunathan K. writes:
>>>> I know that.
>>>>
>>>> But that doesn't answer the question why Carsten will appear in the To
>>>> header of a mail that I reply to a mail I receive from Eric S Fraga.
>>>
>>> Because Carsten started the thread and did not set MFT.
>>
>> In this very specific thread - the one I am typing right now, Nicolas
>> Goaziou doesn't appear in To - why? Normally, when I wide reply to a
>> Ngz's post it gets sent to him as well as the mailing list.
>>
>> If your argument is right, Ngz should appear in To or CC headers of the
>> post. I see only ML address. So what am I missing?
>
> You didn't do a wide reply in <871ubntg32.fsf@gmail.com>.
I don't what that mail is. My Gnus-foo is just OKish.
Anyways, S W is what I do on all my mails - those that I reply to on the
ML and on those that I reply to from my Inbox.
If I reply to ESF's posts, I might have edited the headers myself.
Normally - 99% of the cases - I don't edit headers by hand.
ps: I don't want to continue this thread further. For your
satisfaction, I am willing to concede that I am wrong.
> -David
>
>
--
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2013-04-12 6:24 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-17 23:02 [Out-of-Thread] Re: [RFC] Org syntax (draft) zeltak
2013-03-18 6:08 ` Carsten Dominik
2013-03-18 10:48 ` Thorsten Jolitz
2013-03-18 13:33 ` zeltak
2013-03-18 15:21 ` W. Greenhouse
2013-03-18 16:05 ` Marcin Borkowski
2013-03-18 19:19 ` Carsten Dominik
2013-03-18 21:24 ` Rasmus
2013-03-19 3:47 ` Aaron Ecay
2013-03-19 9:49 ` Nicolas Richard
2013-03-21 21:36 ` Nicolas Goaziou
2013-04-12 6:23 ` Bastien
2013-04-12 6:23 ` Bastien
2013-03-19 4:07 ` Samuel Wales
-- strict thread matches above, loose matches on Subject: below --
2013-03-20 17:47 zeltak
2013-03-07 20:37 Nicolas Goaziou
2013-03-09 23:16 ` Achim Gratz
2013-03-09 23:49 ` Nicolas Goaziou
2013-03-10 4:35 ` Jambunathan K
2013-03-10 7:08 ` Nicolas Goaziou
2013-03-10 10:14 ` Bastien
2013-03-10 15:44 ` Jambunathan K
2013-03-14 16:58 ` Eric S Fraga
2013-03-14 18:26 ` Jambunathan K
2013-03-14 18:51 ` David Engster
2013-03-14 19:03 ` [Out-of-Thread] " Jambunathan K
2013-03-14 19:15 ` David Engster
2013-03-14 19:23 ` Jambunathan K
2013-03-14 19:29 ` David Engster
2013-03-14 19:52 ` Jambunathan K
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.