diff options
author | Bastien Guerry <bzg@altern.org> | 2011-10-29 16:08:27 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2011-10-30 02:58:31 +0200 |
commit | d3370f160899c542dad69f492fde7fcffe61a29e (patch) | |
tree | d42b4747ea3a52d6d569346d59cc853bf51dd5cd | |
parent | 21eef3b137d1d8364035252117d9bce12dafb4be (diff) | |
download | org-mode-d3370f160899c542dad69f492fde7fcffe61a29e.tar.gz |
org.el: Unfold invisible region at point or right before point when editing.
* org.el (org-self-insert-command): Unfold invisible region at
point or right before point when editing.
Thanks to Suvayu Ali for discussing this.
-rw-r--r-- | lisp/org.el | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lisp/org.el b/lisp/org.el index fe45cf7..8676c80 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -17393,6 +17393,23 @@ hook. The default setting is `org-speed-command-default-hook'." If the cursor is in a table looking at whitespace, the whitespace is overwritten, and the table is not marked as requiring realignment." (interactive "p") + (let ((invisible-at-point + (car (get-char-property-and-overlay (point) 'invisible))) + (invisible-before-point + (car (get-char-property-and-overlay (1- (point)) 'invisible)))) + (when (or (eq invisible-at-point 'outline) + (eq invisible-at-point 'org-hide-block) + (eq invisible-before-point 'outline) + (eq invisible-before-point 'org-hide-block)) + (if (or (eq invisible-before-point 'outline) + (eq invisible-before-point 'org-hide-block)) + (goto-char (previous-overlay-change (point)))) + (org-cycle) + (if (or (eq invisible-before-point 'outline) + (eq invisible-before-point 'org-hide-block)) + (forward-char 1)) + (message "Unfolding invisible region around point before editing") + (sit-for 1))) (cond ((and org-use-speed-commands (setq org-speed-command |