[Orgmode] Re: [PATCH] Unwanted #+ATTR_Backend and #+Backend stuff (v.2)

2010-06-30 Thread Nicolas Goaziou
 Sebastian Rose writes:
 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--
 bTempolauf/b
 style=margin-left:auto;margin-right:auto;text-align:center;
 /ptable 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.

Yes, my patch was a bit aggressive. See my next try.


 Also, in this test:
 [...]
 the second last `#+CAPTION: removed' is NOT removed.

That, my first patch about captions should have taken care of it.

Here is another try on this one. Please tell me if it is working. It
contains both fixes (captions and attr) so there shouldn't be the need
of a previous patch.

Regards,

-- Nicolas

From 76840002404838757a6a31bbfb1e2bdc2564045a Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou n.goaz...@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 |   32 
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index 54afdac..d7a9e19 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -1526,15 +1526,25 @@ 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
+  ;; Delete #+attr_Backend: stuff of another backend. Those
+  ;; matching the current backend will be taken care of by
+  ;; `org-export-attach-captions-and-attributes'
+  (goto-char (point-min))
+  (while (re-search-forward (concat ^\\([ \t]*\\)#\\+attr_ (cadr fmt)
+   :[ \t]*\\(.*\\)) nil t)
+   (when (not (eq (car fmt) backend))
+ (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)
+  ;; Handle #+begin_Backend and #+end_Backend stuff
   (goto-char (point-min))
   (while (re-search-forward (concat ^[ \t]*#\\+ (caddr fmt) \\.*\n?)
nil t)
@@ -1598,11 +1608,17 @@ table line.  If it is a link, add it to the line 
containing the link.
 (while (re-search-forward re nil t)
   (cond
((match-end 1)
-   (setq cap (concat cap (if cap   ) (org-trim (match-string 1)
+   (progn
+ (setq cap (concat cap (if cap   ) (org-trim (match-string 1
+ (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)
((match-end 2)
-   (setq attr (concat attr (if attr   ) (org-trim (match-string 2)
+   (progn
+ (setq attr (concat attr (if attr   ) (org-trim (match-string 2
+ (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)
((match-end 3)
-   (setq label (org-trim (match-string 3
+   (progn
+ (setq label (org-trim (match-string 3)))
+ (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)
(t
(setq end (if (match-end 4)
  (let ((ee (org-table-end)))
-- 
1.7.1.1


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: [PATCH] Unwanted #+ATTR_Backend and #+Backend stuff (v.2)

2010-06-30 Thread Sebastian Rose
Nicolas Goaziou n.goaz...@gmail.com writes:
 Sebastian Rose writes:
 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--
 bTempolauf/b
 style=margin-left:auto;margin-right:auto;text-align:center;
 /ptable 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.

 Yes, my patch was a bit aggressive. See my next try.


 Also, in this test:
 [...]
 the second last `#+CAPTION: removed' is NOT removed.

 That, my first patch about captions should have taken care of it.

 Here is another try on this one. Please tell me if it is working. It
 contains both fixes (captions and attr) so there shouldn't be the need
 of a previous patch.

 Regards,

 -- Nicolas


Yss!! :)

That patch seems to do the trick.

Thanks Nicolas!


Regards

   Sebastian

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode