|
@@ -329,8 +329,204 @@ When MESSAGE is non-nil, display a message with the version."
|
|
|
|
|
|
(defconst org-version (org-version))
|
|
|
|
|
|
-;;; Compatibility constants
|
|
|
+
|
|
|
+;;; Syntax Constants
|
|
|
+
|
|
|
+;;;; Block
|
|
|
+
|
|
|
+(defconst org-block-regexp
|
|
|
+ "^[ \t]*#\\+begin_?\\([^ \n]+\\)\\(\\([^\n]+\\)\\)?\n\\([^\000]+?\\)#\\+end_?\\1[ \t]*$"
|
|
|
+ "Regular expression for hiding blocks.")
|
|
|
+
|
|
|
+(defconst org-dblock-start-re
|
|
|
+ "^[ \t]*#\\+\\(?:BEGIN\\|begin\\):[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?"
|
|
|
+ "Matches the start line of a dynamic block, with parameters.")
|
|
|
+
|
|
|
+(defconst org-dblock-end-re "^[ \t]*#\\+\\(?:END\\|end\\)\\([: \t\r\n]\\|$\\)"
|
|
|
+ "Matches the end of a dynamic block.")
|
|
|
+
|
|
|
+;;;; Clock and Planning
|
|
|
+
|
|
|
+(defconst org-clock-string "CLOCK:"
|
|
|
+ "String used as prefix for timestamps clocking work hours on an item.")
|
|
|
+
|
|
|
+(defconst org-closed-string "CLOSED:"
|
|
|
+ "String used as the prefix for timestamps logging closing a TODO entry.")
|
|
|
+
|
|
|
+(defconst org-deadline-string "DEADLINE:"
|
|
|
+ "String to mark deadline entries.
|
|
|
+A deadline is this string, followed by a time stamp. Should be a word,
|
|
|
+terminated by a colon. You can insert a schedule keyword and
|
|
|
+a timestamp with \\[org-deadline].")
|
|
|
+
|
|
|
+(defconst org-scheduled-string "SCHEDULED:"
|
|
|
+ "String to mark scheduled TODO entries.
|
|
|
+A schedule is this string, followed by a time stamp. Should be a word,
|
|
|
+terminated by a colon. You can insert a schedule keyword and
|
|
|
+a timestamp with \\[org-schedule].")
|
|
|
+
|
|
|
+(defconst org-planning-or-clock-line-re
|
|
|
+ (concat "^[ \t]*"
|
|
|
+ (regexp-opt
|
|
|
+ (list org-clock-string org-closed-string org-deadline-string
|
|
|
+ org-scheduled-string)
|
|
|
+ t))
|
|
|
+ "Matches a line with planning or clock info.
|
|
|
+Matched keyword is in group 1.")
|
|
|
+
|
|
|
+;;;; Drawer
|
|
|
+
|
|
|
+(defconst org-drawer-regexp "^[ \t]*:\\(\\(?:\\w\\|[-_]\\)+\\):[ \t]*$"
|
|
|
+ "Matches first line of a hidden block.
|
|
|
+Group 1 contains drawer's name.")
|
|
|
+
|
|
|
+(defconst org-property-start-re "^[ \t]*:PROPERTIES:[ \t]*$"
|
|
|
+ "Regular expression matching the first line of a property drawer.")
|
|
|
+
|
|
|
+(defconst org-property-end-re "^[ \t]*:END:[ \t]*$"
|
|
|
+ "Regular expression matching the last line of a property drawer.")
|
|
|
+
|
|
|
+(defconst org-clock-drawer-start-re "^[ \t]*:CLOCK:[ \t]*$"
|
|
|
+ "Regular expression matching the first line of a property drawer.")
|
|
|
+
|
|
|
+(defconst org-clock-drawer-end-re "^[ \t]*:END:[ \t]*$"
|
|
|
+ "Regular expression matching the first line of a property drawer.")
|
|
|
+
|
|
|
+(defconst org-property-drawer-re
|
|
|
+ (concat "\\(" org-property-start-re "\\)[^\000]*?\\("
|
|
|
+ org-property-end-re "\\)\n?")
|
|
|
+ "Matches an entire property drawer.")
|
|
|
+
|
|
|
+(defconst org-clock-drawer-re
|
|
|
+ (concat "\\(" org-clock-drawer-start-re "\\)[^\000]*?\\("
|
|
|
+ org-property-end-re "\\)\n?")
|
|
|
+ "Matches an entire clock drawer.")
|
|
|
+
|
|
|
+;;;; Headline
|
|
|
+
|
|
|
+(defconst org-heading-keyword-regexp-format
|
|
|
+ "^\\(\\*+\\)\\(?: +%s\\)\\(?: +\\(.*?\\)\\)?[ \t]*$"
|
|
|
+ "Printf format for a regexp matching a headline with some keyword.
|
|
|
+This regexp will match the headline of any node which has the
|
|
|
+exact keyword that is put into the format. The keyword isn't in
|
|
|
+any group by default, but the stars and the body are.")
|
|
|
+
|
|
|
+(defconst org-heading-keyword-maybe-regexp-format
|
|
|
+ "^\\(\\*+\\)\\(?: +%s\\)?\\(?: +\\(.*?\\)\\)?[ \t]*$"
|
|
|
+ "Printf format for a regexp matching a headline, possibly with some keyword.
|
|
|
+This regexp can match any headline with the specified keyword, or
|
|
|
+without a keyword. The keyword isn't in any group by default,
|
|
|
+but the stars and the body are.")
|
|
|
+
|
|
|
+(defconst org-archive-tag "ARCHIVE"
|
|
|
+ "The tag that marks a subtree as archived.
|
|
|
+An archived subtree does not open during visibility cycling, and does
|
|
|
+not contribute to the agenda listings.")
|
|
|
+
|
|
|
+(defconst org-comment-string "COMMENT"
|
|
|
+ "Entries starting with this keyword will never be exported.
|
|
|
+An entry can be toggled between COMMENT and normal with
|
|
|
+\\[org-toggle-comment].")
|
|
|
+
|
|
|
+(defconst org-quote-string "QUOTE"
|
|
|
+ "Entries starting with this keyword will be exported in fixed-width font.
|
|
|
+Quoting applies only to the text in the entry following the headline, and does
|
|
|
+not extend beyond the next headline, even if that is lower level.
|
|
|
+An entry can be toggled between QUOTE and normal with
|
|
|
+\\[org-toggle-fixed-width-section].")
|
|
|
+
|
|
|
+;;;; LaTeX Environments and Fragments
|
|
|
+
|
|
|
+(defconst org-latex-regexps
|
|
|
+ '(("begin" "^[ \t]*\\(\\\\begin{\\([a-zA-Z0-9\\*]+\\)[^\000]+?\\\\end{\\2}\\)" 1 t)
|
|
|
+ ;; ("$" "\\([ (]\\|^\\)\\(\\(\\([$]\\)\\([^ \r\n,.$].*?\\(\n.*?\\)\\{0,5\\}[^ \r\n,.$]\\)\\4\\)\\)\\([ .,?;:'\")]\\|$\\)" 2 nil)
|
|
|
+ ;; \000 in the following regex is needed for org-inside-LaTeX-fragment-p
|
|
|
+ ("$1" "\\([^$]\\|^\\)\\(\\$[^ \r\n,;.$]\\$\\)\\([- .,?;:'\")\000]\\|$\\)" 2 nil)
|
|
|
+ ("$" "\\([^$]\\|^\\)\\(\\(\\$\\([^ \r\n,;.$][^$\n\r]*?\\(\n[^$\n\r]*?\\)\\{0,2\\}[^ \r\n,.$]\\)\\$\\)\\)\\([- .,?;:'\")\000]\\|$\\)" 2 nil)
|
|
|
+ ("\\(" "\\\\([^\000]*?\\\\)" 0 nil)
|
|
|
+ ("\\[" "\\\\\\[[^\000]*?\\\\\\]" 0 nil)
|
|
|
+ ("$$" "\\$\\$[^\000]*?\\$\\$" 0 nil))
|
|
|
+ "Regular expressions for matching embedded LaTeX.")
|
|
|
+
|
|
|
+;;;; Node Property
|
|
|
+
|
|
|
+(defconst org-effort-property "Effort"
|
|
|
+ "The property that is being used to keep track of effort estimates.
|
|
|
+Effort estimates given in this property need to have the format H:MM.")
|
|
|
+
|
|
|
+;;;; Table
|
|
|
+
|
|
|
+(defconst org-table-any-line-regexp "^[ \t]*\\(|\\|\\+-[-+]\\)"
|
|
|
+ "Detect an org-type or table-type table.")
|
|
|
+
|
|
|
+(defconst org-table-line-regexp "^[ \t]*|"
|
|
|
+ "Detect an org-type table line.")
|
|
|
+
|
|
|
+(defconst org-table-dataline-regexp "^[ \t]*|[^-]"
|
|
|
+ "Detect an org-type table line.")
|
|
|
+
|
|
|
+(defconst org-table-hline-regexp "^[ \t]*|-"
|
|
|
+ "Detect an org-type table hline.")
|
|
|
+
|
|
|
+(defconst org-table1-hline-regexp "^[ \t]*\\+-[-+]"
|
|
|
+ "Detect a table-type table hline.")
|
|
|
+
|
|
|
+(defconst org-table-any-border-regexp "^[ \t]*[^|+ \t]"
|
|
|
+ "Detect the first line outside a table when searching from within it.
|
|
|
+This works for both table types.")
|
|
|
+
|
|
|
+(defconst org-TBLFM-regexp "^[ \t]*#\\+TBLFM: "
|
|
|
+ "Detect a #+TBLFM line.")
|
|
|
+
|
|
|
+;;;; Timestamp
|
|
|
+
|
|
|
+(defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^\r\n>]*?\\)>"
|
|
|
+ "Regular expression for fast time stamp matching.")
|
|
|
+
|
|
|
+(defconst org-ts-regexp-both "[[<]\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^]\r\n>]*?\\)[]>]"
|
|
|
+ "Regular expression for fast time stamp matching.")
|
|
|
+
|
|
|
+(defconst org-ts-regexp0
|
|
|
+ "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)\\( +[^]+0-9>\r\n -]+\\)?\\( +\\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
|
|
|
+ "Regular expression matching time strings for analysis.
|
|
|
+This one does not require the space after the date, so it can be used
|
|
|
+on a string that terminates immediately after the date.")
|
|
|
+
|
|
|
+(defconst org-ts-regexp1 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) *\\([^]+0-9>\r\n -]*\\)\\( \\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
|
|
|
+ "Regular expression matching time strings for analysis.")
|
|
|
+
|
|
|
+(defconst org-ts-regexp2 (concat "<" org-ts-regexp1 "[^>\n]\\{0,16\\}>")
|
|
|
+ "Regular expression matching time stamps, with groups.")
|
|
|
+
|
|
|
+(defconst org-ts-regexp3 (concat "[[<]" org-ts-regexp1 "[^]>\n]\\{0,16\\}[]>]")
|
|
|
+ "Regular expression matching time stamps (also [..]), with groups.")
|
|
|
+
|
|
|
+(defconst org-tr-regexp (concat org-ts-regexp "--?-?" org-ts-regexp)
|
|
|
+ "Regular expression matching a time stamp range.")
|
|
|
+
|
|
|
+(defconst org-tr-regexp-both
|
|
|
+ (concat org-ts-regexp-both "--?-?" org-ts-regexp-both)
|
|
|
+ "Regular expression matching a time stamp range.")
|
|
|
+
|
|
|
+(defconst org-tsr-regexp (concat org-ts-regexp "\\(--?-?"
|
|
|
+ org-ts-regexp "\\)?")
|
|
|
+ "Regular expression matching a time stamp or time stamp range.")
|
|
|
+
|
|
|
+(defconst org-tsr-regexp-both
|
|
|
+ (concat org-ts-regexp-both "\\(--?-?"
|
|
|
+ org-ts-regexp-both "\\)?")
|
|
|
+ "Regular expression matching a time stamp or time stamp range.
|
|
|
+The time stamps may be either active or inactive.")
|
|
|
+
|
|
|
+(defconst org-repeat-re
|
|
|
+ "<[0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9] [^>\n]*?\\([.+]?\\+[0-9]+[hdwmy]\\(/[0-9]+[hdwmy]\\)?\\)"
|
|
|
+ "Regular expression for specifying repeated events.
|
|
|
+After a match, group 1 contains the repeat expression.")
|
|
|
|
|
|
+(defconst org-time-stamp-formats '("<%Y-%m-%d %a>" . "<%Y-%m-%d %a %H:%M>")
|
|
|
+ "Formats for `format-time-string' which are used for time stamps.")
|
|
|
+
|
|
|
+
|
|
|
;;; The custom variables
|
|
|
|
|
|
(defgroup org nil
|
|
@@ -840,34 +1036,6 @@ effective."
|
|
|
:tag "Org Keywords"
|
|
|
:group 'org)
|
|
|
|
|
|
-(defcustom org-deadline-string "DEADLINE:"
|
|
|
- "String to mark deadline entries.
|
|
|
-A deadline is this string, followed by a time stamp. Should be a word,
|
|
|
-terminated by a colon. You can insert a schedule keyword and
|
|
|
-a timestamp with \\[org-deadline].
|
|
|
-Changes become only effective after restarting Emacs."
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
-(defcustom org-scheduled-string "SCHEDULED:"
|
|
|
- "String to mark scheduled TODO entries.
|
|
|
-A schedule is this string, followed by a time stamp. Should be a word,
|
|
|
-terminated by a colon. You can insert a schedule keyword and
|
|
|
-a timestamp with \\[org-schedule].
|
|
|
-Changes become only effective after restarting Emacs."
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
-(defcustom org-closed-string "CLOSED:"
|
|
|
- "String used as the prefix for timestamps logging closing a TODO entry."
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
-(defcustom org-clock-string "CLOCK:"
|
|
|
- "String used as prefix for timestamps clocking work hours on an item."
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
(defcustom org-closed-keep-when-no-todo nil
|
|
|
"Remove CLOSED: time-stamp when switching back to a non-todo state?"
|
|
|
:group 'org-todo
|
|
@@ -876,39 +1044,6 @@ Changes become only effective after restarting Emacs."
|
|
|
:package-version '(Org . "8.0")
|
|
|
:type 'boolean)
|
|
|
|
|
|
-(defconst org-planning-or-clock-line-re (concat "^[ \t]*\\("
|
|
|
- org-scheduled-string "\\|"
|
|
|
- org-deadline-string "\\|"
|
|
|
- org-closed-string "\\|"
|
|
|
- org-clock-string "\\)")
|
|
|
- "Matches a line with planning or clock info.")
|
|
|
-
|
|
|
-(defcustom org-comment-string "COMMENT"
|
|
|
- "Entries starting with this keyword will never be exported.
|
|
|
-An entry can be toggled between COMMENT and normal with
|
|
|
-\\[org-toggle-comment].
|
|
|
-Changes become only effective after restarting Emacs."
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
-(defcustom org-quote-string "QUOTE"
|
|
|
- "Entries starting with this keyword will be exported in fixed-width font.
|
|
|
-Quoting applies only to the text in the entry following the headline, and does
|
|
|
-not extend beyond the next headline, even if that is lower level.
|
|
|
-An entry can be toggled between QUOTE and normal with
|
|
|
-\\[org-toggle-fixed-width-section]."
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
-(defconst org-drawer-regexp "^[ \t]*:\\(\\(?:\\w\\|[-_]\\)+\\):[ \t]*$"
|
|
|
- "Matches first line of a hidden block.
|
|
|
-Group 1 contains drawer's name.")
|
|
|
-
|
|
|
-(defconst org-repeat-re
|
|
|
- "<[0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9] [^>\n]*?\\([.+]?\\+[0-9]+[hdwmy]\\(/[0-9]+[hdwmy]\\)?\\)"
|
|
|
- "Regular expression for specifying repeated events.
|
|
|
-After a match, group 1 contains the repeat expression.")
|
|
|
-
|
|
|
(defgroup org-structure nil
|
|
|
"Options concerning the general structure of Org-mode files."
|
|
|
:tag "Org Structure"
|
|
@@ -2861,10 +2996,6 @@ the time stamp will always be forced into the second line."
|
|
|
:group 'org-time
|
|
|
:type 'boolean)
|
|
|
|
|
|
-(defconst org-time-stamp-formats '("<%Y-%m-%d %a>" . "<%Y-%m-%d %a %H:%M>")
|
|
|
- "Formats for `format-time-string' which are used for time stamps.
|
|
|
-It is not recommended to change this constant.")
|
|
|
-
|
|
|
(defcustom org-time-stamp-rounding-minutes '(0 5)
|
|
|
"Number of minutes to round time stamps to.
|
|
|
These are two values, the first applies when first creating a time stamp.
|
|
@@ -3532,13 +3663,6 @@ or nil if the normal value should be used."
|
|
|
:group 'org-properties
|
|
|
:type '(choice (const nil) (function)))
|
|
|
|
|
|
-(defcustom org-effort-property "Effort"
|
|
|
- "The property that is being used to keep track of effort estimates.
|
|
|
-Effort estimates given in this property need to have the format H:MM."
|
|
|
- :group 'org-properties
|
|
|
- :group 'org-progress
|
|
|
- :type '(string :tag "Property"))
|
|
|
-
|
|
|
(defconst org-global-properties-fixed
|
|
|
'(("VISIBILITY_ALL" . "folded children content all")
|
|
|
("CLOCK_MODELINE_TOTAL_ALL" . "current today repeat all auto"))
|
|
@@ -4234,30 +4358,6 @@ Normal means, no org-mode-specific context."
|
|
|
(declare-function speedbar-line-directory "speedbar" (&optional depth))
|
|
|
(declare-function table--at-cell-p "table" (position &optional object at-column))
|
|
|
|
|
|
-(defvar org-latex-regexps)
|
|
|
-
|
|
|
-;;; Autoload and prepare some org modules
|
|
|
-
|
|
|
-;; Some table stuff that needs to be defined here, because it is used
|
|
|
-;; by the functions setting up org-mode or checking for table context.
|
|
|
-
|
|
|
-(defconst org-table-any-line-regexp "^[ \t]*\\(|\\|\\+-[-+]\\)"
|
|
|
- "Detect an org-type or table-type table.")
|
|
|
-(defconst org-table-line-regexp "^[ \t]*|"
|
|
|
- "Detect an org-type table line.")
|
|
|
-(defconst org-table-dataline-regexp "^[ \t]*|[^-]"
|
|
|
- "Detect an org-type table line.")
|
|
|
-(defconst org-table-hline-regexp "^[ \t]*|-"
|
|
|
- "Detect an org-type table hline.")
|
|
|
-(defconst org-table1-hline-regexp "^[ \t]*\\+-[-+]"
|
|
|
- "Detect a table-type table hline.")
|
|
|
-(defconst org-table-any-border-regexp "^[ \t]*[^|+ \t]"
|
|
|
- "Detect the first line outside a table when searching from within it.
|
|
|
-This works for both table types.")
|
|
|
-
|
|
|
-(defconst org-TBLFM-regexp "^[ \t]*#\\+TBLFM: "
|
|
|
- "Detect a #+TBLFM line.")
|
|
|
-
|
|
|
;;;###autoload
|
|
|
(defun turn-on-orgtbl ()
|
|
|
"Unconditionally turn on `orgtbl-mode'."
|
|
@@ -4454,16 +4554,6 @@ the hierarchy, it will be used."
|
|
|
:group 'org-archive
|
|
|
:type 'string)
|
|
|
|
|
|
-(defcustom org-archive-tag "ARCHIVE"
|
|
|
- "The tag that marks a subtree as archived.
|
|
|
-An archived subtree does not open during visibility cycling, and does
|
|
|
-not contribute to the agenda listings.
|
|
|
-After changing this, font-lock must be restarted in the relevant buffers to
|
|
|
-get the proper fontification."
|
|
|
- :group 'org-archive
|
|
|
- :group 'org-keywords
|
|
|
- :type 'string)
|
|
|
-
|
|
|
(defcustom org-agenda-skip-archived-trees t
|
|
|
"Non-nil means the agenda will skip any items located in archived trees.
|
|
|
An archived tree is a tree marked with the tag ARCHIVE. The use of this
|
|
@@ -4759,22 +4849,6 @@ means to push this value onto the list in the variable.")
|
|
|
(cons (cons key (if previous (concat previous " " val) val)) remainder)
|
|
|
(cons (cons key val) remainder))))
|
|
|
|
|
|
-(defconst org-block-regexp
|
|
|
- "^[ \t]*#\\+begin_?\\([^ \n]+\\)\\(\\([^\n]+\\)\\)?\n\\([^\000]+?\\)#\\+end_?\\1[ \t]*$"
|
|
|
- "Regular expression for hiding blocks.")
|
|
|
-(defconst org-heading-keyword-regexp-format
|
|
|
- "^\\(\\*+\\)\\(?: +%s\\)\\(?: +\\(.*?\\)\\)?[ \t]*$"
|
|
|
- "Printf format for a regexp matching a headline with some keyword.
|
|
|
-This regexp will match the headline of any node which has the
|
|
|
-exact keyword that is put into the format. The keyword isn't in
|
|
|
-any group by default, but the stars and the body are.")
|
|
|
-(defconst org-heading-keyword-maybe-regexp-format
|
|
|
- "^\\(\\*+\\)\\(?: +%s\\)?\\(?: +\\(.*?\\)\\)?[ \t]*$"
|
|
|
- "Printf format for a regexp matching a headline, possibly with some keyword.
|
|
|
-This regexp can match any headline with the specified keyword, or
|
|
|
-without a keyword. The keyword isn't in any group by default,
|
|
|
-but the stars and the body are.")
|
|
|
-
|
|
|
(defcustom org-group-tags t
|
|
|
"When non-nil (the default), use group tags.
|
|
|
This can be turned on/off through `org-toggle-tags-groups'."
|
|
@@ -5633,35 +5707,6 @@ This should be called after the variable `org-link-types' has changed."
|
|
|
|
|
|
(org-make-link-regexps)
|
|
|
|
|
|
-(defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^\r\n>]*?\\)>"
|
|
|
- "Regular expression for fast time stamp matching.")
|
|
|
-(defconst org-ts-regexp-both "[[<]\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^]\r\n>]*?\\)[]>]"
|
|
|
- "Regular expression for fast time stamp matching.")
|
|
|
-(defconst org-ts-regexp0
|
|
|
- "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)\\( +[^]+0-9>\r\n -]+\\)?\\( +\\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
|
|
|
- "Regular expression matching time strings for analysis.
|
|
|
-This one does not require the space after the date, so it can be used
|
|
|
-on a string that terminates immediately after the date.")
|
|
|
-(defconst org-ts-regexp1 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) *\\([^]+0-9>\r\n -]*\\)\\( \\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
|
|
|
- "Regular expression matching time strings for analysis.")
|
|
|
-(defconst org-ts-regexp2 (concat "<" org-ts-regexp1 "[^>\n]\\{0,16\\}>")
|
|
|
- "Regular expression matching time stamps, with groups.")
|
|
|
-(defconst org-ts-regexp3 (concat "[[<]" org-ts-regexp1 "[^]>\n]\\{0,16\\}[]>]")
|
|
|
- "Regular expression matching time stamps (also [..]), with groups.")
|
|
|
-(defconst org-tr-regexp (concat org-ts-regexp "--?-?" org-ts-regexp)
|
|
|
- "Regular expression matching a time stamp range.")
|
|
|
-(defconst org-tr-regexp-both
|
|
|
- (concat org-ts-regexp-both "--?-?" org-ts-regexp-both)
|
|
|
- "Regular expression matching a time stamp range.")
|
|
|
-(defconst org-tsr-regexp (concat org-ts-regexp "\\(--?-?"
|
|
|
- org-ts-regexp "\\)?")
|
|
|
- "Regular expression matching a time stamp or time stamp range.")
|
|
|
-(defconst org-tsr-regexp-both
|
|
|
- (concat org-ts-regexp-both "\\(--?-?"
|
|
|
- org-ts-regexp-both "\\)?")
|
|
|
- "Regular expression matching a time stamp or time stamp range.
|
|
|
-The time stamps may be either active or inactive.")
|
|
|
-
|
|
|
(defvar org-emph-face nil)
|
|
|
|
|
|
(defun org-do-emphasis-faces (limit)
|
|
@@ -11828,13 +11873,6 @@ If not found, stay at current position and return nil."
|
|
|
(if pos (goto-char pos))
|
|
|
pos))
|
|
|
|
|
|
-(defconst org-dblock-start-re
|
|
|
- "^[ \t]*#\\+\\(?:BEGIN\\|begin\\):[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?"
|
|
|
- "Matches the start line of a dynamic block, with parameters.")
|
|
|
-
|
|
|
-(defconst org-dblock-end-re "^[ \t]*#\\+\\(?:END\\|end\\)\\([: \t\r\n]\\|$\\)"
|
|
|
- "Matches the end of a dynamic block.")
|
|
|
-
|
|
|
(defun org-create-dblock (plist)
|
|
|
"Create a dynamic block section, with parameters taken from PLIST.
|
|
|
PLIST must contain a :name entry which is used as name of the block."
|
|
@@ -15052,28 +15090,6 @@ but in some other way.")
|
|
|
"Some properties that are used by Org-mode for various purposes.
|
|
|
Being in this list makes sure that they are offered for completion.")
|
|
|
|
|
|
-(defconst org-property-start-re "^[ \t]*:PROPERTIES:[ \t]*$"
|
|
|
- "Regular expression matching the first line of a property drawer.")
|
|
|
-
|
|
|
-(defconst org-property-end-re "^[ \t]*:END:[ \t]*$"
|
|
|
- "Regular expression matching the last line of a property drawer.")
|
|
|
-
|
|
|
-(defconst org-clock-drawer-start-re "^[ \t]*:CLOCK:[ \t]*$"
|
|
|
- "Regular expression matching the first line of a property drawer.")
|
|
|
-
|
|
|
-(defconst org-clock-drawer-end-re "^[ \t]*:END:[ \t]*$"
|
|
|
- "Regular expression matching the first line of a property drawer.")
|
|
|
-
|
|
|
-(defconst org-property-drawer-re
|
|
|
- (concat "\\(" org-property-start-re "\\)[^\000]*?\\("
|
|
|
- org-property-end-re "\\)\n?")
|
|
|
- "Matches an entire property drawer.")
|
|
|
-
|
|
|
-(defconst org-clock-drawer-re
|
|
|
- (concat "\\(" org-clock-drawer-start-re "\\)[^\000]*?\\("
|
|
|
- org-property-end-re "\\)\n?")
|
|
|
- "Matches an entire clock drawer.")
|
|
|
-
|
|
|
(defun org-property-action ()
|
|
|
"Do an action on properties."
|
|
|
(interactive)
|
|
@@ -18202,17 +18218,6 @@ Revert to the normal definition outside of these fragments."
|
|
|
|
|
|
;;;; LaTeX fragments
|
|
|
|
|
|
-(defvar org-latex-regexps
|
|
|
- '(("begin" "^[ \t]*\\(\\\\begin{\\([a-zA-Z0-9\\*]+\\)[^\000]+?\\\\end{\\2}\\)" 1 t)
|
|
|
- ;; ("$" "\\([ (]\\|^\\)\\(\\(\\([$]\\)\\([^ \r\n,.$].*?\\(\n.*?\\)\\{0,5\\}[^ \r\n,.$]\\)\\4\\)\\)\\([ .,?;:'\")]\\|$\\)" 2 nil)
|
|
|
- ;; \000 in the following regex is needed for org-inside-LaTeX-fragment-p
|
|
|
- ("$1" "\\([^$]\\|^\\)\\(\\$[^ \r\n,;.$]\\$\\)\\([- .,?;:'\")\000]\\|$\\)" 2 nil)
|
|
|
- ("$" "\\([^$]\\|^\\)\\(\\(\\$\\([^ \r\n,;.$][^$\n\r]*?\\(\n[^$\n\r]*?\\)\\{0,2\\}[^ \r\n,.$]\\)\\$\\)\\)\\([- .,?;:'\")\000]\\|$\\)" 2 nil)
|
|
|
- ("\\(" "\\\\([^\000]*?\\\\)" 0 nil)
|
|
|
- ("\\[" "\\\\\\[[^\000]*?\\\\\\]" 0 nil)
|
|
|
- ("$$" "\\$\\$[^\000]*?\\$\\$" 0 nil))
|
|
|
- "Regular expressions for matching embedded LaTeX.")
|
|
|
-
|
|
|
(defun org-inside-LaTeX-fragment-p ()
|
|
|
"Test if point is inside a LaTeX fragment.
|
|
|
I.e. after a \\begin, \\(, \\[, $, or $$, without the corresponding closing
|