Backport commit 3c94c7bc0 and db9c924d3 from Emacs
* lisp/ob-core.el (org-babel-string-read): * lisp/org-agenda.el: (org-agenda-add-entry-to-org-agenda-diary-file): * lisp/org-element.el (org-element-keyword-parser): * lisp/org-list.el (org-list-indent-item-generic): * lisp/org-mhe.el (org-mhe-get-message-folder-from-index): * lisp/org-mobile.el (org-mobile-apply): * lisp/org-mouse.el (org-mouse-context-menu): * lisp/org-plot.el (org-plot/gnuplot): * lisp/org-protocol.el (org-protocol-flatten-greedy): * lisp/org-table.el (org-table-copy-down) (org-table-formula-make-cmp-string) (org-table-get-stored-formulas, org-table-recalculate) (org-table-edit-formulas): * lisp/org.el (org-translate-link-from-planner) (org-fill-line-break-nobreak-p): * lisp/ox-ascii.el (org-ascii-item): * lisp/ox-latex.el (org-latex-clean-invalid-line-breaks): * lisp/ox.el (org-export-expand-include-keyword): Fix regular-expression infelicities and typos. Fix regular-expression glitches and typos 3c94c7bc02fcacb4a101188dddb0c44d53444178 Paul Eggert Mon Mar 4 18:00:58 2019 -0800 More regexp corrections and tweaks db9c924d3d53f46846ad8fd74a5d08f4586a520e Paul Eggert Fri Mar 8 09:09:40 2019 -0800 Note(km): These two commits are ported together because, with respect to Org files, db9c924d3 is a fix of an error from 3c94c7bc0.
This commit is contained in:
parent
0007df863d
commit
602f2280e3
|
@ -2972,7 +2972,7 @@ If the table is trivial, then return it as a scalar."
|
||||||
(defun org-babel-string-read (cell)
|
(defun org-babel-string-read (cell)
|
||||||
"Strip nested \"s from around strings."
|
"Strip nested \"s from around strings."
|
||||||
(org-babel-read (or (and (stringp cell)
|
(org-babel-read (or (and (stringp cell)
|
||||||
(string-match "\\\"\\(.+\\)\\\"" cell)
|
(string-match "\"\\(.+\\)\"" cell)
|
||||||
(match-string 1 cell))
|
(match-string 1 cell))
|
||||||
cell) t))
|
cell) t))
|
||||||
|
|
||||||
|
|
|
@ -9480,7 +9480,7 @@ the resulting entry will not be shown. When TEXT is empty, switch to
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(cl-case type
|
(cl-case type
|
||||||
(anniversary
|
(anniversary
|
||||||
(or (re-search-forward "^*[ \t]+Anniversaries" nil t)
|
(or (re-search-forward "^\\*[ \t]+Anniversaries" nil t)
|
||||||
(progn
|
(progn
|
||||||
(or (org-at-heading-p t)
|
(or (org-at-heading-p t)
|
||||||
(progn
|
(progn
|
||||||
|
|
|
@ -2150,7 +2150,7 @@ containing `:key', `:value', `:begin', `:end', `:post-blank' and
|
||||||
;; this corner case.
|
;; this corner case.
|
||||||
(let ((begin (or (car affiliated) (point)))
|
(let ((begin (or (car affiliated) (point)))
|
||||||
(post-affiliated (point))
|
(post-affiliated (point))
|
||||||
(key (progn (looking-at "[ \t]*#\\+\\(\\S-+*\\):")
|
(key (progn (looking-at "[ \t]*#\\+\\(\\S-*\\):")
|
||||||
(upcase (match-string-no-properties 1))))
|
(upcase (match-string-no-properties 1))))
|
||||||
(value (org-trim (buffer-substring-no-properties
|
(value (org-trim (buffer-substring-no-properties
|
||||||
(match-end 0) (point-at-eol))))
|
(match-end 0) (point-at-eol))))
|
||||||
|
|
|
@ -2657,7 +2657,7 @@ Return t if successful."
|
||||||
(error "Cannot outdent beyond margin")
|
(error "Cannot outdent beyond margin")
|
||||||
;; Change bullet if necessary.
|
;; Change bullet if necessary.
|
||||||
(when (and (= (+ top-ind offset) 0)
|
(when (and (= (+ top-ind offset) 0)
|
||||||
(string-match "*"
|
(string-match "\\*"
|
||||||
(org-list-get-bullet beg struct)))
|
(org-list-get-bullet beg struct)))
|
||||||
(org-list-set-bullet beg struct
|
(org-list-set-bullet beg struct
|
||||||
(org-list-bullet-string "-")))
|
(org-list-bullet-string "-")))
|
||||||
|
|
|
@ -142,7 +142,7 @@ So if you use sequences, it will now work."
|
||||||
"Return the name of the message folder in an index folder buffer."
|
"Return the name of the message folder in an index folder buffer."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(mh-index-previous-folder)
|
(mh-index-previous-folder)
|
||||||
(if (re-search-forward "^\\(+.*\\)$" nil t)
|
(if (re-search-forward "^\\(\\+.*\\)$" nil t)
|
||||||
(message "%s" (match-string 1)))))
|
(message "%s" (match-string 1)))))
|
||||||
|
|
||||||
(defun org-mhe-get-message-folder ()
|
(defun org-mhe-get-message-folder ()
|
||||||
|
|
|
@ -859,11 +859,11 @@ If BEG and END are given, only do this in that region."
|
||||||
(cl-incf cnt-error)
|
(cl-incf cnt-error)
|
||||||
(throw 'next t))
|
(throw 'next t))
|
||||||
(move-marker bos-marker (point))
|
(move-marker bos-marker (point))
|
||||||
(if (re-search-forward "^** Old value[ \t]*$" eos t)
|
(if (re-search-forward "^\\** Old value[ \t]*$" eos t)
|
||||||
(setq old (buffer-substring
|
(setq old (buffer-substring
|
||||||
(1+ (match-end 0))
|
(1+ (match-end 0))
|
||||||
(progn (outline-next-heading) (point)))))
|
(progn (outline-next-heading) (point)))))
|
||||||
(if (re-search-forward "^** New value[ \t]*$" eos t)
|
(if (re-search-forward "^\\** New value[ \t]*$" eos t)
|
||||||
(setq new (buffer-substring
|
(setq new (buffer-substring
|
||||||
(1+ (match-end 0))
|
(1+ (match-end 0))
|
||||||
(progn (outline-next-heading)
|
(progn (outline-next-heading)
|
||||||
|
|
|
@ -633,7 +633,7 @@ This means, between the beginning of line and the point."
|
||||||
,@(org-mouse-list-options-menu (mapcar 'car org-startup-options)
|
,@(org-mouse-list-options-menu (mapcar 'car org-startup-options)
|
||||||
'org-mode-restart))))
|
'org-mode-restart))))
|
||||||
((or (eolp)
|
((or (eolp)
|
||||||
(and (looking-at "\\( \\|\t\\)\\(+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$")
|
(and (looking-at "\\( \\|\t\\)\\(\\+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$")
|
||||||
(looking-back " \\|\t" (- (point) 2)
|
(looking-back " \\|\t" (- (point) 2)
|
||||||
(line-beginning-position))))
|
(line-beginning-position))))
|
||||||
(org-mouse-popup-global-menu))
|
(org-mouse-popup-global-menu))
|
||||||
|
|
|
@ -336,7 +336,7 @@ line directly before or after the table."
|
||||||
(insert "\n")
|
(insert "\n")
|
||||||
(insert-file-contents (plist-get params :script))
|
(insert-file-contents (plist-get params :script))
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(while (re-search-forward "$datafile" nil t)
|
(while (re-search-forward "\\$datafile" nil t)
|
||||||
(replace-match data-file nil nil)))
|
(replace-match data-file nil nil)))
|
||||||
(insert (org-plot/gnuplot-script data-file num-cols params)))
|
(insert (org-plot/gnuplot-script data-file num-cols params)))
|
||||||
;; Graph table.
|
;; Graph table.
|
||||||
|
|
|
@ -330,7 +330,7 @@ returned list."
|
||||||
(len 0)
|
(len 0)
|
||||||
dir
|
dir
|
||||||
ret)
|
ret)
|
||||||
(when (string-match "^\\(.*\\)\\(org-protocol:/+[a-zA-z0-9][-_a-zA-z0-9]*:/+\\)\\(.*\\)" trigger)
|
(when (string-match "^\\(.*\\)\\(org-protocol:/+[a-zA-Z0-9][-_a-zA-Z0-9]*:/+\\)\\(.*\\)" trigger)
|
||||||
(setq dir (match-string 1 trigger))
|
(setq dir (match-string 1 trigger))
|
||||||
(setq len (length dir))
|
(setq len (length dir))
|
||||||
(setcar l (concat dir (match-string 3 trigger))))
|
(setcar l (concat dir (match-string 3 trigger))))
|
||||||
|
|
|
@ -1156,7 +1156,7 @@ to a number. In the case of a timestamp, increment by days."
|
||||||
(- (org-time-string-to-absolute txt)
|
(- (org-time-string-to-absolute txt)
|
||||||
(org-time-string-to-absolute txt-up)))
|
(org-time-string-to-absolute txt-up)))
|
||||||
((string-match org-ts-regexp3 txt) 1)
|
((string-match org-ts-regexp3 txt) 1)
|
||||||
((string-match "\\([-+]\\)?\\(?:[0-9]+\\)?\\(?:\.[0-9]+\\)?" txt-up)
|
((string-match "\\([-+]\\)?[0-9]*\\(?:\\.[0-9]+\\)?" txt-up)
|
||||||
(- (string-to-number txt)
|
(- (string-to-number txt)
|
||||||
(string-to-number (match-string 0 txt-up))))
|
(string-to-number (match-string 0 txt-up))))
|
||||||
(t 1)))
|
(t 1)))
|
||||||
|
@ -2327,7 +2327,7 @@ LOCATION instead."
|
||||||
"\n"))))
|
"\n"))))
|
||||||
|
|
||||||
(defsubst org-table-formula-make-cmp-string (a)
|
(defsubst org-table-formula-make-cmp-string (a)
|
||||||
(when (string-match "\\`$[<>]" a)
|
(when (string-match "\\`\\$[<>]" a)
|
||||||
(let ((arrow (string-to-char (substring a 1))))
|
(let ((arrow (string-to-char (substring a 1))))
|
||||||
;; Fake a high number to make sure this is sorted at the end.
|
;; Fake a high number to make sure this is sorted at the end.
|
||||||
(setq a (org-table-formula-handle-first/last-rc a))
|
(setq a (org-table-formula-handle-first/last-rc a))
|
||||||
|
@ -2375,7 +2375,7 @@ LOCATION is a buffer position, consider the formulas there."
|
||||||
(cond
|
(cond
|
||||||
((not (match-end 2)) m)
|
((not (match-end 2)) m)
|
||||||
;; Is it a column reference?
|
;; Is it a column reference?
|
||||||
((string-match-p "\\`$\\([0-9]+\\|[<>]+\\)\\'" m) m)
|
((string-match-p "\\`\\$\\([0-9]+\\|[<>]+\\)\\'" m) m)
|
||||||
;; Since named columns are not possible in
|
;; Since named columns are not possible in
|
||||||
;; LHS, assume this is a named field.
|
;; LHS, assume this is a named field.
|
||||||
(t (match-string 2 string)))))
|
(t (match-string 2 string)))))
|
||||||
|
@ -3236,7 +3236,7 @@ known that the table will be realigned a little later anyway."
|
||||||
(cond
|
(cond
|
||||||
((string-match "\\`@-?I+" old-lhs)
|
((string-match "\\`@-?I+" old-lhs)
|
||||||
(user-error "Can't assign to hline relative reference"))
|
(user-error "Can't assign to hline relative reference"))
|
||||||
((string-match "\\`$[<>]" old-lhs)
|
((string-match "\\`\\$[<>]" old-lhs)
|
||||||
(let ((new (org-table-formula-handle-first/last-rc
|
(let ((new (org-table-formula-handle-first/last-rc
|
||||||
old-lhs)))
|
old-lhs)))
|
||||||
(when (assoc new eqlist)
|
(when (assoc new eqlist)
|
||||||
|
@ -3659,7 +3659,8 @@ Parameters get priority."
|
||||||
(setq startline (org-current-line))
|
(setq startline (org-current-line))
|
||||||
(dolist (entry eql)
|
(dolist (entry eql)
|
||||||
(let* ((type (cond
|
(let* ((type (cond
|
||||||
((string-match "\\`$\\([0-9]+\\|[<>]+\\)\\'" (car entry))
|
((string-match "\\`\\$\\([0-9]+\\|[<>]+\\)\\'"
|
||||||
|
(car entry))
|
||||||
'column)
|
'column)
|
||||||
((equal (string-to-char (car entry)) ?@) 'field)
|
((equal (string-to-char (car entry)) ?@) 'field)
|
||||||
(t 'named)))
|
(t 'named)))
|
||||||
|
|
|
@ -10058,7 +10058,7 @@ This is still an experimental function, your mileage may vary."
|
||||||
((and (equal type "lisp") (string-match "^/" path))
|
((and (equal type "lisp") (string-match "^/" path))
|
||||||
;; Planner has a slash, we do not.
|
;; Planner has a slash, we do not.
|
||||||
(setq type "elisp" path (substring path 1)))
|
(setq type "elisp" path (substring path 1)))
|
||||||
((string-match "^//\\(.?*\\)/\\(<.*>\\)$" path)
|
((string-match "^//\\(.*\\)/\\(<.*>\\)$" path)
|
||||||
;; A typical message link. Planner has the id after the final slash,
|
;; A typical message link. Planner has the id after the final slash,
|
||||||
;; we separate it with a hash mark
|
;; we separate it with a hash mark
|
||||||
(setq path (concat (match-string 1 path) "#"
|
(setq path (concat (match-string 1 path) "#"
|
||||||
|
@ -21994,7 +21994,7 @@ assumed to be significant there."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(skip-chars-backward "[ \t]")
|
(skip-chars-backward "[ \t]")
|
||||||
(skip-chars-backward "\\\\")
|
(skip-chars-backward "\\\\")
|
||||||
(looking-at "\\\\\\\\\\($\\|[^\\\\]\\)")))
|
(looking-at "\\\\\\\\\\($\\|[^\\]\\)")))
|
||||||
|
|
||||||
(defun org-fill-paragraph-with-timestamp-nobreak-p ()
|
(defun org-fill-paragraph-with-timestamp-nobreak-p ()
|
||||||
"Non-nil when a new line at point would split a timestamp."
|
"Non-nil when a new line at point would split a timestamp."
|
||||||
|
|
|
@ -1472,8 +1472,8 @@ contextual information."
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
"-" "•"
|
"-" "•"
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
"+" "⁃"
|
"\\+" "⁃"
|
||||||
(replace-regexp-in-string "*" "‣" bul))))))))
|
(replace-regexp-in-string "\\*" "‣" bul))))))))
|
||||||
(indentation (if (eq list-type 'descriptive) org-ascii-quote-margin
|
(indentation (if (eq list-type 'descriptive) org-ascii-quote-margin
|
||||||
(string-width bullet))))
|
(string-width bullet))))
|
||||||
(concat
|
(concat
|
||||||
|
|
|
@ -1610,7 +1610,7 @@ INFO is a plist used as a communication channel."
|
||||||
|
|
||||||
(defun org-latex-clean-invalid-line-breaks (data _backend _info)
|
(defun org-latex-clean-invalid-line-breaks (data _backend _info)
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
"\\(\\end{[A-Za-z0-9*]+}\\|^\\)[ \t]*\\\\\\\\[ \t]*$" "\\1"
|
"\\(\\\\end{[A-Za-z0-9*]+}\\|^\\)[ \t]*\\\\\\\\[ \t]*$" "\\1"
|
||||||
data))
|
data))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3300,7 +3300,7 @@ storing and resolving footnotes. It is created automatically."
|
||||||
(setq value (replace-match "" nil nil value)))))
|
(setq value (replace-match "" nil nil value)))))
|
||||||
(lines
|
(lines
|
||||||
(and (string-match
|
(and (string-match
|
||||||
":lines +\"\\(\\(?:[0-9]+\\)?-\\(?:[0-9]+\\)?\\)\""
|
":lines +\"\\([0-9]*-[0-9]*\\)\""
|
||||||
value)
|
value)
|
||||||
(prog1 (match-string 1 value)
|
(prog1 (match-string 1 value)
|
||||||
(setq value (replace-match "" nil nil value)))))
|
(setq value (replace-match "" nil nil value)))))
|
||||||
|
|
Loading…
Reference in New Issue