Re: [O] Some Experiences with org-babel-load-file
Florian Beck f...@miszellen.de writes: On 12/11/2012 03:52 PM, Eric Schulte wrote: Please go ahead and update the information on worg. Note that Emacs24 users need only do (require 'org) (org-babel-load-file /path/to/your/org-init-file.org) while users of lesser Emacs will have to load a new version of Org-mode before calling org-babel-load-file. Sorry, I have no idea how to update worg. Don't worry, worg can tell you. http://orgmode.org/worg/#sec-4 compiled and un-compiled code. If this does pose a problem for you, perhaps an optional extra argument to be added to org-babel-load-file to enable compilation. Yes, this would do nicely. Done. Great idea. I don't have time to work on this right now, but it is definitely on my stack. I suppose this should be the default behavior for all tangled files (not just those written by org-babel-load-file). Yes. Perhaps also include a comment that the file was tangled from an org-file plus the path to that file. Done, the chmod value should probably be made customizable through a new header argument at some point. As for a tangled from X comment, I'd rather not add extra comments to the code file by default, however there already exists a tangle option which may fill this need [1]. Cheers, Footnotes: [1] http://orgmode.org/manual/comments.html -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] Some Experiences with org-babel-load-file
Florian Beck f...@miszellen.de writes: 1. `org-babel-load-file' doesn't seem to be in the org docu. The instructions on worg are obsolete (mentions `org-install') and needlessly complicated. Just putting (package-initialize) ;; only if you use the newest org ... and the newest emacs! (require 'ob-tangle) (org-babel-load-file /path/to/your/org-init-file.org) into your .emacs (no need for .emacs.d/init.el) seems to suffice. This is one way to do it, not necessarily the only way. I don't think a 4 line init.el is that complicated ;). 4. When I babel-load my-package.org, all emacs sees is the tangled my-package.el, which of course is right. The problem, however, is that I often search for one of my functions, change it … and loose the changes the next time I start emacs (I already got zapped a couple of times). Integrating org-tangle with the emacs documentation would be tough I guess. But how about setting a read-only file locale variable to block the most stupid mistakes? How do you change your functions? If I want to do it, I tinker with them directly in my emacs.org and evaluate from there or copy the relevant bits to the *scratch* buffer and bring them back to emacs.org once it works. If the file changed, the el file gets tangled fresh automatically next time I start emacs and used right away. I don't really see a problem? Memnon
Re: [O] Some Experiences with org-babel-load-file
Florian Beck f...@miszellen.de writes: Hello! As an experiment, I moved my .emacs and all my personal packages into an org-file and now load it with 'org-babel-load-file. This works fine enough: the source code blocks can handle several thousand lines of code (for later splitting) without any quirks, tough editing in the org-file sure gets slow. A couple of observations: 1. `org-babel-load-file' doesn't seem to be in the org docu. The instructions on worg are obsolete (mentions `org-install') and needlessly complicated. Just putting (package-initialize) ;; only if you use the newest org (require 'ob-tangle) (org-babel-load-file /path/to/your/org-init-file.org) into your .emacs (no need for .emacs.d/init.el) seems to suffice. Please go ahead and update the information on worg. Note that Emacs24 users need only do (require 'org) (org-babel-load-file /path/to/your/org-init-file.org) while users of lesser Emacs will have to load a new version of Org-mode before calling org-babel-load-file. 2. Unless you are only setting variables, you want your functions to be byte-compiled. I modified `org-babel-load-file' to do that. Any reason not to? I disagree, I don't find a noticeable performance difference between compiled and un-compiled code. If this does pose a problem for you, perhaps an optional extra argument to be added to org-babel-load-file to enable compilation. 3. While it saves some keystrokes not to have to write tangle: yes, it seems to be at odds with `org-tangle-file (though it does respect tangle: no). The `org-babel-load-file' function calls `org-tangle-file' so they are definitely working in concert. When a target file is passed to `org-tangle-file' then that is used as the value of the :tangle header argument, so the default behavior is to tangle. 4. When I babel-load my-package.org, all emacs sees is the tangled my-package.el, which of course is right. The problem, however, is that I often search for one of my functions, change it … and loose the changes the next time I start emacs (I already got zapped a couple of times). Integrating org-tangle with the emacs documentation would be tough I guess. But how about setting a read-only file locale variable to block the most stupid mistakes? Great idea. I don't have time to work on this right now, but it is definitely on my stack. I suppose this should be the default behavior for all tangled files (not just those written by org-babel-load-file). Thanks, Overall, very nice. Thank you. -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] Some Experiences with org-babel-load-file
On 12/11/2012 03:52 PM, Eric Schulte wrote: Please go ahead and update the information on worg. Note that Emacs24 users need only do (require 'org) (org-babel-load-file /path/to/your/org-init-file.org) while users of lesser Emacs will have to load a new version of Org-mode before calling org-babel-load-file. Sorry, I have no idea how to update worg. compiled and un-compiled code. If this does pose a problem for you, perhaps an optional extra argument to be added to org-babel-load-file to enable compilation. Yes, this would do nicely. The `org-babel-load-file' function calls `org-tangle-file' so they are definitely working in concert. When a target file is passed to `org-tangle-file' then that is used as the value of the :tangle header argument, so the default behavior is to tangle. Ok, that makes sense. Great idea. I don't have time to work on this right now, but it is definitely on my stack. I suppose this should be the default behavior for all tangled files (not just those written by org-babel-load-file). Yes. Perhaps also include a comment that the file was tangled from an org-file plus the path to that file.
[O] Some Experiences with org-babel-load-file
Hello! As an experiment, I moved my .emacs and all my personal packages into an org-file and now load it with 'org-babel-load-file. This works fine enough: the source code blocks can handle several thousand lines of code (for later splitting) without any quirks, tough editing in the org-file sure gets slow. A couple of observations: 1. `org-babel-load-file' doesn't seem to be in the org docu. The instructions on worg are obsolete (mentions `org-install') and needlessly complicated. Just putting (package-initialize) ;; only if you use the newest org (require 'ob-tangle) (org-babel-load-file /path/to/your/org-init-file.org) into your .emacs (no need for .emacs.d/init.el) seems to suffice. 2. Unless you are only setting variables, you want your functions to be byte-compiled. I modified `org-babel-load-file' to do that. Any reason not to? 3. While it saves some keystrokes not to have to write tangle: yes, it seems to be at odds with `org-tangle-file (though it does respect tangle: no). 4. When I babel-load my-package.org, all emacs sees is the tangled my-package.el, which of course is right. The problem, however, is that I often search for one of my functions, change it … and loose the changes the next time I start emacs (I already got zapped a couple of times). Integrating org-tangle with the emacs documentation would be tough I guess. But how about setting a read-only file locale variable to block the most stupid mistakes? Overall, very nice. Thank you. -- Florian Beck