Selaa lähdekoodia

Revert "Fix problem with `org-ctrl-c-ctrl-c' on the checkbox of the first item."

This reverts commit 4789bb5a79f004346c37e3a84d12f90ada24d277.
Bastien Guerry 13 vuotta sitten
vanhempi
commit
4752725b64
1 muutettua tiedostoa jossa 13 lisäystä ja 6 poistoa
  1. 13 6
      lisp/org.el

+ 13 - 6
lisp/org.el

@@ -18390,12 +18390,19 @@ This command does many different things, depending on context:
 	     block-item)
 	;; Use a light version of `org-toggle-checkbox' to avoid
 	;; computing list structure twice.
-	(org-list-set-checkbox (point-at-bol) struct
-			       (cond
-				((equal arg '(16)) "[-]")
-				((equal arg '(4)) nil)
-				((equal "[X]" cbox) "[ ]")
-				(t "[X]")))
+	(let ((new-box (cond
+			((equal arg '(16)) "[-]")
+			((equal arg '(4)) nil)
+			((equal "[X]" cbox) "[ ]")
+			(t "[X]"))))
+	  (if firstp
+	      ;; If at first item of sub-list, remove check-box from
+	      ;; every item at the same level.
+	      (mapc
+	       (lambda (pos) (org-list-set-checkbox pos struct new-box))
+	       (org-list-get-all-items
+		(point-at-bol) struct (org-list-prevs-alist struct)))
+	    (org-list-set-checkbox (point-at-bol) struct new-box)))
 	;; Replicate `org-list-write-struct', while grabbing a return
 	;; value from `org-list-struct-fix-box'.
 	(org-list-struct-fix-ind struct parents 2)