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)
(unless (eolp) (skip-chars-backward "^ \t"))
(skip-chars-backward " \t")
(setq ov (make-overlay (1- (point)) (point-at-eol))
tx (concat (buffer-substring (1- (point)) (point))
(setq ov (make-overlay (point-at-bol) (point-at-eol))
tx (concat (buffer-substring (point-at-bol) (point))
(make-string (+ off (max 0 (- c (current-column)))) ?.)
(org-add-props (if org-time-clocksum-use-fractional
(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.
@ -1318,11 +1318,8 @@ on this string to produce the exported version."
;; Remove or replace comments
(org-export-handle-comments (plist-get parameters :comments))
;; Remove #+TBLFM and #+TBLNAME lines
(org-export-handle-table-metalines)
;; Remove #+results and #+name lines
(org-export-res/src-name-cleanup)
;; Remove #+TBLFM #+TBLNAME #+NAME #+RESULTS lines
(org-export-handle-metalines)
;; Run the final hook
(run-hooks 'org-export-preprocess-final-hook)
@ -2009,9 +2006,11 @@ When it is nil, all comments will be removed."
(replace-match "")
(goto-char (max (point-min) (1- pos))))))))
(defun org-export-handle-table-metalines ()
"Remove table specific metalines #+TBLNAME: and #+TBLFM:."
(let ((re "^[ \t]*#\\+tbl\\(name\\|fm\\):\\(.*\n?\\)")
(defun org-export-handle-metalines ()
"Remove tables and source blocks metalines.
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)
pos)
(goto-char (point-min))
@ -2024,18 +2023,6 @@ When it is nil, all comments will be removed."
(replace-match "")
(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 ()
"Find all matches for radio targets and turn them into internal links."
(let ((re-radio (and org-target-link-regexp
@ -3313,18 +3300,20 @@ If yes remove the column and the special lines."
(defun org-export-cleanup-toc-line (s)
"Remove tags and timestamps from lines going into the toc."
(when (memq org-export-with-tags '(not-in-toc nil))
(if (string-match (org-re " +:[[:alnum:]_@#%:]+: *$") s)
(if (not s)
"" ; Return a string when argument is nil
(when (memq org-export-with-tags '(not-in-toc nil))
(if (string-match (org-re " +:[[:alnum:]_@#%:]+: *$") s)
(setq s (replace-match "" t t s))))
(when org-export-remove-timestamps-from-toc
(while (string-match org-maybe-keyword-time-regexp s)
(setq s (replace-match "" t t s))))
(when org-export-remove-timestamps-from-toc
(while (string-match org-maybe-keyword-time-regexp s)
(setq s (replace-match "" t t s))))
(while (string-match org-bracket-link-regexp s)
(setq s (replace-match (match-string (if (match-end 3) 3 1) s)
t t s)))
(while (string-match "\\[\\([0-9]\\|fn:[^]]*\\)\\]" s)
(setq s (replace-match "" t t s)))
s)
(while (string-match org-bracket-link-regexp s)
(setq s (replace-match (match-string (if (match-end 3) 3 1) s)
t t s)))
(while (string-match "\\[\\([0-9]\\|fn:[^]]*\\)\\]" s)
(setq s (replace-match "" t t s)))
s))
(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
(setq level (org-tr-level (- (match-end 1) (match-beginning 1)
level-offset))
txt (match-string 2 org-line))
txt (or (match-string 2 org-line) ""))
(if (string-match quote-re0 txt)
(setq txt (replace-match "" t t txt)))
(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)
(cons "</colgroup>" (cdr html)))))
;; Since the output of HTML table formatter can also be used in
;; DocBook document, we want to always include the caption to make
;; DocBook XML file valid.
(push (format "<caption>%s</caption>" (or caption "")) html)
;; DocBook document, include empty captions for the DocBook
;; export only so that it produces valid XML.
(when (or caption (eq org-export-current-backend 'docbook))
(push (format "<caption>%s</caption>" (or caption "")) html))
(when 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))

View File

@ -5579,7 +5579,8 @@ by a #."
(if (string-equal dc1 "+title:")
'(font-lock-fontified t face org-document-title)
'(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:"
"+call:" "+header:" "+headers:" "+name:"))
(and (match-end 4) (equal dc3 "+attr")))
@ -8697,7 +8698,8 @@ call CMD."
(defun org-refresh-category-properties ()
"Refresh category text properties in the buffer."
(let ((inhibit-read-only t)
(let ((case-fold-search t)
(inhibit-read-only t)
(def-cat (cond
((null org-category)
(if buffer-file-name
@ -11157,20 +11159,20 @@ this is used for the GOTO interface."
(defun org-find-dblock (name)
"Find the first dynamic block with name NAME in the buffer.
If not found, stay at current position and return nil."
(let (pos)
(let ((case-fold-search t) pos)
(save-excursion
(goto-char (point-min))
(setq pos (and (re-search-forward (concat "^[ \t]*#\\+BEGIN:[ \t]+" name "\\>")
nil t)
(setq pos (and (re-search-forward
(concat "^[ \t]*#\\+\\(?:BEGIN\\|begin\\):[ \t]+" name "\\>") nil t)
(match-beginning 0))))
(if pos (goto-char pos))
pos))
(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.")
(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.")
(defun org-create-dblock (plist)
@ -11322,7 +11324,7 @@ This function can be used in a hook."
'("TITLE:" "AUTHOR:" "EMAIL:" "DATE:"
"DESCRIPTION:" "KEYWORDS:" "LANGUAGE:" "OPTIONS:"
"EXPORT_SELECT_TAGS:" "EXPORT_EXCLUDE_TAGS:"
"LINK_UP:" "LINK_HOME:" "LINK:"
"LINK_UP:" "LINK_HOME:" "LINK:" "TODO:"
"XSLT:" "CATEGORY:" "SEQ_TODO:" "TYP_TODO:"
"PRIORITIES:" "DRAWERS:" "STARTUP:" "TAGS:"
"FILETAGS:" "ARCHIVE:"))
@ -20351,21 +20353,22 @@ and :keyword."
(push (list :table-table) clist)))
(goto-char p)
;; New the "medium" contexts: clocktables, source blocks
(cond ((org-in-clocktable-p)
(push (list :clocktable
(and (or (looking-at "#\\+BEGIN: clocktable")
(search-backward "#+BEGIN: clocktable" nil t))
(match-beginning 0))
(and (re-search-forward "#\\+END:?" nil t)
(match-end 0))) clist))
((org-in-src-block-p)
(push (list :src-block
(and (or (looking-at "#\\+BEGIN_SRC")
(search-backward "#+BEGIN_SRC" nil t))
(match-beginning 0))
(and (search-forward "#+END_SRC" nil t)
(match-beginning 0))) clist)))
(let ((case-fold-search t))
;; New the "medium" contexts: clocktables, source blocks
(cond ((org-in-clocktable-p)
(push (list :clocktable
(and (or (looking-at "#\\+BEGIN: clocktable")
(search-backward "#+BEGIN: clocktable" nil t))
(match-beginning 0))
(and (re-search-forward "#\\+END:?" nil t)
(match-end 0))) clist))
((org-in-src-block-p)
(push (list :src-block
(and (or (looking-at "#\\+BEGIN_SRC")
(search-backward "#+BEGIN_SRC" nil t))
(match-beginning 0))
(and (search-forward "#+END_SRC" nil t)
(match-beginning 0))) clist))))
(goto-char p)
;; 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)
"Make a regular expression for keyword lines."
(concat
"^"
"#?[ \t]*\\+\\("
"^#\\+\\("
(mapconcat 'regexp-quote kwds "\\|")
(if extra (concat "\\|" extra))
"\\):[ \t]*"
"\\(.*\\)"))
"\\):[ \t]*\\(.*\\)"))
;; Make isearch reveal the necessary context
(defun org-isearch-end ()