From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: outline-minor-mode and code editing / export Date: Sun, 7 Jun 2009 17:56:45 +0200 Message-ID: <658100FA-212E-4D99-9297-5C73A53A0E70@gmail.com> References: <87skidxinh.fsf@stats.ox.ac.uk> Mime-Version: 1.0 (Apple Message framework v935.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MDKju-0003my-Tr for emacs-orgmode@gnu.org; Sun, 07 Jun 2009 11:56:54 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MDKjq-0003mW-NB for emacs-orgmode@gnu.org; Sun, 07 Jun 2009 11:56:54 -0400 Received: from [199.232.76.173] (port=56577 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MDKjq-0003mT-Ik for emacs-orgmode@gnu.org; Sun, 07 Jun 2009 11:56:50 -0400 Received: from mail-ew0-f210.google.com ([209.85.219.210]:39921) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MDKjp-0006pS-HZ for emacs-orgmode@gnu.org; Sun, 07 Jun 2009 11:56:50 -0400 Received: by ewy6 with SMTP id 6so5455154ewy.42 for ; Sun, 07 Jun 2009 08:56:48 -0700 (PDT) In-Reply-To: <87skidxinh.fsf@stats.ox.ac.uk> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dan Davison Cc: emacs org-mode mailing list Hi Dan, an alternative solution would be to turn off the major mode hook for org-edit-src. Would that be good or bad? It is probably never a good idea to have code folded in these snippet buffers? - Carsten On Jun 6, 2009, at 9:32 PM, Dan Davison wrote: > In turn on outline-minor-mode in the language major modes that I > use, so > that code starts up folded, via a call to org-content that is made > in my > major-mode hook. I'm finding that this has two undesirable > consequences > for org-mode, as follows. I have also described a possible solution, > as > implemented by the patch at the end. > > 1. The code appears folded on HTML export > > solution: add this line to org-export-format-source-code-or-example > (if (fboundp 'show-all) (show-all)) > > 2. org-edit-src-save does not remember the visibility state, so C-x > C-s > causes a jump to a different visibility state > > solution: save the value of org-cycle-global-status and, when the > edit buffer is re-entered, call one of {org-overview, > org-content,show-all} accordingly > > Dan > > p.s. Carsten: the first hunk in the second diff (org.el) refers to a > patch that I submitted a few days ago and which you said had been > applied. http://article.gmane.org/gmane.emacs.orgmode/14154 However, I > believe it is not in the current git. Apologies if I have got (git) > confused, but if not I do believe there is still a need for it or an > equivalent solution: without this change I go to end of edit buffer, > hit > return a few times, and then C-x C-s fails (leaves me in org buffer). > > > > > diff --git a/lisp/org-exp.el b/lisp/org-exp.el > index 0dcd956..5f0ad88 100644 > --- a/lisp/org-exp.el > +++ b/lisp/org-exp.el > @@ -2215,7 +2215,6 @@ INDENT was the original indentation of the > block." > (if (functionp mode) > (funcall mode) > (fundamental-mode)) > - (if (fboundp 'show-all) (show-all)) > (font-lock-fontify-buffer) > (set-buffer-modified-p nil) > (org-export-htmlize-region-for-paste > diff --git a/lisp/org.el b/lisp/org.el > index d124b1a..1eb5e74 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -6875,9 +6875,7 @@ the language, a switch telling of the content > should be in a single line." > code) > (goto-char (point-min)) > (if (looking-at "[ \t\n]*\n") (replace-match "")) > - (when (re-search-forward "\n[ \t\n]*\\'" nil t) > - (replace-match "") > - (setq line (min line (org-current-line)))) > + (if (re-search-forward "\n[ \t\n]*\\'" nil t) (replace-match "")) > (when (org-bound-and-true-p org-edit-src-force-single-line) > (goto-char (point-min)) > (while (re-search-forward "\n" nil t) > @@ -6916,18 +6914,11 @@ the language, a switch telling of the > content should be in a single line." > (defun org-edit-src-save () > "Save parent buffer with current state source-code buffer." > (interactive) > - (let ((p (point)) (m (mark)) > - (visibility org-cycle-global-status) msg) > + (let ((p (point)) (m (mark)) msg) > (org-edit-src-exit) > (save-buffer) > (setq msg (current-message)) > (org-edit-src-code) > - (when visibility > - (setq org-cycle-global-status visibility) > - (cond > - ((equal org-cycle-global-status 'overview) (org-overview)) > - ((equal org-cycle-global-status 'contents) (org-content)) > - ((equal org-cycle-global-status 'all) (show-all)))) > (push-mark m 'nomessage) > (goto-char (min p (point-max))) > (message (or msg "")))) > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode