Browse Source

Merge branch 'maint'

Conflicts:
	lisp/org.el
Bastien Guerry 11 years ago
parent
commit
4d835d719d
3 changed files with 34 additions and 24 deletions
  1. 1 1
      lisp/org-agenda.el
  2. 13 11
      lisp/org-src.el
  3. 20 12
      lisp/org.el

+ 1 - 1
lisp/org-agenda.el

@@ -4923,7 +4923,7 @@ See `org-agenda-skip-if' for details."
   (org-agenda-skip-if nil conditions))
   (org-agenda-skip-if nil conditions))
 
 
 (defun org-agenda-skip-subtree-if (&rest conditions)
 (defun org-agenda-skip-subtree-if (&rest conditions)
-  "Skip entry if any of CONDITIONS is true.
+  "Skip subtree if any of CONDITIONS is true.
 See `org-agenda-skip-if' for details."
 See `org-agenda-skip-if' for details."
   (org-agenda-skip-if t conditions))
   (org-agenda-skip-if t conditions))
 
 

+ 13 - 11
lisp/org-src.el

@@ -577,14 +577,6 @@ the language, a switch telling if the content should be in a single line."
 	(pos (point))
 	(pos (point))
 	re1 re2 single beg end lang lfmt match-re1 ind entry)
 	re1 re2 single beg end lang lfmt match-re1 ind entry)
     (catch 'exit
     (catch 'exit
-      (when (org-at-table.el-p)
-	(re-search-backward "^[\t]*[^ \t|\\+]" nil t)
-	(setq beg (1+ (point-at-eol)))
-	(goto-char beg)
-	(or (re-search-forward "^[\t]*[^ \t|\\+]" nil t)
-	    (progn (goto-char (point-max)) (newline)))
-	(setq end (1- (point-at-bol)))
-	(throw 'exit (list beg end 'table.el nil nil 0)))
       (while (setq entry (pop re-list))
       (while (setq entry (pop re-list))
 	(setq re1 (car entry) re2 (nth 1 entry) lang (nth 2 entry)
 	(setq re1 (car entry) re2 (nth 1 entry) lang (nth 2 entry)
 	      single (nth 3 entry))
 	      single (nth 3 entry))
@@ -615,7 +607,15 @@ the language, a switch telling if the content should be in a single line."
 			(throw 'exit
 			(throw 'exit
 			       (list (match-end 0) end
 			       (list (match-end 0) end
 				     (org-edit-src-get-lang lang)
 				     (org-edit-src-get-lang lang)
-				     single lfmt ind))))))))))))
+				     single lfmt ind)))))))))
+      (when (org-at-table.el-p)
+	(re-search-backward "^[\t]*[^ \t|\\+]" nil t)
+	(setq beg (1+ (point-at-eol)))
+	(goto-char beg)
+	(or (re-search-forward "^[\t]*[^ \t|\\+]" nil t)
+	    (progn (goto-char (point-max)) (newline)))
+	(setq end (1- (point-at-bol)))
+	(throw 'exit (list beg end 'table.el nil nil 0))))))
 
 
 (defun org-edit-src-get-lang (lang)
 (defun org-edit-src-get-lang (lang)
   "Extract the src language."
   "Extract the src language."
@@ -737,8 +737,10 @@ with \",*\", \",#+\", \",,*\" and \",,#+\"."
       (unless (or single preserve-indentation (= total-nindent 0))
       (unless (or single preserve-indentation (= total-nindent 0))
 	(setq indent (make-string total-nindent ?\ ))
 	(setq indent (make-string total-nindent ?\ ))
 	(goto-char (point-min))
 	(goto-char (point-min))
-	(while (re-search-forward "^" nil t)
-	  (replace-match indent)))
+        (while (re-search-forward "^" nil t)
+          (if (not (looking-at "$"))
+              (replace-match indent)
+	    (forward-char 1))))
       (if (org-bound-and-true-p org-edit-src-picture)
       (if (org-bound-and-true-p org-edit-src-picture)
 	  (setq total-nindent (+ total-nindent 2)))
 	  (setq total-nindent (+ total-nindent 2)))
       (setq code (buffer-string))
       (setq code (buffer-string))

+ 20 - 12
lisp/org.el

@@ -7641,7 +7641,7 @@ This is important for non-interactive uses of the command."
   (let ((itemp (org-in-item-p))
   (let ((itemp (org-in-item-p))
 	(may-split (org-get-alist-option org-M-RET-may-split-line 'headline))
 	(may-split (org-get-alist-option org-M-RET-may-split-line 'headline))
 	(respect-content (or org-insert-heading-respect-content
 	(respect-content (or org-insert-heading-respect-content
-			     (equal arg '(16))))
+			     (equal arg '(4))))
 	(initial-content "")
 	(initial-content "")
 	(adjust-empty-lines t))
 	(adjust-empty-lines t))
 
 
@@ -7664,6 +7664,10 @@ This is important for non-interactive uses of the command."
       (org-insert-item))
       (org-insert-item))
 
 
      (t
      (t
+      ;; Maybe move at the end of the subtree
+      (when (equal arg '(16))
+	(org-up-heading-safe)
+	(org-end-of-subtree t))
       ;; Insert a heading
       ;; Insert a heading
       (save-restriction
       (save-restriction
 	(widen)
 	(widen)
@@ -7858,8 +7862,8 @@ This is a list with the following elements:
 (defun org-insert-todo-heading (arg &optional force-heading)
 (defun org-insert-todo-heading (arg &optional force-heading)
   "Insert a new heading with the same level and TODO state as current heading.
   "Insert a new heading with the same level and TODO state as current heading.
 If the heading has no TODO state, or if the state is DONE, use the first
 If the heading has no TODO state, or if the state is DONE, use the first
-state (TODO by default).  Also one prefix arg, force first state.  With two
-prefix args, force inserting at the end of the parent subtree."
+state (TODO by default).  Also with one prefix arg, force first state.  With
+two prefix args, force inserting at the end of the parent subtree."
   (interactive "P")
   (interactive "P")
   (when (or force-heading (not (org-insert-item 'checkbox)))
   (when (or force-heading (not (org-insert-item 'checkbox)))
     (org-insert-heading (or (and (equal arg '(16)) '(16))
     (org-insert-heading (or (and (equal arg '(16)) '(16))
@@ -7870,7 +7874,7 @@ prefix args, force inserting at the end of the parent subtree."
       (looking-at org-todo-line-regexp))
       (looking-at org-todo-line-regexp))
     (let*
     (let*
         ((new-mark-x
         ((new-mark-x
-	  (if (or arg
+	  (if (or (equal arg '(4))
 		  (not (match-beginning 2))
 		  (not (match-beginning 2))
 		  (member (match-string 2) org-done-keywords))
 		  (member (match-string 2) org-done-keywords))
  	      (car org-todo-keywords-1)
  	      (car org-todo-keywords-1)
@@ -9230,9 +9234,10 @@ definitions."
 			  (string-match (cdr rr) (symbol-name major-mode)))
 			  (string-match (cdr rr) (symbol-name major-mode)))
 		     (and (eq (car rr) 'in-buffer)
 		     (and (eq (car rr) 'in-buffer)
 			  (string-match (cdr rr) (buffer-name)))
 			  (string-match (cdr rr) (buffer-name)))
-		     (when (and (eq (car rr) 'not-in-file)
+		     (if (and (eq (car rr) 'not-in-file)
 				(buffer-file-name))
 				(buffer-file-name))
-		       (not (string-match (cdr rr) (buffer-file-name))))
+			 (not (string-match (cdr rr) (buffer-file-name)))
+		       t)
 		     (when (eq (car rr) 'not-in-mode)
 		     (when (eq (car rr) 'not-in-mode)
 		       (not (string-match (cdr rr) (symbol-name major-mode))))
 		       (not (string-match (cdr rr) (symbol-name major-mode))))
 		     (when (eq (car rr) 'not-in-buffer)
 		     (when (eq (car rr) 'not-in-buffer)
@@ -15895,13 +15900,16 @@ in the current file."
   "In the current entry, delete PROPERTY."
   "In the current entry, delete PROPERTY."
   (interactive
   (interactive
    (let* ((completion-ignore-case t)
    (let* ((completion-ignore-case t)
-	  (prop (org-icompleting-read "Property: "
-				      (org-entry-properties nil 'standard))))
+	  (cat (org-entry-get (point) "CATEGORY"))
+	  (props0 (org-entry-properties nil 'standard))
+	  (props (if cat props0
+		   (delete `("CATEGORY" . ,(org-get-category)) props0)))
+	  (prop (if (< 1 (length props))
+		    (org-icompleting-read "Property: " props nil t)
+		  (caar props))))
      (list prop)))
      (list prop)))
-  (message "Property %s %s" property
-	   (if (org-entry-delete nil property)
-	       "deleted"
-	     "was not present in the entry")))
+  (if (org-entry-delete nil property delete-empty-drawer)
+      (message "Property %s deleted" property)))
 
 
 (defun org-delete-property-globally (property)
 (defun org-delete-property-globally (property)
   "Remove PROPERTY globally, from all entries."
   "Remove PROPERTY globally, from all entries."