Re: [O] Org Build System (aka Makefile)
Bastien writes: One thing I need to understand: what are the warnings that you have when compiling within a single process and you don't when compiling with one process per file? Emacs Lisp as a dynamic language has no concept of a well-formed program that can be verified by just looking at the source. Correctness of the program depends on entirely on the context, specifically any bindings that have been made. Now, for the same reason it also doesn't really have a concept of compilation like other languages that need to be translated. Running the byte-compiler will not only byte-compile, but also alter the context (predominantly via special forms that are evaluated at compile-time; but in other ways, too). So, running it with one process per file provides the most minimal context, but not necessarily the best or correct one. I could just as well pre-load org-install into the context of each compilation and things would look different again. The warnings you get from the byte-compiler are just noting when the expected context and the encountered one differs (like the bytecompiler seeing a function `foo´ being invoked, but doesn't know that is defined). This may or may not be an error at runtime, depending on what the context looks like then. The next thing I'd like to know is _why_ -- but even a rough answer to the first question would help me take a decision about this. There is no right or wrong answer to this, there are literally an infinite number of ways to deal with that problem. But it all comes down to managing dependencies and ensuring proper setup of the context, both at compile-time and run-time. Org currently takes the heavy-handed approach of (mostly) requiring all dependencies at compile-time, except when that would create recursive requires. This drags in a lot of mostly useless context into each compilation and can even hide some problems when some of the context is only indirectly required. It also subverts the goals of dynamic (auto-)loading at run-time, since instead of just pulling in the functions needed it will pull in rather large bodies of code. I'd be in favor of automatic dependency management in the autoloads style, but that would be a larger undertaking for a later time. Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada
Re: [O] make test on OSX
Is there any way I can find out more? On Aug 13, 2012, at 5:44 AM, Bastien b...@gnu.org wrote: Neuwirth Erich erich.neuwi...@univie.ac.at writes: Any ideas why the tests are failing? It looks like there is a missing dependancy related to org-element somewhere. But I can't reproduce the problem, so it is hard to tell. -- Bastien
Re: [O] make test on OSX
Hi Erich, Neuwirth Erich erich.neuwi...@univie.ac.at writes: Is there any way I can find out more? By looking for an actual bug related to the failed test? I have no other idea, sorry. -- Bastien
Re: [O] Org Build System (aka Makefile)
Please give me an example of a warning that is shown while compiling within a single Emacs process and not shown while compiling files with one Emacs process per file. -- Bastien
Re: [O] [OT] ELNODE is soon to be released as version 1.0
Hello Brian, brian powell wrote: * Some people have expressed interest in Elnode in the past: ELNODE is soon to be released as version 1.0 ** Video mentions Emacs OrgMode (and includes an example) and Node.js: http://www.youtube.com/embed/TR7DPvEi7Jg ** Elnode - the EmacsLisp Async Webserver @ version 0.9.9 Elnode is a webserver for Emacs 24, written in EmacsLisp. It turns your Emacs into a web ... nic.ferrier.me.uk/.../elnode-nears-1-point-0?... A pitty he only picked up Org for the tables, not for the entire file syntax. However, very very nice work! Best regards, Seb -- Sebastien Vauban
Re: [O] [GSoC] Org-sync v0.2
On Sun, Aug 12, 2012 at 7:34 PM, Christopher Allan Webber cweb...@dustycloud.org wrote: This is *very* exciting. I'm definitely interested in using this for MediaGoblin if I can. Thanks. I've just looked at MediaGoblin but I don't think it fits what Org-sync was designed for, which is sync with bugtrackers or anything equivalent i.e. a list of something with an open/closed state with at least a title and a unique id. - I tend to take notes and local subtasks on bugs. Is there any way to do that? No. Org-sync only handles list of 1 level elements right now. - Does org-sync also pull down comments? No. I guess you could make a backend to sync comments from a single bug discussion but it's not really helpful. - I'd like to pull down the description and keep the TODO states in sync, but I'm not sure I want editing local descriptions to affect the description remotely. In fact I'm pretty sure I don't want to do that! I'd just like the initial state then be able to munge it however. Is that possible? That's possible and should be easy to implement, I'll see. - I'd really like to write a trac backend! There's a guide on the tutorial page [1], and you can look at existing backends. 1: http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/org-sync/tutorial/#sec-4
[O] A tidy file maketh a tidy mind?
Morning, I just want to know if there is there exists a 'tidy' module/command that can be run on a file to tidy it? I often find myself going back and adding extra line breaks and padding, and wondering if there exists something that can do this for me? Thanks, 'Mash
Re: [O] Org Build System (aka Makefile)
Bastien bzg at gnu.org writes: Please give me an example of a warning that is shown while compiling within a single Emacs process and not shown while compiling files with one Emacs process per file. I don't know if something like that currently exists, if you want to check set _COMPILE_=slint2 and compare the outputs of the three passes. I doubt there is, since the in-process compilation should be clean on current Git master. Conceivably, you could have a defconst in file1 and the same symbol as a defvar with initial value in file2, no requires in either file. If you now compile them in the order file1 and file2, you will get a warning when compiling in a single process, but not when you compile them in isolation. If they were both defvars w/ initialization, you'd never get a warning even though it is still wrong and the result at runtime depends on which file gets loaded first. Regards, Achim.
Re: [O] [GSoC] Org-sync v0.2
Aurélien Aptel writes: On Sun, Aug 12, 2012 at 7:34 PM, Christopher Allan Webber cweb...@dustycloud.org wrote: This is *very* exciting. I'm definitely interested in using this for MediaGoblin if I can. Thanks. I've just looked at MediaGoblin but I don't think it fits what Org-sync was designed for, which is sync with bugtrackers or anything equivalent i.e. a list of something with an open/closed state with at least a title and a unique id. Just to be clear: by this I meant I'm the lead developer of MediaGoblin and I meant I wanted to use it to help me keep track of MediaGoblin's bugtracker stuff, not that I wanted to use it for interacting with MediaGoblin the application. :) - I'd like to pull down the description and keep the TODO states in sync, but I'm not sure I want editing local descriptions to affect the description remotely. In fact I'm pretty sure I don't want to do that! I'd just like the initial state then be able to munge it however. Is that possible? That's possible and should be easy to implement, I'll see. That would be really great! Let me know if you make progress on that.
Re: [O] Org Build System (aka Makefile)
I tried _COMPILE_ = single and I tried ~$ emacs -batch -Q --eval (byte-compile-file \~/install/git/org-mode/lisp/ob.el\) I get warnings in the second case, not in the first case. Is there anything that _COMPILE_=single loads/expands on top of a bare Emacs when compiling using one Emacs process per file? Thanks, -- Bastien
Re: [O] Org Build System (aka Makefile)
Achim Gratz strom...@nexgo.de writes: Eric Schulte writes: But we certainly shouldn't (and currently aren't?) inhibit the display of any warnings when the default make is run. I was surprised to run make compile-source and see additional warnings which weren't shown during regular make. These warnings aren't reliable — the byte compiler doesn't really try to find and report problems. Understood, however they are still a useful check, especially after large code changes or during code cleanup. In fact, because I never run compiled Org-mode, these checks are one of my main uses of the Makefile. What is the difference between make and make compile-source which results in different warnings? make -n compile make -n _COMPILE_=single compile The difference is starting a single Emacs and then compiling all files vs. starting a fresh Emacs instance for each file to be compiled. The change was originally triggered by some differences to the builds in package manager (ELPA) and solidified due to the fact that this is the only method that does function with only Emacs available. Should have been discussed around November last year, IIRC. Thanks for clarifying. It certainly does sound like we are using the correct default build option. It would be preferable if the Emacs compilation process produced more predictable warnings, but I doubt this is a high priority for the busy core Emacs devs. After some time digging through the make files, it looks to me like one must edit the local.mk file to run these. You are welcome to dig through whatever files, but maybe you might consult the documentation first? I don't find the strings single compile, compile-source or elint anywhere in the Org documentation. Perhaps there is different documentation for the Makefile? As you would read there and can see above, you can do it all on the command line if you wish. If you want to enact that change permanently, you should edit local.mk — that's the only reason it exists. I'd propose that they are added as a separate Makefile target (mentioned by make help) so that they can be easily run. If you want additional make targets you can also implement those in local.mk; run `make helpall´ some time and ask yourself if you really need more. Despite the huge number of Makefile targets (do we really need 12 different versions of make clean), I do think that a make target to run a static code check would be useful. Very few people (users or developers) are willing to edit make configuration files. Those same people that have no problem to edit the sources? Come on, you can't be serious. I am one of these people and I am completely serious. This is the first time I've looked at Org-mode's make system -- beyond my help with the test infrastructure. The Makefile uses different languages and has different goals than the source code and I think there are many who feel comfortable editing one but not the other. If you'll permit me an exaggerated metaphor, asking developers to edit a Makefile is like asking a watch maker to rebuild the table in her workshop. She will likely find the task to be a waste of time, to be outside of her core competency, and not directly related to her real work, even if it results in a more comfortable work environment. Perhaps these elint build options should be used to build when make check is run. If a user is willing to run the test suite they should be willing to endure a slower build for more thorough warnings. If they want to, they can edit local.mk. As I continue to contend, editing local.mk simply will not happen in most cases. But since it is not necessary for the build and there won't be any warnings to see if the developers do a good job, it's not a useful default. It is maybe useful as an additional configuration for release tests (just as it is useful to have multiple configurations to be able to test different versions of Emacs). Having spent some time playing around with the elint options, I withdraw my suggestion that this should be the default for running make test as it is often simply too slow, however, I do think it should be exposed as a make file target (listed by make help), or in some way made possible without requiring esoteric configuration (either on the command line or in local.mk). Thanks for your patient explanations and consideration. Regards, Achim. -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] Tangling is broken in git master
Bastien b...@gnu.org writes: Bernt Hansen be...@norang.ca writes: That doesn't work. There's a missing ) at the end of the defalias and after I add that I get Er, sorry for the typo. I've reverted this commit for now, I'll see if I can get rid of cl-labels another way. I've just pushed up another version of this commit, which I believe removes cl-labels while still preserving tangling behavior. If you have a chance please re-check tangling with the latest Org-mode. Thanks, -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] Org Build System (aka Makefile)
Let's summarize. It is no a matter of exposing the user to the warnings or not. It is a matter of exposing the user to the warnings that might be useful to him -- i.e. the ones he might want to report to the list just to let the developers know, or in the context of a bug hunt. The warnings you get by compiling Elisp files within a single Emacs process are *not* useful to the users because these warnings happen during context-free compilation, and as such, they are not relevant to what the user evaluates when he loads Org (even worse: those warnings may lead him to misinterpret what is missing at run time, whereas they warn about things that are missing at comile time.) So let's stick to the current default `make' for compilation. However, I would suggest these changes to the current default.mk: - Have a target `make single' (useful for developers) - `make test' should use the default make compilation (within one Emacs process), because this target is primarily for performing tests, not for checking warnings. - `make test single' should run the tests *and* compile each file in a separate Emacs process -- so that it gives as much info as the developers may desire. - `make elint' would run the current `make _COMPILE_=slint3'. - `make elint single' would run the current `make _COMPILE_=slint4' (even though I would not complain if we get rid of this target.) - Let's get rid of the _COMPILE_ variable: it is not handy to have to edit this just for running checks. I hope our brains now all compile fine within the same context. :) Achim, if you are okay with the suggestions above, can you make the relevant changes? Thanks! -- Bastien
Re: [O] Tangling is broken in git master
Hi Eric, Eric Schulte eric.schu...@gmx.com writes: I've just pushed up another version of this commit, which I believe removes cl-labels while still preserving tangling behavior. If you have a chance please re-check tangling with the latest Org-mode. `letrec' is not available on Emacs 24.1 Your commit looks like the one I pushed here... http://orgmode.org/w/?p=org-mode.git;a=commit;h=ba16c3 ... and reverted, thanks to Bernt's report. Apart from one replacement of org-labels with `let*' in ob.el, I don't see how we can get rid of `org-labels' completely. -- Bastien
Re: [O] Org Build System (aka Makefile)
Bastien bzg at gnu.org writes: ~$ emacs -batch -Q --eval (byte-compile-file \~/install/git/org-mode/lisp/ob.el\) I get warnings in the second case, not in the first case. You should, because the command line you use does not set up the load-path correctly. The requires will now use the standard Emacs load-path, which provides older files with the same name. Regards, Achim.
Re: [O] Tangling is broken in git master
Bastien b...@gnu.org writes: Hi Eric, Eric Schulte eric.schu...@gmx.com writes: I've just pushed up another version of this commit, which I believe removes cl-labels while still preserving tangling behavior. If you have a chance please re-check tangling with the latest Org-mode. `letrec' is not available on Emacs 24.1 Your commit looks like the one I pushed here... http://orgmode.org/w/?p=org-mode.git;a=commit;h=ba16c3 ... and reverted, thanks to Bernt's report. Apart from one replacement of org-labels with `let*' in ob.el, I don't see how we can get rid of `org-labels' completely. Oh, my apologies, I just reverted my commit. I thought letrec was an old elisp construct. I'm happy to stick with using org-labels (the code was much more readable using org-labels). I'm surprised that elisp doesn't provide any mechanism for local anonymous functions. I can't imagine why this would be an intentional design decision. Thanks, -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] Tangling is broken in git master
Hi Eric, Eric Schulte eric.schu...@gmx.com writes: I'm surprised that elisp doesn't provide any mechanism for local anonymous functions. (let ((my-local-func (lambda (a) (message a (funcall my-local-func Hello!)) is fine. It's just for recursive local function -- letrec provides it now, but apparently cl-labels was needed for that before. -- Bastien
Re: [O] Tangling is broken in git master
Eric Schulte eric.schu...@gmx.com wrote: Bastien b...@gnu.org writes: Hi Eric, Eric Schulte eric.schu...@gmx.com writes: I've just pushed up another version of this commit, which I believe removes cl-labels while still preserving tangling behavior. If you have a chance please re-check tangling with the latest Org-mode. `letrec' is not available on Emacs 24.1 Your commit looks like the one I pushed here... http://orgmode.org/w/?p=org-mode.git;a=commit;h=ba16c3 ... and reverted, thanks to Bernt's report. Apart from one replacement of org-labels with `let*' in ob.el, I don't see how we can get rid of `org-labels' completely. Oh, my apologies, I just reverted my commit. I thought letrec was an old elisp construct. I'm happy to stick with using org-labels (the code was much more readable using org-labels). I'm surprised that elisp doesn't provide any mechanism for local anonymous functions. I can't imagine why this would be an intentional design decision. Can't the definition of letrec in emacs24 be lifted bodily into org-compat.el (or whatever the correct place is) as a compatibility-with-emacs-23 macro? Nick
Re: [O] Org Build System (aka Makefile)
Achim Gratz strom...@nexgo.de writes: Bastien bzg at gnu.org writes: ~$ emacs -batch -Q --eval (byte-compile-file \~/install/git/org-mode/lisp/ob.el\) I get warnings in the second case, not in the first case. You should, because the command line you use does not set up the load-path correctly. The requires will now use the standard Emacs load-path, which provides older files with the same name. Here are the warnings I get: , | In org-babel-sha1-hash: | ob.el:1022:4:Warning: `(rm (lst) (dolist (p (quote (replace silent | append prepend))) (setq lst (remove p lst))) lst)' is a malformed | function | ob.el:1033:54:Warning: reference to free variable `arg' | | In org-babel-noweb-p: | ob.el:2224:34:Warning: `(intersect (as bs) (when as (if (member (car as) bs) | (car as) (intersect (cdr as) bs' is a malformed function | | In end of data: | ob.el:2603:1:Warning: the following functions are not known to be defined: | org-labels, norm, arg, rm, intersect | Wrote /home/guerry/install/git/org-mode/lisp/ob.elc ` (This is related to the use of cl-labels in ob.el.) Do you get those warnings with ~$ emacs -batch -Q --eval (byte-compile-file \~/install/git/org-mode/lisp/ob.el\) ? Do you get them with make ~$ make _COMPILE_=single ? How do you set up the load-path when compiling with `make _COMPILE_=single'? Thanks, -- Bastien
Re: [O] Tangling is broken in git master
Hi Nick, Nick Dokos nicholas.do...@hp.com writes: Can't the definition of letrec in emacs24 be lifted bodily into org-compat.el (or whatever the correct place is) as a compatibility-with-emacs-23 macro? I don't think it's worth the effort. The current code works and compiles without warnings for the user. Getting rid of org-flet was to make things a bit more elispy, but I'm fine with `org-labels' and those four lines of warnings- for-developers-only. -- Bastien
Re: [O] Tangling is broken in git master
Hello, Bastien b...@gnu.org writes: Eric Schulte eric.schu...@gmx.com writes: I'm surprised that elisp doesn't provide any mechanism for local anonymous functions. (let ((my-local-func (lambda (a) (message a (funcall my-local-func Hello!)) is fine. It's just for recursive local function -- letrec provides it now, but apparently cl-labels was needed for that before. You can have recursive local functions: #+begin_src emacs-lisp (let* (len ; For byte compiler. (len (lambda (l) (if (not l) 0 (1+ (funcall len (cdr l))) (funcall len '(1 2 3))) #+end_src Regards, -- Nicolas Goaziou
Re: [O] Tangling is broken in git master
Bastien b...@gnu.org wrote: Hi Nick, Nick Dokos nicholas.do...@hp.com writes: Can't the definition of letrec in emacs24 be lifted bodily into org-compat.el (or whatever the correct place is) as a compatibility-with-emacs-23 macro? I don't think it's worth the effort. The current code works and compiles without warnings for the user. What about future code? IME, it's always worthwhile to be thinking about ways to avoid future bugs. Getting rid of org-flet was to make things a bit more elispy, but I'm fine with `org-labels' and those four lines of warnings- for-developers-only. It's more the freedom that it gives to developers (i.e Eric S. :-) ) who are used to writing code a certain way: the way it is now, they've got to keep in mind that letrec is not valid for emacs23 and write the code differently - I'd suggest that that can be a source of bugs that would be avoided with a compatibility macro. But maybe the compatibility macro would be a bigger problem - I don't know for sure. In particular, the file would need a periodic cleanup to get rid of old cruft, but if it's a once-a-year-or-two occurrence, that might not be too bad. Nick
[O] Capturing to a list in a dynamic 2nd level heading
Hi all, Is it possible with org-capture to create a template that would create the following: * Log ** 2012 - Week 33 - One liner of interest - Another one liner of interest So that is a capture template that generates the 2nd level heading when required and the text entered is converted to a list entry which is added to the end of the list. (format-time-string %G - Week %W) is the correct date string, but file+headline creates a top level heading and file+olp expects it to already exist. It seems that the text entered must also become a sub heading. Is that correct? I'm trying to achieve something very similar to this http://metajack.im/2009/01/01/journaling-with-emacs-orgmode/ Any suggestions greatly appreciated. I haven't managed to strike gold in the list archive. Simon -- Simon Brown
Re: [O] Capturing to a list in a dynamic 2nd level heading
Hi Simon, I have a capture template that does almost exactly that, I just use a user entered subheading -- should be easy enough to tweak for your task. When chosen as a capture option, it asks for a discussion context and looks up a 2nd level heading below Discussion Items matching that context. If it exists, it just adds to it. If not, it creates a new context at the end of the Discussion Items element. Note that you must create Discussion Items first, and it must be top-level. ...cj Capture template: (d Discussion Item item (file+function ~/org/Todo.org (lambda () (let* ((ctxt (read-string Discussion context: )) (ctxt-pt (condition-case msg (org-find-olp (list Discussion Items ctxt) t) (error nil (if ctxt-pt (progn (goto-char ctxt-pt) (org-end-of-subtree) (insert-string \n)) (goto-char (org-find-olp (list Discussion Items) t)) (org-end-of-subtree) (insert-string (format \n** %s\n ctxt))) On 8/13/12 12:26 PM, Simon Brown wrote: Hi all, Is it possible with org-capture to create a template that would create the following: * Log ** 2012 - Week 33 - One liner of interest - Another one liner of interest So that is a capture template that generates the 2nd level heading when required and the text entered is converted to a list entry which is added to the end of the list. (format-time-string %G - Week %W) is the correct date string, but file+headline creates a top level heading and file+olp expects it to already exist. It seems that the text entered must also become a sub heading. Is that correct? I'm trying to achieve something very similar to this http://metajack.im/2009/01/01/journaling-with-emacs-orgmode/ Any suggestions greatly appreciated. I haven't managed to strike gold in the list archive. Simon
[O] Emacs shell-script to tangle org-babel at the command line.
I recently wrote what I thought to be a very simply she'll script to tangle a file; simply call the script on a file, e.g. 'tangle corgi.org' and a file, 'corgi.rb' (assuming one uses Ruby) appears in the local directory. Tangling the file from within Emacs works normally. Tangling from this script does not work; the only interesting response is tangled 0 code blocks from corgi.org. The same file tangles two blocks from within Emacs. It seems that the org-babel-tangle function is using some piece of information present in the normal Emacs loading sequence which is not found during the script load. I could provide a large number of files, but I imagine that the problem will be obvious to someone here. What is wrong with this code? #!/usr/bin/emacs --script ;; The subdirectory ~/.emacs.d is to be added to the top-level elisp ;; file search. (progn (cd ~/.emacs.d) (normal-top-level-add-subdirs-to-load-path)) ;; Org-Mode, Org-Babel, and the tangle library are required, if we are ;; to proceed further. (require 'org-install) (require 'org) (require 'ob-tangle) ;; Load the main configuration and setup file. (require 'ob-ruby) (require 'ob-python) (require 'ob-emacs-lisp) (require 'ob-lisp) ;; Tangle all files given. (dolist (file command-line-args-left) (princ file) (org-babel-tangle-file file))
Re: [O] Using org-mode as day planner
On 12.08.2012 17:48, John Hendy wrote: On Sat, Aug 11, 2012 at 4:34 AM, Bastien b...@gnu.org wrote: Hi John, John Hendy jw.he...@gmail.com writes: Date trees are the obvious way to be able to do this, but they don't have any of the neat search functionality that I know of. Can you describe the search functionality you would like for date-trees? I'm not sure I groked it. Date trees allow for a very nice way for filing notes in chronological order, but =C-c / dateRange= does not work for date trees. Previously, active time stamps worked, but I didn't want all my notes showing up in my agenda, so I just dealt with not having a great solution. Then you provided one with the sparse-tree search timestamp-type selection ability, which rocks. Date trees are still the best way to use capture for foolproof chronological storage of notes quickly... but I wouldn't be able to extract notes in a particular date-range with current functionality. Hi John, I have a very similar use case. I capture all my stuff into a date tree and for my weekly report I parse that and extract a subset. It looks a bit crude (hardcoded stuff for my setup) but works for now. I must say that date-trees in their current form feel a bit un-org-mody as they use a completely different data format: -- (defun mp26/org-find-headline-prefix-in-buffer (heading optional buffer pos-only) Find node with heading-prefix HEADING in BUFFER. Return a marker to the heading if it was found, or nil if not. If POS-ONLY is set, return just the position instead of a marker. The heading prefix must match as prefix of the full headline. It may have a TODO keyword, a priority cookie and tags in the standard locations. (with-current-buffer (or buffer (current-buffer)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (let (case-fold-search) (if (re-search-forward (format org-complex-heading-regexp-format (concat (regexp-quote heading) .*)) nil t) (if pos-only (match-beginning 0) (move-marker (make-marker) (match-beginning 0) ; fixme: optional parameter for starting date (defun mp26/org-week-from-journal () Insert a copy of the current week from the journal. (interactive) (insert (mapconcat 'identity (with-current-buffer Journal.orgDaten (loop for days in '(-6 -5 -4 -3 -2 -1 0) collect (let* ((date (calendar-current-date days)) (date-string (format %d-%02d-%02d (nth 2 date) (nth 0 date) (nth 1 date (setq pos (mp26/org-find-headline-prefix-in-buffer date-string nil t)) (when pos (goto-char pos) (org-copy-subtree) (car kill-ring) ))) --
Re: [O] Using org-mode as day planner
I am wondering why people aren't using org-element.el to extract intelligence from org buffers. We seem to be living in 2011s. It is already 2012. --
Re: [O] Using org-mode as day planner
Jambunathan K kjambunat...@gmail.com writes: I am wondering why people aren't using org-element.el to extract intelligence from org buffers. We seem to be living in 2011s. It is already 2012. org-element.el is not yet part of a release. It is only available from the git repository. The good news is that it will be part of Org 7.9, hopefully getting the attention it deserves. -- Bastien
Re: [O] Org Build System (aka Makefile)
Bastien writes: Do you get them with make ~$ make _COMPILE_=single Not now, but I've seen them before. I think this is one of those cases where an indirect require provides a dependency. How do you set up the load-path The current directory (which is lisp) is prepended to the load-path, so that any require will find the correct files. This is always the same regardless the compilation method. If you ever want to know what make is doing, just start a dry-run via `make -n´ and you'll see. The easiest way to compile a single file is to remove the Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
Re: [O] Tangling is broken in git master
Hi Nick, Nick Dokos nicholas.do...@hp.com writes: I'd suggest that that can be a source of bugs that would be avoided with a compatibility macro. `org-labels' is an alias for `cl-labels' (when available) or `labels'. There is no need for a compatibility macro here, as the current code is compatible with both Emacs 23 and Emacs 24 -- and hopefully later versions of Emacs. The question is rather whether we want to be very strict and replace as much cl-* constructs as possible. Nicolas shown a way to let-bind functions recursively (which is simple and neat, by the way), so yes, I'd favor replacing org-labels in this case. Especially because the cl-labels and labels macros do not work exactly the same way. See labels' docstring: ... Like `cl-labels' except that the lexical scoping is handled via `lexical-let' rather than relying on `lexical-binding'. But maybe the compatibility macro would be a bigger problem - I don't know for sure. In particular, the file would need a periodic cleanup to get rid of old cruft, but if it's a once-a-year-or-two occurrence, that might not be too bad. Always good to know there are many people we can rely on to clean the old cruft :) -- Bastien
Re: [O] Tangling is broken in git master
Nicolas Goaziou n.goaz...@gmail.com writes: You can have recursive local functions: #+begin_src emacs-lisp (let* (len ; For byte compiler. (len (lambda (l) (if (not l) 0 (1+ (funcall len (cdr l))) (funcall len '(1 2 3))) #+end_src Indeed, neat! -- Bastien
Re: [O] Emacs shell-script to tangle org-babel at the command line.
Hi Matthew, On Mon, Aug 13, 2012 at 2:15 PM, Matthew Oesting oesti...@me.com wrote: I recently wrote what I thought to be a very simply she'll script to tangle a file; simply call the script on a file, e.g. 'tangle corgi.org' and a file, 'corgi.rb' (assuming one uses Ruby) appears in the local directory. Tangling the file from within Emacs works normally. Tangling from this script does not work; the only interesting response is tangled 0 code blocks from corgi.org. The same file tangles two blocks from within Emacs. It seems that the org-babel-tangle function is using some piece of information present in the normal Emacs loading sequence which is not found during the script load. I could provide a large number of files, but I imagine that the problem will be obvious to someone here. What is wrong with this code? #!/usr/bin/emacs --script ;; The subdirectory ~/.emacs.d is to be added to the top-level elisp ;; file search. (progn (cd ~/.emacs.d) (normal-top-level-add-subdirs-to-load-path)) ;; Org-Mode, Org-Babel, and the tangle library are required, if we are ;; to proceed further. (require 'org-install) (require 'org) (require 'ob-tangle) ;; Load the main configuration and setup file. (require 'ob-ruby) (require 'ob-python) (require 'ob-emacs-lisp) (require 'ob-lisp) ;; Tangle all files given. (dolist (file command-line-args-left) (princ file) (org-babel-tangle-file file)) The previous code works for me if the file I'm trying to tangle is in ~/.emacs.d. I think what may be happening is you are specifying your input files as relative paths, and when you cd into .emacs.d, you are no longer loading from the correct directory. Are you getting output such as #+begin_example Wrote /home/user/.emacs.d/input-file.org tangled 0 code blocks from input-file.org #+end_example Try replacing: #+begin_src emacs-lisp (progn (cd ~/.emacs.d) (normal-top-level-add-subdirs-to-load-path)) #+end_src with something that doesn't change the current directory of the buffer permanently. Replace the progn line with following to allow the assigned value of default-directory to go out of scope: #+begin_src emacs-lisp (let ((default-directory ~/.emacs.d)) (normal-top-level-add-subdirs-to-load-path)) #+end_src Andrew
Re: [O] Org Build System (aka Makefile)
Bastien writes: However, I would suggest these changes to the current default.mk: These changes do not belong into default.mk — default.mk is the fallback for when no changes to local.mk have been made. - Have a target `make single' (useful for developers) - `make elint' would run the current `make _COMPILE_=slint3'. I don't like such proliferation of toplevel targets since they can't be overridden by users, things like this (an alias) are easy enough to set up in local.mk: --8---cut here---start-8--- single: _COMPILE_=single single: compile elint: _COMPILE_=slint3 elint: compile --8---cut here---end---8--- That was (and still is) the point of having local.mk — putting customized functionality on top of the standard make mechanism. - `make test single' should run the tests *and* compile each file in a separate Emacs process -- so that it gives as much info as the developers may desire. - `make elint single' would run the current `make _COMPILE_=slint4' (even though I would not complain if we get rid of this target.) Make doesn't work that way, you can't give it two targets and hope for it to combine these into something else. - Let's get rid of the _COMPILE_ variable: it is not handy to have to edit this just for running checks. I need to keep it for communication with the sub-make in lisp/, although I'll probably rename it to something shorter. There's a reason everything is set up the way it is and it actually becomes more complicated rather than easier if I do it differently. I'd rather provide a sample local.mk for developers that implements these suggestions. Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ SD adaptation for Waldorf rackAttack V1.04R1: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
Re: [O] Org Build System (aka Makefile)
Eric Schulte writes: I don't find the strings single compile, compile-source or elint anywhere in the Org documentation. Perhaps there is different documentation for the Makefile? Yes, as mentioned several times in this thread: http://orgmode.org/worg/dev/org-build-system.html I'll add that link to `make help´. Despite the huge number of Makefile targets (do we really need 12 different versions of make clean), I do think that a make target to run a static code check would be useful. Most of these are used only internally or are provided for backwards compatibility with the old Makefile. Bastien insisted they should all be documented, so they are. The elint methods have just been implemented, but for various reasons I don't really like the idea of yet more toplevel targets. If I add one it'll probably be what `slint3´ does. Those same people that have no problem to edit the sources? Come on, you can't be serious. I am one of these people and I am completely serious. This is the first time I've looked at Org-mode's make system -- beyond my help with the test infrastructure. The Makefile uses different languages and has different goals than the source code and I think there are many who feel comfortable editing one but not the other. If you'll permit me an exaggerated metaphor, asking developers to edit a Makefile is like asking a watch maker to rebuild the table in her workshop. She will likely find the task to be a waste of time, to be outside of her core competency, and not directly related to her real work, even if it results in a more comfortable work environment. To spin that metaphor further, that watchmaker should have no problem telling a cabinetmaker exactly what her desk should be like and she'd hopefully be wise enough not to tell him which tools to use or how to join the table board to the legs. ALso I think she might listen when the cabinetmaker tells her how to take care of her new desk properly. As I continue to contend, editing local.mk simply will not happen in most cases. So, how did your .emacs come about? Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
[O] Exporting inline code sections
Hi, I noticed that exporting a document to HTML when exports is set to both gives an error. Here's an example document: - #+TITLE: Example Doc #+PROPERTY: exports both The result is src_R{3+4} =[1] 7=. - The stack trace looks like this: - Debugger entered--Lisp error: (void-function nil) nil(%flags) replace-regexp-in-string(%flags nil #+BEGIN_SRC R%flags\n3+4\n#+END_SRC t t) org-fill-template(#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC ((lang . R) (flags) (body . 3+4))) org-babel-exp-code((R 3+4 ((:comments . ) (:shebang . ) (:cache . ) (:padline . ) (:noweb . ) (:tangle . ) (:exports . both) (:results . replace) (:session . none org-babel-exp-do-export((R 3+4 ((:comments . ) (:shebang . ) (:cache . ) (:padline . ) (:noweb . ) (:tangle . ) (:exports . both) (:results . replace) (:session . none))) inline) org-babel-exp-inline-src-blocks(1 83) #[(pair) \211A@)\n \\207 [pair x start end] 4]((src org-babel-exp-inline-src-blocks)) mapcar(#[(pair) \211A@)\n \\207 [pair x start end] 4] ((lob org-babel-exp-lob-one-liners) (src org-babel-exp-inline-src-blocks))) interblock(1 83) byte-code(\306\307\211\211\211\211\211\211\211\211\211\211+,-./0\310\311!\2111\205) - I'm still at version 7.8.03, apologies if this has been addressed in a later version already. -- Ken Williams, Senior Research Scientist WindLogics http://windlogics.com CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution of any kind is strictly prohibited. If you are not the intended recipient, please contact the sender via reply e-mail and destroy all copies of the original message. Thank you.
Re: [O] [OT] ELNODE is soon to be released as version 1.0
Sebastien Vauban wxhgmqzgw...@spammotel.com writes: Hello Brian, brian powell wrote: * Some people have expressed interest in Elnode in the past: ELNODE is soon to be released as version 1.0 ** Video mentions Emacs OrgMode (and includes an example) and Node.js: http://www.youtube.com/embed/TR7DPvEi7Jg ** Elnode - the EmacsLisp Async Webserver @ version 0.9.9 Elnode is a webserver for Emacs 24, written in EmacsLisp. It turns your Emacs into a web ... nic.ferrier.me.uk/.../elnode-nears-1-point-0?... A pitty he only picked up Org for the tables, not for the entire file syntax. It is pretty simple to serve org files with elnode. Nic made an example for me: #+begin_src elisp (require 'elnode) (defun elnode-org-handler (httpcon) (elnode-docroot-for ~/Plans with org-file on httpcon do (with-current-buffer (find-file-noselect org-file) ;;org-file (let ((org-html ;; This might throw errors so you could condition-case it (org-export-as-html 3 nil nil 'string))) (elnode-send-html httpcon org-html) (elnode-start 'elnode-org-handler :port 8003) #+end_src Of course you need to elaborate on that for a real site, but you get the idea. I intend to use elnode for my own future personal org based website. However, very very nice work! Best regards, Seb -- Joakim Verona
Re: [O] Exporting inline code sections
-Original Message- From: Ken Williams Sent: Monday, August 13, 2012 3:37 PM I'm still at version 7.8.03, apologies if this has been addressed in a later version already. FWIW, I just downloaded 7.8.11 and confirmed that the problem still exists there. I wonder if the inline-code code could use a little love in general. Another thing that would be nice to accomplish with it is to be able to control the markup - right now it forces =code= markers around the output, but it might be nice to let the result flow more naturally in whatever paragraph it's part of. That would be great for stuff like report writing, where statistics calculated dynamically could be put into the report text. -Ken CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution of any kind is strictly prohibited. If you are not the intended recipient, please contact the sender via reply e-mail and destroy all copies of the original message. Thank you.
[O] table: referencing row of other table
Hi! I want to use the column average of the first table to fill the column h1 in the second one. #+TBLNAME: 2012-08-12vkmeasure | tags/item |m1 |m2 |m3 | average | |---+---+---+---+-| | 4 | 0.02 | 0.03 | 0.02 |0.02 | | 5 | 0.06 | 0.12 | 0.06 |0.08 | | 6 | 0.31 | 0.53 | 0.29 |0.38 | | 7 | 3.83 | 4.08 | 4.48 |4.13 | | 8 | 85.33 | 89.22 | 92.07 | 88.87 | #+TBLFM: $5 = vmean($2..$4);%.2f | tags/item | h1 [s] | h2 [s] | |---++| | 4 ||| | 5 ||| | 6 ||| | 7 ||| | 8 ||| #+TBLFM: fillme I tried following references but failed so far: @2$2..@6$2=subscr(remote(2012-08-12vkmeasure,@2$5..@6$5),$#) #- 0.08 0.08 ... @2$2=remote(2012-08-12vkmeasure,@2$5) - works for one value @2$2..@6$2=subscr(remote(2012-08-12vkmeasure,@2$5..@6$5),$#) #- 0.08 0.08 ... $2=subscr(remote(2012-08-12vkmeasure,@I$..@II$),$#) What did I do wrong? How is the correct TBLFM in order to get 0.02 ... 88.87 into the h1-column? Thanks for your help! -- Karl Voit
Re: [O] Exporting inline code sections
Hi Ken, Ken Williams ken.willi...@windlogics.com writes: FWIW, I just downloaded 7.8.11 and confirmed that the problem still exists there. Now fixed in git, thanks. I wonder if the inline-code code could use a little love in general. Another thing that would be nice to accomplish with it is to be able to control the markup - right now it forces =code= markers around the output, but it might be nice to let the result flow more naturally in whatever paragraph it's part of. That would be great for stuff like report writing, where statistics calculated dynamically could be put into the report text. Yes. Patch welcome! -- Bastien
Re: [O] [OT] ELNODE is soon to be released as version 1.0
joa...@verona.se writes: I intend to use elnode for my own future personal org based website. Don't forget to send us the link when it's done, I'd love to see this. Thanks! -- Bastien
Re: [O] Emacs shell-script to tangle org-babel at the command line.
You've hit upon it exactly; this solution works perfectly. Thank you, Andrew! This little tidbit, a few lines at the header, and a slightly different script now make my tangled Orgmode files executable at the command line. Ah, the joys of literate code. - M This message was sent from my iPad. On Aug 13, 2012, at 12:12 PM, Andrew Young younga...@gmail.com wrote: Hi Matthew, The previous code works for me if the file I'm trying to tangle is in ~/.emacs.d. ...
Re: [O] Exporting inline code sections
-Original Message- From: Bastien Guerry [mailto:bastiengue...@googlemail.com] Sent: Monday, August 13, 2012 4:56 PM Now fixed in git, thanks. Such service! =) Yes. Patch welcome! I'll have a shot at it. I'm very bad at elisp though. The other thing I just noticed was that every time I edit a table.el table with C-c ', two more spaces get inserted to the left of the table when it's reinserted into the org buffer. I tried to find where in the code that's happening (probably in org-edit-src-exit?) but I couldn't quite see it. -Ken CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution of any kind is strictly prohibited. If you are not the intended recipient, please contact the sender via reply e-mail and destroy all copies of the original message. Thank you.
[O] Semantics, Tagging, File systems, Tools, tagstore (was: [Orgmode] Re: contact management in org-mode?)
* Russell Adams rlad...@adamsinfoserv.com wrote: On the semantic note, I found a utility called tmsu recently (http://tmsu.org/) which allows semantic tagging of files. There was a cool looking filesystem called Tagsistant too, but it unfortunately appears abandoned. I was doing research for four years and I am writing a dissertation exactly about this topic. For my research, I created [1]. From my perspective: there is nothing practical out there to tag files on the file system layer. There were Semantic File System, TagFS, SemFS, and many more. All of them either abandoned or never made it to stable. Nepomuk/KDE seems to be the most promising but I am not up to date on Nepomuk any more. For OS X there are some add-ons which more or less try to integrate into the system. But chances are high that Apple will change from HFS+ to probably ZFS. Apple officially never supported the streams of HFS+ and therefore I am afraid, any tags stored there will get lost some day. Microsoft and Google do not want to support multi-classification. I was talking to several guys on conferences. Apple never shows up. tagstore [1] works on all platforms but is only scalable up to a few thousand items (files or folders) because of inode limit. If you are using tagstore on a file system with no inode limit, it might be a cool solution for you as well. All in all: no solution that satisfies everybody. Yet. My solution for now: many things are organized in Org-mode where I can link and tag things. Memacs I do like *very* much for this purpose: [2] If you need something for tagging which is compatible with *any* application out there and you do not need more than a few thousand items, tagstore should be fine as well. For example for movies it should be cool in any case. If you need more infos, you can wait for my PhD to be finished (2012-11). It should contain all relevant information or at least a link to other documents that contain the answer to your questions related to the topic of retrieving files using navigation. 1. http://tagstore.org 2. https://github.com/novoid/Memacs PS: Sorry for the shameless plug but you asked for it :-) -- Karl Voit
Re: [O] table: referencing row of other table
Karl Voit devn...@karl-voit.at wrote: Hi! I want to use the column average of the first table to fill the column h1 in the second one. #+TBLNAME: 2012-08-12vkmeasure | tags/item |m1 |m2 |m3 | average | |---+---+---+---+-| | 4 | 0.02 | 0.03 | 0.02 |0.02 | | 5 | 0.06 | 0.12 | 0.06 |0.08 | | 6 | 0.31 | 0.53 | 0.29 |0.38 | | 7 | 3.83 | 4.08 | 4.48 |4.13 | | 8 | 85.33 | 89.22 | 92.07 | 88.87 | #+TBLFM: $5 = vmean($2..$4);%.2f | tags/item | h1 [s] | h2 [s] | |---++| | 4 ||| | 5 ||| | 6 ||| | 7 ||| | 8 ||| #+TBLFM: fillme #+TBLFM: $2 = remote(2012-08-12vkmeasure, @@#$5) Nick I tried following references but failed so far: @2$2..@6$2=subscr(remote(2012-08-12vkmeasure,@2$5..@6$5),$#) #- 0.08 0.08 ... @2$2=remote(2012-08-12vkmeasure,@2$5) - works for one value @2$2..@6$2=subscr(remote(2012-08-12vkmeasure,@2$5..@6$5),$#) #- 0.08 0.08 ... $2=subscr(remote(2012-08-12vkmeasure,@I$..@II$),$#) What did I do wrong? How is the correct TBLFM in order to get 0.02 ... 88.87 into the h1-column? Thanks for your help! -- Karl Voit
[O] [ANN] Editable HTML export of Org-mode files
Hi, I've recently put together a web server which runs in Emacs and exports local Org-mode files to HTML in such a way that they may be edited from within a web browser with the edits saved to local files on disk. The code is available from github. repository https://github.com/eschulte/org-ehtml README --- http://eschulte.github.com/org-ehtml This is a very thin Emacs Lisp and JavaScript wrapper around Nic Ferrier's elnode Emacs web server [1], and Nicolas Goaziou's structured Org-mode file representation and export engine. It requires Emacs 24 and the development versions of both Org-mode and elnode. The code is fairly new so there are likely some kinks to be worked out (backup your files before editing them with this web-server), but the implementation is very simple and should be easy to modify. See the README for information on how to make use of elnode's authentication system, or how to have web edits automatically committed to a local version control system. Comments and patches are welcome. Cheers, Footnotes: [1] https://github.com/nicferrier/elnode -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] [OT] ELNODE is soon to be released as version 1.0
brian powell briangpowel...@gmail.com writes: * Some people have expressed interest in Elnode in the past: ELNODE is soon to be released as version 1.0 ** Video mentions Emacs OrgMode (and includes an example) and Node.js: http://www.youtube.com/embed/TR7DPvEi7Jg ** Elnode - the EmacsLisp Async Webserver @ version 0.9.9 Elnode is a webserver for Emacs 24, written in EmacsLisp. It turns your Emacs into a web ... nic.ferrier.me.uk/.../elnode-nears-1-point-0?... I can confirm that elnode is a joy to work with. See my recent announcement to the list of a server which allows editing Org-mode files through the web browser. http://thread.gmane.org/gmane.emacs.orgmode/58773 The elnode relevant portion is located in a single file and only required ~50 LOC to implement. https://github.com/eschulte/org-ehtml/blob/master/src/org-ehtml-server.el Cheers, -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] table: referencing row of other table
* Nick Dokos nicholas.do...@hp.com wrote: Karl Voit devn...@karl-voit.at wrote: I want to use the column average of the first table to fill the column h1 in the second one. #+TBLFM: $2 = remote(2012-08-12vkmeasure, @@#$5) Thanks! ... and now I also found the corresponding documentation which I overlooked twice :-) -- Karl Voit
Re: [O] Org Build System (aka Makefile)
Achim Gratz strom...@nexgo.de writes: Bastien writes: However, I would suggest these changes to the current default.mk: These changes do not belong into default.mk — default.mk is the fallback for when no changes to local.mk have been made. - Have a target `make single' (useful for developers) - `make elint' would run the current `make _COMPILE_=slint3'. I don't like such proliferation of toplevel targets since they can't be overridden by users, I second the idea that a top level 'make elint' would be very useful for developers (see the attached patch). In my opinion this would be more useful than a number of existing top-level targets, e.g., config-*, update, update2, cleanall, cleandirs, cleancontrib, cleantesting, cleanutils, cleanelc and targets. So if we want to have fewer top level targets (which I think would also be a good idea), perhaps one or more of the above could be removed before an elint target is added. things like this (an alias) are easy enough to set up in local.mk: But many more people will use such a target if it exists at the top level and is mentioned by make help. From 39e1ce6e8f33561db94451248d1c17705bd8f4ee Mon Sep 17 00:00:00 2001 From: Eric Schulte eric.schu...@gmx.com Date: Mon, 13 Aug 2012 16:42:59 -0600 Subject: [PATCH] adding elint top-level Makefile target --- Makefile | 1 + targets.mk | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Makefile b/Makefile index 71e2765..0b9535e 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,7 @@ help helpall:: $(info make compile- build Org ELisp files) $(info make autoloads - create org-install.el to load Org in-place) $(info make check - build Org ELisp files and run test suite) + $(info make elint - perform a static check of ELisp source files) helpall:: $(info make test - ditto) $(info make compile-dirty - build only stale Org ELisp files) diff --git a/targets.mk b/targets.mk index 29b0aa5..7ddaff1 100644 --- a/targets.mk +++ b/targets.mk @@ -80,6 +80,9 @@ compile compile-dirty:: all clean-install:: $(foreach dir, $(SUBDIRS), $(MAKE) -C $(dir) $@;) +elint: + $(MAKE) -b _COMPILE_=slint3 + check test:: compile check test test-dirty:: -$(MKDIR) $(testdir) -- 1.7.11.4 -- Eric Schulte http://cs.unm.edu/~eschulte
[O] [GSoC] Org Merge Driver Update
Hello Everyone, I've been working on a merge driver for org-mode documents over the summer as a Google Summer of Code project. I just wanted to show everyone some progress on the merge driver. There are some new examples you can see at the project page [1][2], and instructions on how to build and use it. the source is available here: git clone git://orgmode.org/org-merge-driver.git I'd really appreciate if anyone could take the merge driver out for a test spin, and come back with any kind of feedback, such as: - file output - customization - the user interface - the merging rules - new features and element specific support - testing - neat ideas, etc. There is only about a week left in GSoC, but I'm planning to continue to develop the merge driver past the end of GSoC. Please take a look, and thanks, Andrew Young [1] project page: http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/ [2] examples: http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/examples.html
Re: [O] Exporting inline code sections
Ken Williams ken.willi...@windlogics.com wrote: The other thing I just noticed was that every time I edit a table.el table with C-c ', two more spaces get inserted to the left of the table when it's reinserted into the org buffer. I tried to find where in the code that's happening (probably in org-edit-src-exit?) but I Yes. couldn't quite see it. C-h v org-src-preserve-indentation RET Nick
Re: [O] [PATCH 07/10] org-taskjuggler: make project umbrella task optional
Yann Hodique yann.hodi...@gmail.com writes: Christian == Christian Egli christian.e...@sbs.ch writes: I'm trying to understand the use case here. If I understand correctly the container headline will no longer unconditionally generate a root task. So you could have multiple root tasks? Does this work in both versions of tj? Yes, basically the use case is the following. [snip] AFAICT it seems to work fine with either tj2 or tj3. OK this clears it up. So basically all the patches are fine from my pov. Thanks again. Christian -- Christian Egli Swiss Library for the Blind, Visually Impaired and Print Disabled Grubenstrasse 12, CH-8045 Zürich, Switzerland