From mboxrd@z Thu Jan 1 00:00:00 1970 From: Niels Giesen Subject: Patch for numbering continuation in source blocks. Date: Sun, 02 Oct 2011 12:40:11 +0200 Message-ID: <87k48nisms.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:39791) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAJQU-0004AI-Va for emacs-orgmode@gnu.org; Sun, 02 Oct 2011 06:37:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RAJQT-0005JX-EK for emacs-orgmode@gnu.org; Sun, 02 Oct 2011 06:37:42 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:54161) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAJQT-0005JH-9o for emacs-orgmode@gnu.org; Sun, 02 Oct 2011 06:37:41 -0400 Received: by eye13 with SMTP id 13so2356500eye.0 for ; Sun, 02 Oct 2011 03:37:40 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Orgmode NOTE: I have tried earlier to send this patch with git send-email, but apparently failed; here's a new, inlined attempt. The documentation for numbering source code blocks says: #+begin_quote If you use a `+n' switch, the numbering from the previous numbered snippet will be continued in the current one. #+end_quote But that is not exactly what happens; what happens is that the numbering from the previous snippet will be continued in the current one. That is, when the previous snippet is numbered its numbering will continue, but if there is a previous numbered snippet A with, say, 14 lines followed by an unnumbered snippet B followed by a numbered snippet C, then the numbers for C will start at 1, regardless of the + in the +n switch, whereas my reading of the documentation leads me to think it ought to continue at 15, disregarding the presence any unnumbered sections in between. Reason for me for the +n switch to comply with (my reading of) the documentation is that I would like to document a long, line-numbered, function but intersperse it with short code samples without line numbering that explain parts of the long function. This patch of course may break existing org files where +n was specified but -n intended. #+begin_src diff From 4d34d5f2fe10a956d3359dfd40f19de25202df5f Mon Sep 17 00:00:00 2001 From: Niels Giesen Date: Fri, 16 Sep 2011 17:22:47 +0200 Subject: [PATCH] Continue numbering from any previous numbered snippet with +n, even when previous numbered snippet does not immediately precede it. ,* org-mode/lisp/org-exp.el (org-export-number-lines): Check whether number parameter (this is a numbered block!) is non-nil as well as whether cont is nil (this numbered block should *not* continue numbering where we left off before!) before resetting the count to zero. From the docs: If you use a `+n' switch, the numbering from the previous numbered snippet will be continued in the current one. With this change I believe the code complies with the docs. --- lisp/org-exp.el | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lisp/org-exp.el b/lisp/org-exp.el index 9884a31..12590e1 100644 --- a/lisp/org-exp.el +++ b/lisp/org-exp.el @@ -2731,7 +2731,7 @@ INDENT was the original indentation of the block." (defun org-export-number-lines (text &optional skip1 skip2 number cont replace-labels label-format) (setq skip1 (or skip1 0) skip2 (or skip2 0)) - (if (not cont) (setq org-export-last-code-line-counter-value 0)) + (if (and number (not cont)) (setq org-export-last-code-line-counter-value 0)) (with-temp-buffer (insert text) (goto-char (point-max)) -- 1.7.4.1 #+end_src Regards, niels -- http://pft.github.com