| 
					
				 | 
			
			
				@@ -17902,14 +17902,13 @@ BEG and END default to the buffer boundaries." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (if (boundp 'narrow-map) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (org-defkey narrow-map "e" 'org-narrow-to-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (org-defkey org-mode-map "\C-xne" 'org-narrow-to-element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\C-\M-t"  'org-element-transpose) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\M-}"    'org-element-forward) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\M-{"    'org-element-backward) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\C-c\C-^"   'org-element-up) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\C-c\C-_"   'org-element-down) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\C-\M-t"    'org-element-transpose) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\C-c\C-f"   'org-forward-same-level) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\C-c\C-b"   'org-backward-same-level) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\C-\M-t"  'org-transpose-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\M-}"     'org-forward-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\M-{"     'org-backward-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\C-c\C-^" 'org-up-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\C-c\C-_" 'org-down-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\C-c\C-f" 'org-forward-same-level) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\C-c\C-b" 'org-backward-same-level) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map "\C-c$"    'org-archive-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map "\C-c\C-x\C-s" 'org-advertized-archive-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map "\C-c\C-x\C-a" 'org-archive-subtree-default) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17979,7 +17978,7 @@ BEG and END default to the buffer boundaries." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map "\C-c\C-x\C-mg"    'org-mobile-pull) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map "\C-c\C-x\C-mp"    'org-mobile-push) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map "\C-c@" 'org-mark-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(org-defkey org-mode-map "\M-h" 'org-element-mark-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(org-defkey org-mode-map "\M-h" 'org-mark-element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (org-defkey org-mode-map [?\C-c (control ?*)] 'org-list-make-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;(org-defkey org-mode-map [?\C-c (control ?-)] 'org-list-make-list-from-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18660,15 +18659,11 @@ this function returns t, nil otherwise." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(throw 'exit t)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	nil)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(declare-function org-element-drag-backward "org-element" ()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(declare-function org-element-drag-forward "org-element" ()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(declare-function org-element-mark-element "org-element" ()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (declare-function org-element-at-point "org-element" (&optional keep-trail)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (declare-function org-element-type "org-element" (element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (declare-function org-element-property "org-element" (property element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (declare-function org-element-paragraph-parser "org-element" (limit)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (declare-function org-element-map "org-element" (data types fun &optional info first-match no-recursion)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(declare-function org-element--parse-objects "org-element" (beg end acc restriction)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (declare-function org-element-up "org-element" ()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-metaup (&optional arg) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21755,6 +21750,206 @@ Stop at the first and last subheadings of a superior heading." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(if (< l level) (setq arg 1))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (setq arg (1- arg))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-forward-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Move forward by one element. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Move to the next element at the same level, when possible." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (cond ((eobp) (error "Cannot move further down")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	((org-with-limited-levels (org-at-heading-p)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (let ((origin (point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (org-forward-same-level 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (unless (org-with-limited-levels (org-at-heading-p)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (goto-char origin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (error "Cannot move further down")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (let* ((elem (org-element-at-point)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(end (org-element-property :end elem)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(parent (org-element-property :parent elem))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (if (and parent (= (org-element-property :contents-end parent) end)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (goto-char (org-element-property :end parent)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (goto-char end)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-backward-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Move backward by one element. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Move to the previous element at the same level, when possible." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (org-with-limited-levels (org-at-heading-p)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; At an headline, move to the previous one, if any, or stay 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; here. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (let ((origin (point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(org-backward-same-level 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(unless (org-with-limited-levels (org-at-heading-p)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (goto-char origin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (error "Cannot move further up"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (let* ((trail (org-element-at-point 'keep-trail)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (elem (car trail)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (prev-elem (nth 1 trail)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (beg (org-element-property :begin elem))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;; Move to beginning of current element if point isn't there 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;; already. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ((/= (point) beg) (goto-char beg)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ((not prev-elem) (error "Cannot move further up")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (t (goto-char (org-element-property :begin prev-elem))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-up-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Move to upper element." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (org-with-limited-levels (org-at-heading-p)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (unless (org-up-heading-safe) (error "No surrounding element")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (let* ((elem (org-element-at-point)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (parent (org-element-property :parent elem))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (if parent (goto-char (org-element-property :begin parent)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(if (org-with-limited-levels (org-before-first-heading-p)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (error "No surrounding element") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (org-with-limited-levels (org-back-to-heading))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-down-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Move to inner element." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((element (org-element-at-point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ((memq (org-element-type element) '(plain-list table)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (goto-char (org-element-property :contents-begin element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (forward-char)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ((memq (org-element-type element) org-element-greater-elements) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; If contents are hidden, first disclose them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (when (org-element-property :hiddenp element) (org-cycle)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (goto-char (or (org-element-property :contents-begin element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		     (error "No content for this element")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (t (error "No inner element"))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-drag-element-backward () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Move backward element at point." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (org-with-limited-levels (org-at-heading-p)) (org-move-subtree-up) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (let* ((trail (org-element-at-point 'keep-trail)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (elem (car trail)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (prev-elem (nth 1 trail))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; Error out if no previous element or previous element is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; a parent of the current one. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (if (or (not prev-elem) (org-element-nested-p elem prev-elem)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (error "Cannot drag element backward") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(let ((pos (point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (org-element-swap-A-B prev-elem elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (goto-char (+ (org-element-property :begin prev-elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(- pos (org-element-property :begin elem))))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-drag-element-forward () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Move forward element at point." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let* ((pos (point)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (elem (org-element-at-point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (when (= (point-max) (org-element-property :end elem)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (error "Cannot drag element forward")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (goto-char (org-element-property :end elem)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (let ((next-elem (org-element-at-point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (when (or (org-element-nested-p elem next-elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(and (eq (org-element-type next-elem) 'headline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		     (not (eq (org-element-type elem) 'headline)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(goto-char pos) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(error "Cannot drag element forward")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; Compute new position of point: it's shifted by NEXT-ELEM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; body's length (without final blanks) and by the length of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; blanks between ELEM and NEXT-ELEM. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (let ((size-next (- (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    (goto-char (org-element-property :end next-elem)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    (skip-chars-backward " \r\t\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    (forward-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    ;; Small correction if buffer doesn't end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    ;; with a newline character. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    (if (and (eolp) (not (bolp))) (1+ (point)) (point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  (org-element-property :begin next-elem))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (size-blank (- (org-element-property :end elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (goto-char (org-element-property :end elem)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (skip-chars-backward " \r\t\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (forward-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (point))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(org-element-swap-A-B elem next-elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(goto-char (+ pos size-next size-blank)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-mark-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Put point at beginning of this element, mark at end. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Interactively, if this command is repeated or (in Transient Mark 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+mode) if the mark is active, it marks the next element after the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ones already marked." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let (deactivate-mark) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (if (or (and (eq last-command this-command) (mark t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (and transient-mark-mode mark-active)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(set-mark 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (goto-char (mark)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (goto-char (org-element-property :end (org-element-at-point))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (let ((element (org-element-at-point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(end-of-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(push-mark (org-element-property :end element) t t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(goto-char (org-element-property :begin element)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-narrow-to-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Narrow buffer to current element." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((elem (org-element-at-point))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ((eq (car elem) 'headline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (narrow-to-region 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-element-property :begin elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-element-property :end elem))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ((memq (car elem) org-element-greater-elements) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (narrow-to-region 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-element-property :contents-begin elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-element-property :contents-end elem))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (narrow-to-region 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-element-property :begin elem) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-element-property :end elem)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-transpose-element () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Transpose current and previous elements, keeping blank lines between. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Point is moved after both elements." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (org-skip-whitespace) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((end (org-element-property :end (org-element-at-point)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (org-element-drag-backward) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (goto-char end))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-unindent-buffer () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Un-indent the visible part of the buffer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Relative indentation (between items, inside blocks, etc.) isn't 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+modified." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (unless (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (error "Cannot un-indent a buffer not in Org mode")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let* ((parse-tree (org-element-parse-buffer 'greater-element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 unindent-tree			; For byte-compiler. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (unindent-tree 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (function 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (lambda (contents) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (mapc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (lambda (element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(if (memq (org-element-type element) '(headline section)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (funcall unindent-tree (org-element-contents element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (save-restriction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (narrow-to-region 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (org-element-property :begin element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (org-element-property :end element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (org-do-remove-indentation))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (reverse contents)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (funcall unindent-tree (org-element-contents parse-tree)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-show-subtree () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Show everything after this heading at deeper levels." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (interactive) 
			 |