diff options
author | Bastien Guerry <bzg@altern.org> | 2011-12-31 18:13:23 +0100 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2011-12-31 18:13:23 +0100 |
commit | 4752725b6441b678689d818315fe8494cf3eae5f (patch) | |
tree | d3b056c711e15383282715d6a6df6a297d01fbc1 | |
parent | 4fc96782dde4ab4701aa2fdd4f24c49eec3081cd (diff) | |
download | org-mode-4752725b6441b678689d818315fe8494cf3eae5f.tar.gz |
Revert "Fix problem with `org-ctrl-c-ctrl-c' on the checkbox of the first item."
This reverts commit 4789bb5a79f004346c37e3a84d12f90ada24d277.
-rw-r--r-- | lisp/org.el | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lisp/org.el b/lisp/org.el index 8e702ab..c0add60 100644 --- a/lisp/org.el +++ b/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) |