Merge branch 'holidays-fixes'
This commit is contained in:
commit
3ca3b1e693
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
55
lisp/org.el
55
lisp/org.el
|
@ -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 ()
|
||||
|
|
Loading…
Reference in New Issue