Merge branch 'holidays-fixes'

This commit is contained in:
Bastien Guerry 2012-08-19 10:16:19 +02:00
commit 3ca3b1e693
4 changed files with 56 additions and 65 deletions

View File

@ -1798,8 +1798,8 @@ will be easy to remove."
(org-move-to-column c) (org-move-to-column c)
(unless (eolp) (skip-chars-backward "^ \t")) (unless (eolp) (skip-chars-backward "^ \t"))
(skip-chars-backward " \t") (skip-chars-backward " \t")
(setq ov (make-overlay (1- (point)) (point-at-eol)) (setq ov (make-overlay (point-at-bol) (point-at-eol))
tx (concat (buffer-substring (1- (point)) (point)) tx (concat (buffer-substring (point-at-bol) (point))
(make-string (+ off (max 0 (- c (current-column)))) ?.) (make-string (+ off (max 0 (- c (current-column)))) ?.)
(org-add-props (if org-time-clocksum-use-fractional (org-add-props (if org-time-clocksum-use-fractional
(format fmt (format fmt

View File

@ -1,4 +1,4 @@
;;; org-exp.el --- ASCII, HTML, XOXO and iCalendar export for Org-mode ;;; org-exp.el --- Export internals for Org-mode
;; Copyright (C) 2004-2012 Free Software Foundation, Inc. ;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
@ -1318,11 +1318,8 @@ on this string to produce the exported version."
;; Remove or replace comments ;; Remove or replace comments
(org-export-handle-comments (plist-get parameters :comments)) (org-export-handle-comments (plist-get parameters :comments))
;; Remove #+TBLFM and #+TBLNAME lines ;; Remove #+TBLFM #+TBLNAME #+NAME #+RESULTS lines
(org-export-handle-table-metalines) (org-export-handle-metalines)
;; Remove #+results and #+name lines
(org-export-res/src-name-cleanup)
;; Run the final hook ;; Run the final hook
(run-hooks 'org-export-preprocess-final-hook) (run-hooks 'org-export-preprocess-final-hook)
@ -2009,9 +2006,11 @@ When it is nil, all comments will be removed."
(replace-match "") (replace-match "")
(goto-char (max (point-min) (1- pos)))))))) (goto-char (max (point-min) (1- pos))))))))
(defun org-export-handle-table-metalines () (defun org-export-handle-metalines ()
"Remove table specific metalines #+TBLNAME: and #+TBLFM:." "Remove tables and source blocks metalines.
(let ((re "^[ \t]*#\\+tbl\\(name\\|fm\\):\\(.*\n?\\)") This function should only be called after all block processing
has taken place."
(let ((re "^[ \t]*#\\+\\(tbl\\(?:name\\|fm\\)\\|results\\(?:\\[[a-z0-9]+\\]\\)?\\|name\\):\\(.*\n?\\)")
(case-fold-search t) (case-fold-search t)
pos) pos)
(goto-char (point-min)) (goto-char (point-min))
@ -2024,18 +2023,6 @@ When it is nil, all comments will be removed."
(replace-match "") (replace-match "")
(goto-char (max (point-min) (1- pos))))))) (goto-char (max (point-min) (1- pos)))))))
(defun org-export-res/src-name-cleanup ()
"Clean up #+results and #+name lines for export.
This function should only be called after all block processing
has taken place."
(interactive)
(save-excursion
(goto-char (point-min))
(let ((case-fold-search t))
(while (org-re-search-forward-unprotected
"#\\+\\(name\\|results\\(\\[[a-z0-9]+\\]\\)?\\):" nil t)
(delete-region (match-beginning 0) (progn (forward-line) (point)))))))
(defun org-export-mark-radio-links () (defun org-export-mark-radio-links ()
"Find all matches for radio targets and turn them into internal links." "Find all matches for radio targets and turn them into internal links."
(let ((re-radio (and org-target-link-regexp (let ((re-radio (and org-target-link-regexp
@ -3313,6 +3300,8 @@ If yes remove the column and the special lines."
(defun org-export-cleanup-toc-line (s) (defun org-export-cleanup-toc-line (s)
"Remove tags and timestamps from lines going into the toc." "Remove tags and timestamps from lines going into the toc."
(if (not s)
"" ; Return a string when argument is nil
(when (memq org-export-with-tags '(not-in-toc nil)) (when (memq org-export-with-tags '(not-in-toc nil))
(if (string-match (org-re " +:[[:alnum:]_@#%:]+: *$") s) (if (string-match (org-re " +:[[:alnum:]_@#%:]+: *$") s)
(setq s (replace-match "" t t s)))) (setq s (replace-match "" t t s))))
@ -3324,7 +3313,7 @@ If yes remove the column and the special lines."
t t s))) t t s)))
(while (string-match "\\[\\([0-9]\\|fn:[^]]*\\)\\]" s) (while (string-match "\\[\\([0-9]\\|fn:[^]]*\\)\\]" s)
(setq s (replace-match "" t t s))) (setq s (replace-match "" t t s)))
s) s))
(defun org-get-text-property-any (pos prop &optional object) (defun org-get-text-property-any (pos prop &optional object)

View File

@ -1704,7 +1704,7 @@ PUB-DIR is set, use this as the publishing directory."
;; This is a headline ;; This is a headline
(setq level (org-tr-level (- (match-end 1) (match-beginning 1) (setq level (org-tr-level (- (match-end 1) (match-beginning 1)
level-offset)) level-offset))
txt (match-string 2 org-line)) txt (or (match-string 2 org-line) ""))
(if (string-match quote-re0 txt) (if (string-match quote-re0 txt)
(setq txt (replace-match "" t t txt))) (setq txt (replace-match "" t t txt)))
(if (<= level (max umax umax-toc)) (if (<= level (max umax umax-toc))
@ -2141,9 +2141,10 @@ for formatting. This is required for the DocBook exporter."
(if colgropen (setq html (cons (car html) (if colgropen (setq html (cons (car html)
(cons "</colgroup>" (cdr html))))) (cons "</colgroup>" (cdr html)))))
;; Since the output of HTML table formatter can also be used in ;; Since the output of HTML table formatter can also be used in
;; DocBook document, we want to always include the caption to make ;; DocBook document, include empty captions for the DocBook
;; DocBook XML file valid. ;; export only so that it produces valid XML.
(push (format "<caption>%s</caption>" (or caption "")) html) (when (or caption (eq org-export-current-backend 'docbook))
(push (format "<caption>%s</caption>" (or caption "")) html))
(when label (when label
(setq html-table-tag (org-export-splice-attributes html-table-tag (format "id=\"%s\"" (org-solidify-link-text label))))) (setq html-table-tag (org-export-splice-attributes html-table-tag (format "id=\"%s\"" (org-solidify-link-text label)))))
(push html-table-tag html)) (push html-table-tag html))

View File

@ -5579,7 +5579,8 @@ by a #."
(if (string-equal dc1 "+title:") (if (string-equal dc1 "+title:")
'(font-lock-fontified t face org-document-title) '(font-lock-fontified t face org-document-title)
'(font-lock-fontified t face org-document-info)))) '(font-lock-fontified t face org-document-info))))
((or (member dc1 '("+begin:" "+end:" "+caption:" "+label:" ((or (equal dc1 "+results")
(member dc1 '("+begin:" "+end:" "+caption:" "+label:"
"+orgtbl:" "+tblfm:" "+tblname:" "+results:" "+orgtbl:" "+tblfm:" "+tblname:" "+results:"
"+call:" "+header:" "+headers:" "+name:")) "+call:" "+header:" "+headers:" "+name:"))
(and (match-end 4) (equal dc3 "+attr"))) (and (match-end 4) (equal dc3 "+attr")))
@ -8697,7 +8698,8 @@ call CMD."
(defun org-refresh-category-properties () (defun org-refresh-category-properties ()
"Refresh category text properties in the buffer." "Refresh category text properties in the buffer."
(let ((inhibit-read-only t) (let ((case-fold-search t)
(inhibit-read-only t)
(def-cat (cond (def-cat (cond
((null org-category) ((null org-category)
(if buffer-file-name (if buffer-file-name
@ -11157,20 +11159,20 @@ this is used for the GOTO interface."
(defun org-find-dblock (name) (defun org-find-dblock (name)
"Find the first dynamic block with name NAME in the buffer. "Find the first dynamic block with name NAME in the buffer.
If not found, stay at current position and return nil." If not found, stay at current position and return nil."
(let (pos) (let ((case-fold-search t) pos)
(save-excursion (save-excursion
(goto-char (point-min)) (goto-char (point-min))
(setq pos (and (re-search-forward (concat "^[ \t]*#\\+BEGIN:[ \t]+" name "\\>") (setq pos (and (re-search-forward
nil t) (concat "^[ \t]*#\\+\\(?:BEGIN\\|begin\\):[ \t]+" name "\\>") nil t)
(match-beginning 0)))) (match-beginning 0))))
(if pos (goto-char pos)) (if pos (goto-char pos))
pos)) pos))
(defconst org-dblock-start-re (defconst org-dblock-start-re
"^[ \t]*#\\+BEGIN:[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?" "^[ \t]*#\\+\\(?:BEGIN\\|begin\\):[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?"
"Matches the start line of a dynamic block, with parameters.") "Matches the start line of a dynamic block, with parameters.")
(defconst org-dblock-end-re "^[ \t]*#\\+END\\([: \t\r\n]\\|$\\)" (defconst org-dblock-end-re "^[ \t]*#\\+\\(?:END\\|end\\)\\([: \t\r\n]\\|$\\)"
"Matches the end of a dynamic block.") "Matches the end of a dynamic block.")
(defun org-create-dblock (plist) (defun org-create-dblock (plist)
@ -11322,7 +11324,7 @@ This function can be used in a hook."
'("TITLE:" "AUTHOR:" "EMAIL:" "DATE:" '("TITLE:" "AUTHOR:" "EMAIL:" "DATE:"
"DESCRIPTION:" "KEYWORDS:" "LANGUAGE:" "OPTIONS:" "DESCRIPTION:" "KEYWORDS:" "LANGUAGE:" "OPTIONS:"
"EXPORT_SELECT_TAGS:" "EXPORT_EXCLUDE_TAGS:" "EXPORT_SELECT_TAGS:" "EXPORT_EXCLUDE_TAGS:"
"LINK_UP:" "LINK_HOME:" "LINK:" "LINK_UP:" "LINK_HOME:" "LINK:" "TODO:"
"XSLT:" "CATEGORY:" "SEQ_TODO:" "TYP_TODO:" "XSLT:" "CATEGORY:" "SEQ_TODO:" "TYP_TODO:"
"PRIORITIES:" "DRAWERS:" "STARTUP:" "TAGS:" "PRIORITIES:" "DRAWERS:" "STARTUP:" "TAGS:"
"FILETAGS:" "ARCHIVE:")) "FILETAGS:" "ARCHIVE:"))
@ -20351,6 +20353,7 @@ and :keyword."
(push (list :table-table) clist))) (push (list :table-table) clist)))
(goto-char p) (goto-char p)
(let ((case-fold-search t))
;; New the "medium" contexts: clocktables, source blocks ;; New the "medium" contexts: clocktables, source blocks
(cond ((org-in-clocktable-p) (cond ((org-in-clocktable-p)
(push (list :clocktable (push (list :clocktable
@ -20365,7 +20368,7 @@ and :keyword."
(search-backward "#+BEGIN_SRC" nil t)) (search-backward "#+BEGIN_SRC" nil t))
(match-beginning 0)) (match-beginning 0))
(and (search-forward "#+END_SRC" nil t) (and (search-forward "#+END_SRC" nil t)
(match-beginning 0))) clist))) (match-beginning 0))) clist))))
(goto-char p) (goto-char p)
;; Now the small context ;; Now the small context
@ -22059,12 +22062,10 @@ Show the heading too, if it is currently invisible."
(defun org-make-options-regexp (kwds &optional extra) (defun org-make-options-regexp (kwds &optional extra)
"Make a regular expression for keyword lines." "Make a regular expression for keyword lines."
(concat (concat
"^" "^#\\+\\("
"#?[ \t]*\\+\\("
(mapconcat 'regexp-quote kwds "\\|") (mapconcat 'regexp-quote kwds "\\|")
(if extra (concat "\\|" extra)) (if extra (concat "\\|" extra))
"\\):[ \t]*" "\\):[ \t]*\\(.*\\)"))
"\\(.*\\)"))
;; Make isearch reveal the necessary context ;; Make isearch reveal the necessary context
(defun org-isearch-end () (defun org-isearch-end ()