emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Sebastian Rose <sebastian_rose@gmx.de>
To: Nicolas Goaziou <n.goaziou@gmail.com>
Cc: Org Mode List <emacs-orgmode@gnu.org>
Subject: Re: [PATCH] Unwanted #+ATTR_Backend and #+Backend stuff
Date: Wed, 30 Jun 2010 14:16:36 +0200	[thread overview]
Message-ID: <87tyok67h7.fsf@gmx.de> (raw)
In-Reply-To: <87tyokhku9.wl%n.goaziou@gmail.com> (Nicolas Goaziou's message of "Wed, 30 Jun 2010 12:32:30 +0200")

Nicolas Goaziou <n.goaziou@gmail.com> writes:
> Hello,
>>>>>> Sebastian Rose writes:
>> What's the status of this?
>
> What about the following patch ? I think it should fix it.
>
> -- Nicolas
>
>
>From 115a7e9d04fd5463913e1086ad3ff807ae579e16 Mon Sep 17 00:00:00 2001
> From: Nicolas Goaziou <n.goaziou@gmail.com>
> Date: Wed, 30 Jun 2010 12:28:32 +0200
> Subject: [PATCH] Remove unwanted #+ATTR_Backend and #+Backend during export.
>
> * lisp/org-exp.el: (org-export-select-backend-specific-text) Properly
>   get rid of #+Backend and #+ATTR_Backend specifics to backends not
>   matching the one we're exporting to.
> ---
>  lisp/org-exp.el |   22 +++++++++++++++++-----
>  1 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/lisp/org-exp.el b/lisp/org-exp.el
> index 54afdac..578e0cf 100644
> --- a/lisp/org-exp.el
> +++ b/lisp/org-exp.el
> @@ -1526,15 +1526,27 @@ from the buffer."
>  
>      (while formatters
>        (setq fmt (pop formatters))
> -      (when (eq (car fmt) backend)
> -	;; This is selected code, put it into the file for real
> -	(goto-char (point-min))
> -	(while (re-search-forward (concat "^\\([ \t]*\\)#\\+" (cadr fmt)
> -					  ":[ \t]*\\(.*\\)") nil t)
> +      ;; Handle #+Backend: stuff
> +      (goto-char (point-min))
> +      (while (re-search-forward (concat "^\\([ \t]*\\)#\\+" (cadr fmt)
> +					":[ \t]*\\(.*\\)") nil t)
> +	(if (not (eq (car fmt) backend))
> +	    (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)))
> +	  (replace-match "\\1\\2" t)
> +	  (add-text-properties
> +	   (point-at-bol) (min (1+ (point-at-eol)) (point-max))
> +	   '(org-protected t))))
> +      ;; Handle #+attr_Backend: stuff
> +      (goto-char (point-min))
> +      (while (re-search-forward (concat "^\\([ \t]*\\)#\\+attr_" (cadr fmt)
> +					":[ \t]*\\(.*\\)") nil t)
> +	(if (not (eq (car fmt) backend))
> +	    (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)))
>  	  (replace-match "\\1\\2" t)
>  	  (add-text-properties
>  	   (point-at-bol) (min (1+ (point-at-eol)) (point-max))
>  	   '(org-protected t))))
> +      ;; Handle #+begin_Backend and #+end_Backend stuff
>        (goto-char (point-min))
>        (while (re-search-forward (concat "^[ \t]*#\\+" (caddr fmt) "\\>.*\n?")
>  				nil t)


Ahhh - it nearly does!

But look at this:

 --8<---------------cut here---------------start------------->8--
         *Tempolauf*
        #+ATTR_HTML: style="margin-left:auto;margin-right:auto;text-align:center;"
 |  Z | Station          | Meter | Etappe |  Zeit |  Rnd. | Pace Rnd. | Pace |
 |----+------------------+-------+--------+-------+-------+-----------+------|
 --8<---------------cut here---------------end--------------->8--

Becomes:

 --8<---------------cut here---------------start------------->8--
<b>Tempolauf</b>
        style="margin-left:auto;margin-right:auto;text-align:center;"
</p><table border="0" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
 --8<---------------cut here---------------end--------------->8--
 

The `style...' part must be trimmed and go inside the `<table>' tag.






Also, in this test:

 --8<---------------cut here---------------start------------->8--
 
* Example

#+ATTR_HTML: I am removed from ASCII export
  | THead 1 | THead 2 |

  #+ATTR_HTML: I am _NOT_ removed from ASCII export
  | THead 1 | THead 2 |

#+CAPTION: removed
  #+ATTR_HTML: NOT removed
  | THead 1 | THead 2 |

  #+CAPTION: removed
#+ATTR_HTML: removed
  | THead 1 | THead 2 |
 --8<---------------cut here---------------end--------------->8--
 

the second last `#+CAPTION: removed' is NOT removed.



  Sebastian

  reply	other threads:[~2010-06-30 12:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-19 18:19 [PATCH] orphaned captions and labels Nicolas Goaziou
2010-06-24 14:26 ` David Maus
2010-06-24 19:18   ` Sebastian Rose
2010-06-29 12:55     ` Sebastian Rose
2010-06-30 10:32       ` [PATCH] Unwanted #+ATTR_Backend and #+Backend stuff Nicolas Goaziou
2010-06-30 12:16         ` Sebastian Rose [this message]
2010-06-30 13:18           ` [PATCH] Unwanted #+ATTR_Backend and #+Backend stuff (v.2) Nicolas Goaziou
2010-06-30 13:53             ` Sebastian Rose
2010-06-30 10:55   ` [PATCH] orphaned captions and labels Nicolas Goaziou
2010-07-02 15:12     ` David Maus

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=87tyok67h7.fsf@gmx.de \
    --to=sebastian_rose@gmx.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=n.goaziou@gmail.com \
    /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).