From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Rasmus <rasmus@gmx.us>
Cc: emacs-orgmode@gnu.org
Subject: Re: [bug, patch, ox] INCLUDE and footnotes
Date: Sun, 21 Dec 2014 22:04:41 +0100 [thread overview]
Message-ID: <87d27cyas6.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <87y4q3a8tc.fsf@pank.eu> (rasmus@gmx.us's message of "Fri, 19 Dec 2014 17:44:15 +0100")
Rasmus <rasmus@gmx.us> writes:
> Here's a new version of the second patch with tests.
Thanks. Some comments follow.
> The recognition regexp is still not great, but the idea of the regexp
> is to only act on includes where there's no :minlevel already and no
> plain words (most obviously src and example, but any block really)
> when disregarding ":key value" pairs.
This is not necessary. Even if :minlevel is used on these include
keywords, its value is ignored when inserting contents of the file.
> * ox.el (org-export-expand-include-keyword): Guess :minlevel if
> missing and relevant.
> * test-ox.el: Tests for automatic :minlevel.
Pleas name test modified.
> + ;; Add :minlevel to all include words that no explicitly have one.
> + (save-excursion
No need for that.
> + (while (re-search-forward
> + (concat include-re "[ \t]*" "\\(?:\".+?\"\\|[^ \t]+\\)[ \t]*" "\\(.*\\)$")
> + nil t)
(re-search-forward include-re nil t)
is enough.
> + (let ((matched (match-string 1)))
> + (unless (or (string-match-p ":minlevel" matched)
> + ;; matched a normal word
> + (string-match "\\(?:^\\|[ \t]+\\)\\(\\w\\)"
> + (replace-regexp-in-string "\\(^\\|[ t]+\\):\\w+[ \t]+\\w+" ""
> + matched)))
(unless (search-forward ":minlevel" (line-end-position) t) ...)
> + (goto-char (line-end-position))
aka (end-of-line)
> + (insert (format " :minlevel %d"
> + (1+ (org-with-wide-buffer
> + (if (search-backward-regexp org-heading-regexp nil t)
> + (length (match-string 1))
> + 0)))))))))
(insert (format " :minlevel %d" (1+ (org-outline-level))))
Regards,
next prev parent reply other threads:[~2014-12-21 21:04 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-09 11:44 [bug, patch, ox] INCLUDE and footnotes Rasmus
2014-12-09 19:10 ` Rasmus
2014-12-09 19:14 ` Nicolas Goaziou
2014-12-09 21:21 ` Rasmus
2014-12-09 21:37 ` Nicolas Goaziou
2014-12-10 0:57 ` Rasmus
2014-12-10 11:21 ` Nicolas Goaziou
2014-12-10 11:58 ` Rasmus
2014-12-10 15:44 ` Nicolas Goaziou
2014-12-13 21:45 ` Rasmus
2014-12-17 23:30 ` Nicolas Goaziou
2014-12-18 17:37 ` Rasmus
2014-12-19 16:44 ` Rasmus
2014-12-21 21:04 ` Nicolas Goaziou [this message]
2014-12-21 22:39 ` Rasmus
2014-12-21 23:38 ` Nicolas Goaziou
2014-12-22 1:42 ` Rasmus
2014-12-22 9:05 ` Nicolas Goaziou
2014-12-24 18:03 ` Rasmus
2014-12-24 21:14 ` Nicolas Goaziou
2014-12-25 1:38 ` Rasmus
2014-12-25 2:04 ` Rasmus
2014-12-21 20:52 ` Nicolas Goaziou
2014-12-22 1:49 ` Rasmus
2014-12-22 11:10 ` Nicolas Goaziou
2014-12-22 12:36 ` Rasmus
2014-12-22 20:54 ` Nicolas Goaziou
2014-12-22 22:11 ` Rasmus
2014-12-22 22:51 ` Nicolas Goaziou
2014-12-23 2:09 ` Rasmus
2014-12-24 17:54 ` Rasmus
2014-12-24 18:10 ` [git-101] How to push a branch and avoid merge-message? (was: [bug, patch, ox] INCLUDE and footnotes) Rasmus
2014-12-24 21:09 ` [git-101] How to push a branch and avoid merge-message? Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d27cyas6.fsf@nicolasgoaziou.fr \
--to=mail@nicolasgoaziou.fr \
--cc=emacs-orgmode@gnu.org \
--cc=rasmus@gmx.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).