[Orgmode] Re: [PATCH] Unwanted #+ATTR_Backend and #+Backend stuff

2010-06-30 Thread Sebastian Rose
Nicolas Goaziou n.goaz...@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.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 |   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--
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.






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

___
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 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