[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Possibility of using alternative separators in macros
From: |
Juan Manuel Macías |
Subject: |
Re: [PATCH] Possibility of using alternative separators in macros |
Date: |
Tue, 11 May 2021 16:12:11 +0000 |
Hello Eric,
It's a typo, sorry: I forgot, when I made the patch, to add the asterisk
to the `let' expression in org-element-macro-parser, therefore the `sep'
variable was not recognized.
The correct function is:
(defun org-element-macro-parser ()
"Parse macro at point, if any.
When at a macro, return a list whose car is `macro' and cdr
a plist with `:key', `:args', `:begin', `:end', `:value', `:sep' and
`:post-blank' as keywords. Otherwise, return nil.
Assume point is at the macro."
(save-excursion
(when (looking-at
"{{{\\([a-zA-Z][-a-zA-Z0-9_]*\\)\\([^a-zA-Z\s()]?[^-a-zA-Z0-9_\s]?\\)\\((\\([^\000]*?\\))\\)?}}}")
(let* ((begin (point)) ;; <==== missing asterisk :-(
(key (downcase (match-string-no-properties 1)))
(value (match-string-no-properties 0))
(post-blank (progn (goto-char (match-end 0))
(skip-chars-forward " \t")))
(end (point))
(sep (if (not (equal (match-string-no-properties 2) ""))
(match-string-no-properties 2)
","))
(args (pcase (match-string-no-properties 4)
(`nil nil)
(a (org-macro-extract-arguments
sep
(replace-regexp-in-string
"[ \t\r\n]+" " " (org-trim a)))))))
(list 'macro
(list :key key
:value value
:args args
:begin begin
:end end
:sep sep
:post-blank post-blank))))))
Eric S Fraga writes:
> Hello Juan,
>
> On Friday, 30 Apr 2021 at 13:26, Juan Manuel Macías wrote:
>> Hi all,
>>
>> I would like to propose (patch attached) the possibility of using an
>> alternate character for separate arguments in replacement macros,
>> following a suggestion from Nicolas Goaziou in this (closed) thread:
>> https://orgmode.org/list/87o8ead42u.fsf@nicolasgoaziou.fr/
>
> I finally got around to trying this out, applying the patch just now to
> the latest org from the git repository. I get the following when I try
> to export:
>
> Debugger entered--Lisp error: (void-variable sep)
> org-element-macro-parser()
> org-element--object-lex((bold code entity export-snippet
> footnote-reference inline-babel-call inline-src-block italic
> line-break latex-fragment link macro radio-target statistics-cookie
> strike-through subscript superscript target timestamp underline
> verbatim))
> org-element-context()
> org-macro-replace-all((("date" . "") ("title" . "The title")
> ("email" . "") ("author" . "Professor Eric S Fraga") ("lastchange" .
> "2021.03.31 15:03") ("calc" .
> "@@latex:{\\color{green!50!black}\\texttt{ $1 }}@@") ("cite" .
> "[[$2][@@latex:\\vfill\\Citation{$1}@@]]") ("overlay" .
> "@@latex:\\begin{textblock}{$4}($2,$3)@@[[file:$1]]@...") ("parameter"
> . "src_elisp[:results value raw :var $1=(esf/get-para...") ("constant"
> closure (t) (&optional $1 &rest _) (progn (message "Getting constant
> %s" $1) (org-table-get-constant $1))) ("input-file" . "m.org")
> ("modification-time" . #f(compiled-function (arg1 &optional arg2 &rest
> _) #<bytecode 0x1a91bc3b547f3a1c>)) ("keyword" lambda (arg1 &rest _)
> (org-macro--find-keyword-value arg1)) ("n" lambda (&optional arg1 arg2
> &rest _) (org-macro--counter-increment arg1 arg2)) ("property" lambda
> (arg1 &optional arg2 &rest _) (org-macro--get-property arg1 arg2))
> ("time" lambda (arg1 &rest _) (format-time-string arg1)))
> ("DESCRIPTION" "KEYWORDS" "SUBTITLE" "DATE" "TITLE" "DATE" "AUTHOR"))
> org-export-as(latex nil nil nil nil)
> org-export-to-buffer(latex "*Org LATEX Export*" nil nil nil nil nil
> #f(compiled-function () #<bytecode 0xbb0539acd91d>))
> org-latex-export-as-latex(nil nil nil nil)
> org-export-dispatch(nil)
> funcall-interactively(org-export-dispatch nil)
> command-execute(org-export-dispatch)
- Re: [PATCH] Possibility of using alternative separators in macros, (continued)
- Re: [PATCH] Possibility of using alternative separators in macros, Bastien, 2021/05/01
- Re: [PATCH] Possibility of using alternative separators in macros, Bastien, 2021/05/01
- Re: [PATCH] Possibility of using alternative separators in macros, Juan Manuel Macías, 2021/05/01
- Re: [PATCH] Possibility of using alternative separators in macros, Christian Moe, 2021/05/02
- Re: [PATCH] Possibility of using alternative separators in macros, Maxim Nikulin, 2021/05/12
- Re: [PATCH] Possibility of using alternative separators in macros, Christian Moe, 2021/05/16
- Re: [PATCH] Possibility of using alternative separators in macros, Maxim Nikulin, 2021/05/17
- Re: [PATCH] Possibility of using alternative separators in macros, Christian Moe, 2021/05/17
Re: [PATCH] Possibility of using alternative separators in macros, Eric S Fraga, 2021/05/02
Re: [PATCH] Possibility of using alternative separators in macros, Eric S Fraga, 2021/05/11
- Re: [PATCH] Possibility of using alternative separators in macros,
Juan Manuel Macías <=
- Message not available
- Re: [PATCH] Possibility of using alternative separators in macros, Juan Manuel Macías, 2021/05/11
- Re: [PATCH] Possibility of using alternative separators in macros, Bastien, 2021/05/15
- Re: [PATCH] Possibility of using alternative separators in macros, Juan Manuel Macías, 2021/05/15
- Re: [PATCH] Possibility of using alternative separators in macros, Bastien, 2021/05/15
- Re: [PATCH] Possibility of using alternative separators in macros, Juan Manuel Macías, 2021/05/15
- Re: [PATCH] Possibility of using alternative separators in macros, Bastien, 2021/05/16
- Re: [PATCH] Possibility of using alternative separators in macros, Maxim Nikulin, 2021/05/16