Re: [O] TIL about use of eval in user Org macros.. Documentation?

2017-12-25 Thread Nicolas Goaziou
Hello,

Kaushal Modi  writes:

> #+MACRO: sec (eval (concat "" (number-to-string
> (org-macro--counter-increment $1 $2)) ""))

Or,

#+MACRO: sec @@html:@@{{{n($1,$2)}}}@@html:@@

> 1. Can you please document the use of eval form in Org macro definitions in
> the Org manual(.org)? Its awesome wasn't evident to me until I read that
> commit message.

Done.

Regards,

-- 
Nicolas Goaziou



Re: [O] TIL about use of eval in user Org macros.. Documentation?

2017-12-22 Thread Samuel Wales
note that this feature overlaps babel:

head src_emacs-lisp[]{(shell-command-to-string "git rev-parse HEAD" )}\\
time {{{time(%F)}}}



Re: [O] TIL about use of eval in user Org macros.. Documentation?

2017-12-21 Thread Rasmus
Kaushal Modi  writes:

> Hello,
>
> The commit message in this commit is golden:
> http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=3ac619c8ac9934a2a1368f3de8ffad951f900067
>
> Using that info, I came up with a "classified" version of n macro for 
> markdown/HTML:
>
> #+MACRO: sec (eval (concat "" (number-to-string 
> (org-macro--counter-increment $1 $2)) ""))
>
> Based on that I have two questions:

> 1. Can you please document the use of eval form in Org macro definitions
> in the Org manual(.org)? Its awesome wasn't evident to me until I read
> that commit message.

I guess it isn’t documented in the manual...

I agree, there could be a second example and the mention of using lisp or
at least a mention of the ‘org-export-global-macros’ docstring.

> 2. (Another question on canonical approach) What would be the recommended 
> approach for an exporter backend to add new
> macros or override existing macros (like "n" macro to wrap the string with 
> HTML class as an example)? Should it update
> org-macro-templates in org-export-before-processing-hook? or something 
> similar?

Do you really need to overwrite an old macro?  Couldn’t you define a new
macro?  org-export-before-processing-hook is definitely the right hook,
cf. ‘org-export-as’.

   (defun fooreplace (backend)
(when (eq backend 'mybackend)
  (goto-char (point-min))
  (while (search-forward-regexp "{{{foo\\((?\\)" nil t)
(replace-match "{{{myfoo\\1"))
  (goto-char (point-max))
  (insert "\n#+macro: myfoo mybar\n"

Rasmus

-- 
May contains speling mistake




[O] TIL about use of eval in user Org macros.. Documentation?

2017-12-20 Thread Kaushal Modi
Hello,

The commit message in this commit is golden:
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=3ac619c8ac9934a2a1368f3de8ffad951f900067

Using that info, I came up with a "classified" version of n macro for
markdown/HTML:

#+MACRO: sec (eval (concat "" (number-to-string
(org-macro--counter-increment $1 $2)) ""))

Based on that I have two questions:

1. Can you please document the use of eval form in Org macro definitions in
the Org manual(.org)? Its awesome wasn't evident to me until I read that
commit message.
2. (Another question on canonical approach) What would be the recommended
approach for an exporter backend to add new macros or override existing
macros (like "n" macro to wrap the string with HTML class as an example)?
Should it update org-macro-templates in org-export-before-processing-hook?
or something similar?
-- 

Kaushal Modi