Re: [O] Org Build System (aka Makefile)

2012-08-13 Thread Achim Gratz
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

2012-08-13 Thread Neuwirth Erich
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

2012-08-13 Thread Bastien
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)

2012-08-13 Thread Bastien
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

2012-08-13 Thread Sebastien Vauban
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

2012-08-13 Thread Aurélien Aptel
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?

2012-08-13 Thread 'Mash

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)

2012-08-13 Thread Achim Gratz
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

2012-08-13 Thread Christopher Allan Webber
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)

2012-08-13 Thread Bastien
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)

2012-08-13 Thread Eric Schulte
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

2012-08-13 Thread Eric Schulte
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)

2012-08-13 Thread Bastien
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

2012-08-13 Thread Bastien
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)

2012-08-13 Thread Achim Gratz
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

2012-08-13 Thread Eric Schulte
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

2012-08-13 Thread Bastien
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

2012-08-13 Thread Nick Dokos
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)

2012-08-13 Thread Bastien
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

2012-08-13 Thread Bastien
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

2012-08-13 Thread Nicolas Goaziou
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

2012-08-13 Thread Nick Dokos
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

2012-08-13 Thread Simon Brown
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

2012-08-13 Thread Christopher J. White


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.

2012-08-13 Thread Matthew Oesting
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

2012-08-13 Thread Martin Pohlack
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

2012-08-13 Thread Jambunathan K

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

2012-08-13 Thread Bastien
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)

2012-08-13 Thread Achim Gratz
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

2012-08-13 Thread Bastien
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

2012-08-13 Thread Bastien
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.

2012-08-13 Thread Andrew Young
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)

2012-08-13 Thread Achim Gratz
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)

2012-08-13 Thread Achim Gratz
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

2012-08-13 Thread Ken Williams
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

2012-08-13 Thread joakim
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

2012-08-13 Thread Ken Williams


 -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

2012-08-13 Thread Karl Voit
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

2012-08-13 Thread Bastien
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

2012-08-13 Thread Bastien
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.

2012-08-13 Thread Matthew Oesting
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

2012-08-13 Thread Ken Williams


 -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?)

2012-08-13 Thread Karl Voit
* 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

2012-08-13 Thread Nick Dokos
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

2012-08-13 Thread Eric Schulte
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

2012-08-13 Thread Eric Schulte
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

2012-08-13 Thread Karl Voit
* 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)

2012-08-13 Thread Eric Schulte
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

2012-08-13 Thread Andrew Young
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

2012-08-13 Thread Nick Dokos
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

2012-08-13 Thread Christian Egli
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