2

I used to have a literate configuration file structured as follows:

#+BEGIN_SRC emacs-lisp :tangle "/tmp/out.el" :noweb yes

;; requirements
<<require>>

;; other
<<execute>>

#+END_SRC

* FOO

Here goes all the snippets of code related to module FOO.

#+NAME: require
#+BEGIN_SRC emacs-lisp
(require 'foo)
#+END_SRC

#+NAME: execute
#+BEGIN_SRC emacs-lisp
(foo-setup)
#+END_SRC

* BAR

Here goes all the snippets of code related to module BAR.

#+NAME: require
#+BEGIN_SRC emacs-lisp
(require 'bar)
#+END_SRC

#+NAME: execute
#+BEGIN_SRC emacs-lisp
(bar-setup)
#+END_SRC

With previous versions of Org-Mode, I obtained the following file:

;; requirements
(require 'foo)
(require 'bar)

;; other
(foo-setup)
(bar-setup)

Notice how all blocks named require (resp. execute) are grouped together. With Org-Mode 9.2.3 (Emacs 26.1), I only have the blocks related to foo:

;; requirements
(require 'foo)

;; other
(foo-setup)

Is it a case of "the update broke my workflow"? Is there an easy way to obtain the same result as previously?

2

Apparently this can be fixed by using :noweb-ref instead:

* FOO

#+BEGIN_SRC emacs-lisp :noweb-ref require
(require 'foo)
#+END_SRC

#+BEGIN_SRC emacs-lisp :noweb-ref execute
(foo-setup)
#+END_SRC

* BAR

#+BEGIN_SRC emacs-lisp :noweb-ref require
(require 'bar)
#+END_SRC

#+BEGIN_SRC emacs-lisp :noweb-ref execute
(bar-setup)
#+END_SRC

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.