|
@@ -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)))
|