emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] (no subject)


From: Eric Schulte
Subject: Re: [O] (no subject)
Date: Mon, 23 Jan 2012 13:31:36 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

I'd rather not change the default silently in this way.

Could you provide a minimal example of the difference you describe?  I
just tried viewing the expanded form of the following code block and saw
no difference between :noweb-ref and normal #+name: based expansions.

* examples

#+name: first
#+begin_src sh
  echo 1
#+end_src

#+begin_src sh :noweb-ref second
  echo 2
#+end_src

#+begin_src sh :noweb yes
  <<first>>
  <<second>>
#+end_src
Thanks,

Tom Regner <address@hidden> writes:

> From aea3adc952de33aa9acad94fbd9baa717b7b1a1e Mon Sep 17 00:00:00 2001
> From: Tom Regner <address@hidden>
> Rcpt To: address@hidden
> Date: Mon, 23 Jan 2012 12:39:52 +0100
> Subject: [PATCH] ob.el Adhere to current :padline header during noweb 
> dereferencing.
>
> At the moment using the :noweb-ref: property approach on subtrees results in 
> the tangled code beeing broken
> because the newlines before the #+end_src line are excluded from the output. 
> This patch uses :padline
> to check if a newline should be added. The default being yes, tangling with 
> subtree mangling now produces correct
> results; code depending on the (errorneous?) behaviour would be broken though.
> ---
>  lisp/ob.el |    9 ++++++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/lisp/ob.el b/lisp/ob.el
> index 47be708..398a997 100644
> --- a/lisp/ob.el
> +++ b/lisp/ob.el
> @@ -2211,13 +2211,16 @@ block but are passed literally to the 
> \"example-block\"."
>                                            (nth 4 i))
>                                        source-name)
>                             (let* ((body (org-babel-expand-noweb-references 
> i))
> -                                  (full (if comment
> +                                      (padded (if (not (string= "no" (cdr 
> (assoc :padline (nth 2 i)))))
> +                                                             (concat body 
> "\n") 
> +                                                             body ))
> +                                      (full (if comment
>                                              ((lambda (cs)
>                                                 (concat (c-wrap (car cs)) "\n"
> -                                                       body "\n"
> +                                                       padded "\n"
>                                                         (c-wrap (cadr cs))))
>                                               (org-babel-tangle-comment-links 
> i))
> -                                          body)))
> +                                          padded)))
>                               (setq expansion (concat expansion full))))))))
>                   expansion)
>                 ;; possibly raise an error if named block doesn't exist

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]