|
@@ -7346,39 +7346,20 @@ After top level, it switches back to sibling level."
|
|
|
However, if any line in the current entry has no indentation, or if it
|
|
|
would end up with no indentation after the change, nothing at all is done."
|
|
|
(save-excursion
|
|
|
- (let* ((end (save-excursion (outline-next-heading)
|
|
|
- (point-marker)))
|
|
|
- ;; FIXME we should use `org-end-of-meta-data-and-drawers'
|
|
|
- ;; here but it matches misplaced :END:...
|
|
|
- (drawer-end (save-excursion
|
|
|
- (and (re-search-forward
|
|
|
- org-property-end-re end t)
|
|
|
- (match-end 0))))
|
|
|
- (prohibit (if (> diff 0)
|
|
|
- "^\\S-"
|
|
|
- (concat "^ \\{0," (int-to-string (- diff)) "\\}\\S-")))
|
|
|
- col)
|
|
|
- (while (re-search-forward
|
|
|
- (concat "\\(" (regexp-opt org-all-time-keywords)
|
|
|
- "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
|
|
|
- "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
|
|
|
- "\\)") (or drawer-end end) t)
|
|
|
- (beginning-of-line)
|
|
|
- (when (looking-at "^[ \t]+")
|
|
|
+ (let ((end (save-excursion (outline-next-heading)
|
|
|
+ (point-marker)))
|
|
|
+ (prohibit (if (> diff 0)
|
|
|
+ "^\\S-"
|
|
|
+ (concat "^ \\{0," (int-to-string (- diff)) "\\}\\S-")))
|
|
|
+ col)
|
|
|
+ (unless (save-excursion (end-of-line 1)
|
|
|
+ (re-search-forward prohibit end t))
|
|
|
+ (while (and (< (point) end)
|
|
|
+ (re-search-forward "^[ \t]+" end t))
|
|
|
(goto-char (match-end 0))
|
|
|
(setq col (current-column))
|
|
|
(if (< diff 0) (replace-match ""))
|
|
|
- (org-indent-to-column (+ diff col))
|
|
|
- (if drawer-end (setq drawer-end (+ diff drawer-end))))
|
|
|
- (end-of-line))
|
|
|
- (unless (save-excursion (end-of-line 1)
|
|
|
- (re-search-forward prohibit end t))
|
|
|
- (while (and (< (point) end)
|
|
|
- (re-search-forward "^[ \t]+" end t))
|
|
|
- (goto-char (match-end 0))
|
|
|
- (setq col (current-column))
|
|
|
- (if (< diff 0) (replace-match ""))
|
|
|
- (org-indent-to-column (+ diff col))))
|
|
|
+ (org-indent-to-column (+ diff col))))
|
|
|
(move-marker end nil))))
|
|
|
|
|
|
(defun org-convert-to-odd-levels ()
|
|
@@ -13707,7 +13688,7 @@ Being in this list makes sure that they are offered for completion.")
|
|
|
|
|
|
(defsubst org-re-property (property)
|
|
|
"Return a regexp matching PROPERTY.
|
|
|
-Match group 1 will be set to the value of the property."
|
|
|
+Match group 1 will be set to the value "
|
|
|
(concat "^[ \t]*:" (regexp-quote property) ":[ \t]*\\(\\S-.*\\)"))
|
|
|
|
|
|
(defun org-property-action ()
|
|
@@ -20335,7 +20316,6 @@ If there is no such heading, return nil."
|
|
|
(unless (eobp) (backward-char 1)))
|
|
|
ad-do-it))
|
|
|
|
|
|
-;; FIXME This should not match :END: for custom drawers?
|
|
|
(defun org-end-of-meta-data-and-drawers ()
|
|
|
"Jump to the first text after meta data and drawers in the current entry.
|
|
|
This will move over empty lines, lines with planning time stamps,
|