Re: [O] ob-clojure.el is not compatible with new CIDER API

2018-07-29 Thread Tim Cross


No, there is no public repo and I'm not sure I even kept what little I
had done - it was just a hacked elisp file. I'll have a look through my
elisp archive, but don't expect much.

Over the weekend, I caught up on a bit of clojure and things have
progressed in the last few months. I notice the clj tool seems quite
mature and there is now support for clojurescript with it as well. Don't
know if inf-clojure will move (has already moved?) to be based around it
or not?

At any rate, I think you are probably better off starting from scratch
rather than trying to 'adjust' the existing package. There are some
cases where I can see someone wanting cider/slime support, but for the
majority of cases, just plain clojure via inf-clojure or clojure/clj or
one of the many available repl clients should be fairly straight
forward.

The real challenge is in deciding how to handle interaction between
different clojure blocks and their dependencies. The simple solution
would likely be to just start some form of repl session and have all
blocks sent to that session. However, you then need to decide how to
handle matters when someone opens a new org file. You probably don't
want old definitions/artifacts from the previous session in the repl, so
you would need a clean way of managing multiple sessions (one per org
file?).

Apart from that, all you really need is the ability to send a form to
the repl and read back the result. The inf-clojure package already has
most of the infrastructure for doing that, but from memory, it was a
little hard to fit it into the existing structure of ob-clojure.el -
which is why you may be better off just implementing an
ob-inf-clojure.el rather than try to add a 3rd method to the existing
package (which supports cide and the old slime-clojure interfaces).

stardiviner  writes:

> Tim Cross  writes:
>
>> I did begin to look at it. From memory, the inf-clojure integration didn't 
>> look that hard,
>> but it did require some additional scaffolding to mae the comms work well. I 
>> then got
>> distracted with a new job and haven't had time to go back to it. Currently, 
>> I've not had time
>> to do any Clojure work, so it is not high on the priority list.
>>
>
> Can I see your work? Do you have any public source code repository online of 
> this?


-- 
Tim Cross



[O] org-ref, html-export, citation links

2018-07-29 Thread Johannes Brauer
Hi!

I have an older Html-file exported from an org-mode file with org-ref 
citations. All citation links are internal links into the reference section, 
fine! But if I anew export the org-mode file, now, the generated citation links 
are external file links to (not existing) files. For example, cite:Hales2008 is 
exported to "file:///.../Hales2008“.

Any hints?

Johannes




Re: [O] ob-clojure.el is not compatible with new CIDER API

2018-07-29 Thread stardiviner


Tim Cross  writes:

> I did begin to look at it. From memory, the inf-clojure integration didn't 
> look that hard,
> but it did require some additional scaffolding to mae the comms work well. I 
> then got
> distracted with a new job and haven't had time to go back to it. Currently, 
> I've not had time
> to do any Clojure work, so it is not high on the priority list.
>

Can I see your work? Do you have any public source code repository online of 
this?

-- 
[ stardiviner ] don't need to convince with trends.
   Blog: https://stardiviner.github.io/
   IRC(freenode): stardiviner
   GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
  



[O] ob-lilypond and 'Symbol’s function definition is void: org-babel-get-header'

2018-07-29 Thread Henrik Frisk
Hi,

I have been trying out ob-lilypond and it works really well, except for the
arrange mode. Any attempt to run ly-tangle results in 'Symbol’s function
definition is void: org-babel-get-header' and so does an attempt to export
a file, such as the example file, in basic mode to html for instance.

I was thinking it was related to sh/shell since this appears to be a common
issue with regard to this error, but the ob-lilypond does not appear to use
any reference to sh (the doc for ob-lilypond does). I also tried to load
ob-core as was suggested in some post but that didn't work either.

Other tangle other languages works fine.

Any suggestions?

/H


Re: [O] Feature request: Maintaining multiple init files with one org file

2018-07-29 Thread Sven Bretfeld
Hi Armin

That's an interesting approach. I didn't think about giving arguments to
the :tangle operator. This is basically what I was looking for. Just a
bit more to write to each relevant source block. I will give it a try.

Sven


Amin Bandali writes:

> Hello,
>
> Indeed, a tag-based solution (e.g. with :office:, :home:, etc)
> would be great; but what I do right now looks something like
> this:
>
> ,
> | #+property: header-args :tangle ~/.emacs
> |
> | * Default Frame
> |
> | ** All computers
> | #+begin_src emacs-lisp
> | (defvar myvar "testing")
> | #+end_src
> |
> | ** Office Computer
> | #+begin_src emacs-lisp :tangle (when (string= (system-name) "officepc") 
> "~/.emacs")
> | (setq default-frame-alist '(
> |   (font . "-PfEd-DejaVu Sans 
> Mono-normal-normal-normal-*-26-*-*-*-m-0-iso10646-1")
> |   (width . 102)
> |   (height . 41))
> | #+end_src
> |
> | ** Laptop
> | #+begin_src emacs-lisp :tangle (when (string= (system-name) "mylaptop") 
> "~/.emacs")
> | (setq default-frame-alist '(
> |   (font . "-PfEd-DejaVu Sans 
> Mono-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1")
> |   (width . 80)
> |   (height . 30))
> | #+end_src
> |
> | ** More stuff for all computers
> |
> | #+begin_src emacs-lisp
> | (message myvar)
> | #+end_src
> `
>
> In other words, I use `when' and `string=' (from subr.el) and
> `system-name' to check the hostname.  If it matches what I want,
> I return the "~/.emacs" filename, nil otherwise.  Alternatively,
> you could probably use `if' and return "no" when it doesn't
> match, but :tangle nil seems to work just fine so I went with
> `when'.
>
> Hope that helps.
>
> Best,
>
> -amin




Re: [O] Feature request: Maintaining multiple init files with one org file

2018-07-29 Thread Sven Bretfeld
Hi

Thanks for the answer.

Tim Cross writes:

> As your emacs init file is really just a lisp program, it is relatively
> easy to implement multiple environment support within the file itself,
> which is what I do. At the start of my init file, I just have some elisp
> which sets variables representing the platform (linux or mac), the
> hostname (I have both a linux and mac box at home and work) and the
> profile (home/work). Then it is just if/cond/when conditionals where
> needed. I use org to store the file mainly for documentation purposes
> and will have the same file on all platforms. The advantage is that it
> is the same file on all platforms, the disadvantage is that it is larger
> and probably more complex than it would be if you tangled different
> files per system.

This is pretty much how I do it at the moment. Complexity is indeed the
problem here. I have Emacs also running on an Android tablet under
Termux. This one needs quite a lot of adjustments to the init
file. Already the paths to the org files and to some non-elpa/melpa
packages are different. Other packages are not available on Termux
(e.g. aspell) or not meaningful at all (X-related stuff, mu4e
etc.). Having the same init file here as on the other computers, would
easily end up in a mess of IFs and WHENs (and probably slow down the
start process on Android).

At the moment I have a separate .emacs for the tablet and have to
remember changing this file, for ex. whenever I include a new file in
the org-agenda-files list. This could be much more tidy with an org
approach.

> For me this is just 6 of one and half a dozen of the other. YMMV. I do
> find there are some things best set/managed via Emacs' custom facility,
> so the most useful bit in my init file is the bit which loads different
> custom files based on the platform. I don't bother keeping the custom
> files in git, so they stay local to each system. I find using custom to
> manage face and font settings particularly convenient over managing them
> by hand in my init file.

I'm trying to use customize as little as possible, since AFAIK there is
no way to let customize use an org file instead of a "real" init file.

Sven