emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Bastien <bzg@altern.org>
To: suvayu ali <fatkasuvayu+linux@gmail.com>
Cc: emacs-orgmode@gnu.org, Kelly Dean <kellydeanch@yahoo.com>
Subject: Re: Outline and org-mode don't insert text into folded sections logically
Date: Sat, 22 Oct 2011 15:53:32 +0200	[thread overview]
Message-ID: <87wrbxdter.fsf@gnu.org> (raw)
In-Reply-To: <81ehy5uy0t.fsf@gmail.com> (Jambunathan K.'s message of "Sat, 22 Oct 2011 15:51:54 +0530")

[-- Attachment #1: Type: text/plain, Size: 727 bytes --]

Jambunathan K <kjambunathan@gmail.com> writes:

>> Good idea.  There is `post-self-insert-hook' but there is no
>> `pre-self-insert-hook' that would check whether the point is in 
>> an invisible area of the buffer, and send a warning about this.
>
> In org-self-insert-command check for visibility at point and take the
> required action.

That's it.  Thanks!

Here is a dummy patch that prevents the user from editing invisible
parts of the buffer.  It doesn't prevent query-and-replace commands.

Can people test it and comment it?

Maybe throwing an error is a bit too much.  Maybe preventing all 
kind of edition in invisible parts of the buffer is too much as 
well -- looking forward reading comments on this.

Thanks,


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Prevent-self-insert-command-in-invisible-regions.patch --]
[-- Type: text/x-patch, Size: 981 bytes --]

From 442f30b74f3f4eb888b63cb5d2cd04542952f84a Mon Sep 17 00:00:00 2001
From: Bastien Guerry <bzg@altern.org>
Date: Sat, 22 Oct 2011 15:50:52 +0200
Subject: [PATCH] Prevent `self-insert-command' in invisible regions.

* org.el (org-self-insert-command): Throw an error when the
user is trying to use self-insert-command in invisible regions.
---
 lisp/org.el |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index d82ae0c..627faa3 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -17328,6 +17328,9 @@ 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")
   (cond
+   ((eq (car (get-char-property-and-overlay
+	      (point) 'invisible)) 'outline)
+    (error "Attempt to edit an invisible part of the buffer"))
    ((and org-use-speed-commands
 	 (setq org-speed-command
 	       (run-hook-with-args-until-success
-- 
1.7.6.1


[-- Attachment #3: Type: text/plain, Size: 14 bytes --]


-- 
 Bastien

  reply	other threads:[~2011-10-22 13:52 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-03 19:14 Outline and org-mode don't insert text into folded sections logically Kelly Dean
2011-09-05  7:52 ` Giovanni Ridolfi
2011-09-05  8:01   ` suvayu ali
2011-10-22 10:13     ` Bastien
2011-10-22 10:17       ` suvayu ali
2011-10-22 10:21       ` Jambunathan K
2011-10-22 13:53         ` Bastien [this message]
2011-10-23  2:18           ` suvayu ali
2011-10-29 14:10             ` Bastien
2011-10-29 14:57               ` suvayu ali
2011-10-29 15:40                 ` Bastien
2011-10-29 15:53                   ` suvayu ali
2011-10-29 16:15                     ` Bastien
2011-10-29 16:22                       ` suvayu ali
2011-10-30  1:07                         ` Bastien
2011-10-30  6:28                           ` Carsten Dominik
2011-10-30  7:30                             ` Jambunathan K
2011-10-30  7:47                               ` Carsten Dominik
2011-10-30  9:04                             ` Bastien
2011-10-30 15:37                               ` Carsten Dominik
2011-10-31 20:58                                 ` Carsten Dominik
2011-11-02  7:12                               ` Carsten Dominik
2011-11-02 10:10                                 ` Bastien
2011-11-02 12:53                                   ` Carsten Dominik
2011-11-03  1:30                                     ` Bastien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wrbxdter.fsf@gnu.org \
    --to=bzg@altern.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=fatkasuvayu+linux@gmail.com \
    --cc=kellydeanch@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).