From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Rose Subject: Re: [patch] Terminating lists by indentation of #+SPECIALS too Date: Thu, 22 Apr 2010 03:26:12 +0200 Message-ID: <871ve846rv.fsf@gmx.de> References: <877ho4e56t.fsf@gmx.de> <87zl10co57.fsf@gmx.de> <87ljcgiy96.fsf@gmx.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O4lBS-0008N1-6E for emacs-orgmode@gnu.org; Wed, 21 Apr 2010 21:26:26 -0400 Received: from [140.186.70.92] (port=36745 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4lBQ-0008MX-JW for emacs-orgmode@gnu.org; Wed, 21 Apr 2010 21:26:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O4lBO-0005aG-HS for emacs-orgmode@gnu.org; Wed, 21 Apr 2010 21:26:24 -0400 Received: from mail.gmx.net ([213.165.64.20]:49444) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1O4lBO-0005Zy-23 for emacs-orgmode@gnu.org; Wed, 21 Apr 2010 21:26:22 -0400 In-Reply-To: (Carsten Dominik's message of "Wed, 21 Apr 2010 23:21:38 +0200") 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: Carsten Dominik Cc: Emacs-orgmode mailing list --=-=-= Carsten Dominik writes: > Hi Sebastion, sorry for being hard to satisfy on this one. > > What I mean is this: > > The location where your patck kicks in looks like this: > > .... > (org-export-html-close-lists-maybe line) > > ;; Protected HTML > (when (get-text-property 0 'org-protected line) > (let (par (ind (get-text-property 0 'original-indentation line))) > (when (re-search-backward > "\\(

\\)\\([ \t\r\n]*\\)\\=" (- (point) 100) t) > (setq par (match-string 1)) > (replace-match "\\2\n")) > (insert line "\n") > > So before we are looking at protected stuff, there is already a call to > org-export-html-close-lists-maybe. It seems to me that what you are trying to > do > could just happen inside that function. The function checks for a text property > 'original-indentation to check for special stuff that was indented - > but apparently that does not cover your case. So in that function you could > also look at the protected property and act accordingly. > > Does that make sense? Ah, now I got you here! You're feeling for the code is all to good :) I could indeed remove more than half of the lines. So here comes the next generation: --=-=-= Content-Type: text/x-diff Content-Disposition: inline diff --git a/lisp/org-html.el b/lisp/org-html.el index 0903bff..5b13649 100644 --- a/lisp/org-html.el +++ b/lisp/org-html.el @@ -959,10 +959,12 @@ lang=\"%s\" xml:lang=\"%s\"> (when (equal "ORG-VERSE-START" line) (org-close-par-maybe) (insert "\n

\n") + (setq org-par-open t) (setq inverse t) (throw 'nextline nil)) (when (equal "ORG-VERSE-END" line) (insert "

\n") + (setq org-par-open nil) (org-open-par) (setq inverse nil) (throw 'nextline nil)) @@ -1996,7 +1998,11 @@ If there are links in the string, don't modify these." (defvar local-list-indent) (defvar local-list-type) (defun org-export-html-close-lists-maybe (line) - (let ((ind (or (get-text-property 0 'original-indentation line))) + (let* ((rawhtml (and in-local-list (get-text-property 0 'org-protected line))) + (ind + (if rawhtml + (org-get-indentation line) + (or (get-text-property 0 'original-indentation line)))) ; (and (string-match "\\S-" line) ; (org-get-indentation line)))) didclose) --=-=-= Sebastian --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --=-=-=--