Re: [O] Lentic.0.6 and org mode

2015-01-16 Thread Alan Schmitt
On 2015-01-15 22:28, phillip.l...@newcastle.ac.uk (Phillip Lord) writes:

 So, local variables comes *after* the ends here line. Currently, the
 ends here line needs to be *inside* a source block, so you would have...

 ;; #+begin_src emacs-lisp
 (message foo)
 ;; #+end_src

 ;; #+begin_src emacs-lisp
 (provide 'lentic_test)
 ;;; lentic_test.el ends here
 ;; #+end_src


 ;; # Local Variables:
 ;; # lentic-init: lentic-orgel-org-init
 ;; # End:

I gave this a try and it works well.

 Can I ask, why do you want to kill the buffer? Why not just bury it?

Because otherwise I get this the next time I start lentic for the same
file:

A buffer is visiting /Users/schmitta/tmp/lentic_test.org; proceed? (y or n) y

and I get yet another buffer.

Thanks,

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


signature.asc
Description: PGP signature


Re: [O] Lentic.0.6 and org mode

2015-01-16 Thread Phillip Lord
Alan Schmitt alan.schm...@polytechnique.org writes:

 I gave this a try and it works well.

 Can I ask, why do you want to kill the buffer? Why not just bury it?

 Because otherwise I get this the next time I start lentic for the same
 file:

 A buffer is visiting /Users/schmitta/tmp/lentic_test.org; proceed? (y or n) y

 and I get yet another buffer.


Oh, yeah, that. This needs fixing. In general you don't need to create a
new buffer, just do `lentic-mode-move-lentic-window' (C-c,h or here in
the menu item) or `lentic-mode-swap-lentic-windows' (C-c,s and supposed
to be in the menu, but I've just found it's bugged!). Personally, I do
   
(define-key lentic-mode-map [f1]
'lentic-mode-move-lentic-window)

which lets me switch backward and forward in the same window very quickly.

I will probably remove create at some point -- here and swap
should just create if necessary.

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-16 Thread Thierry Banel
Le 15/01/2015 23:41, Phillip Lord a écrit :
 Thierry Banel tbanelweb...@free.fr writes:

 Le 15/01/2015 17:11, Phillip Lord a écrit :
 One possibility, not as good as info, but quite easy, is given by
 GitHub. Replace your current README.md with a README.org, in org-mode
 syntax.
 Why this replacement? md or org should both work right? Or am I missing
 something?

You are not missing anything. MD or ORG do the job. It is just that your
public is made of Emacs users, and Org-mode users. So ORG sounds
familiar. GitHub renders pretty well ORG documents. And maybe someday
there will be converters from ORG to INFO.

 Then tell Melpa that the Lentic home page is
 https://github.com/phillord/lentic.
 I think it already has this.

Yes, you are right, there is a homepage button in
http://melpa.org/#/lentic





Re: [O] Lentic.0.6 and org mode

2015-01-16 Thread Thomas S. Dye
Thierry Banel tbanelweb...@free.fr writes:

 You are not missing anything. MD or ORG do the job. It is just that your
 public is made of Emacs users, and Org-mode users. So ORG sounds
 familiar. GitHub renders pretty well ORG documents. And maybe someday
 there will be converters from ORG to INFO.

Does INFO refer to the output of texinfo? If so, then there is already a
path from ORG to INFO.  Jonathan Leech-Pepin has contributed a really
nice texinfo exporter to the Org mode core, ox-texinfo.el.

hth,
Tom

-- 
Thomas S. Dye
http://www.tsdye.com



Re: [O] Lentic.0.6 and org mode

2015-01-16 Thread Phillip Lord
Thomas S. Dye t...@tsdye.com writes:

 Thierry Banel tbanelweb...@free.fr writes:

 You are not missing anything. MD or ORG do the job. It is just that your
 public is made of Emacs users, and Org-mode users. So ORG sounds
 familiar. GitHub renders pretty well ORG documents. And maybe someday
 there will be converters from ORG to INFO.

 Does INFO refer to the output of texinfo? If so, then there is already a
 path from ORG to INFO.  Jonathan Leech-Pepin has contributed a really
 nice texinfo exporter to the Org mode core, ox-texinfo.el.


Yeah. And indeed, lentic.el produces a reasonable .info via my own
lentic conversion, to org, to texinfo to info!.

The problem with MELPA specifically is that there is no way to run the
first two of these steps. They might be willing to add an org-texinfo
conversion.

https://github.com/milkypostman/melpa/issues/2251

It doubt that they are going to add support for lentic to convert
itself, though, at least not till all Emacs packages use it (I have
delusions of grandeur).

I'll talk with the melpa folks to see if anything can be done. Failing
that, I'll generate out the documentation, and stick it on a URL
somewhere.

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-15 Thread Phillip Lord
Alan Schmitt alan.schm...@polytechnique.org writes:

 On 2015-01-09 19:18, phillip.l...@newcastle.ac.uk (Phillip Lord) writes:

 I've used a similar configuration
 
 #+begin_src emacs-lisp
 (add-hook 'emacs-lisp-mode-hook (lambda () (setq lentic-init 
 'lentic-orgel-org-init)))
 #+end_src

 Personally, I wouldn't do that! At the moment, my transformation doesn't
 work nicely for all el files. At a minimum, you need code markers at the
 before the first line of lisp and the after the last.

 Otherwise, all the code gets treated by org as text; if you run, say,
 fill-paragraph in the org-mode lentic view then it will do bad things 
 when all the code gets refilled.

 What are those markers? The #+begin_src one?

Sorry for the delay in replying.

Yep -- lentic is using the org-mode delimiters.


 Would you recommend using file-local variables for lentic files?

This works well. There is a function `lentic-mode-insert-file-local'
which helps with this. I am generally moving toward dir-locals though,
as this is less typing and generally easier.


 I gave it a try with this file:



 and it work well, with the exception of the file local variables that
 remain as text.

You have to double comment the file-local like so:

;; # Local Variables:
;; # lentic-init: lentic-orgel-org-init
;; # End:

Then it is commented in both forms.



 If your example is complete, I think it's because your code markers are
 unbalanced. Look in the *lentic-log* buffer and you should see lots of
 delimiters do not match. Put a ;; #+end_src in place and it should
 fix itself.

 This was not a full example, so there was the end marker. But as there
 is a lot of code below it as well (without markers), this may be the
 issue. The small example above works well.

Good. If you find any examples which fail, I'd be happy to look.



 This should probably be smoothed over in the user interface. I could
 tell the user when the lentic buffer is created. You've also uncovered a
 bug -- when the delimiters do not match, it's should be doing the safest
 transformation of all which is a direct copy; so the * Code line
 should have been left alone also.

 By the way, what is the correct way of exiting lentic mode? For the
 moment I kill the buffer and the window, but it would be nice to have
 a function that exits lentic.

At the moment, killing one or the other lentic buffers does the job.
Lentic checks for the killed buffer and all should be good. An exit
lentic command might be nice, indeed. It could close all lentic buffers
except the first (currently lentic only supports one buffer, but
eventually it should support many). But killing the buffer works fine
also.

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-15 Thread Alan Schmitt
On 2015-01-15 15:54, phillip.l...@newcastle.ac.uk (Phillip Lord) writes:

 Good. If you find any examples which fail, I'd be happy to look.

It's not really failing, but I don't know how to put the end of file
markers so that lentic likes it. For instance:

--8---cut here---start-8---
;;; lentic_test --- testing it

;;; Commentary:

;; this is a test

;;; Code:

;; a comment

;; ** a subsection

;; #+begin_src emacs-lisp
(message foo)
;; #+end_src

;; #+begin_src emacs-lisp
(provide 'lentic_test)
;; #+end_src

;; # Local Variables:
;; # lentic-init: lentic-orgel-org-init
;; # End:

;;; lentic_test.el ends here
--8---cut here---end---8---

The last line is not nicely typeset.

 By the way, what is the correct way of exiting lentic mode? For the
 moment I kill the buffer and the window, but it would be nice to have
 a function that exits lentic.

 At the moment, killing one or the other lentic buffers does the job.
 Lentic checks for the killed buffer and all should be good. An exit
 lentic command might be nice, indeed. It could close all lentic buffers
 except the first (currently lentic only supports one buffer, but
 eventually it should support many). But killing the buffer works fine
 also.

Right now it's a three steps process:
- kill the buffer
- confirm the kill as it's modified (the org buffer)
- close the window

This is why I think a lentic-exit command would be great.

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


signature.asc
Description: PGP signature


Re: [O] Lentic.0.6 and org mode

2015-01-15 Thread Phillip Lord

joa...@verona.se writes:

 Thierry Banel tbanelweb...@free.fr writes:

 Nice!

 I also tried it and found it really interesting!

Thank you.



 I spent some time figuring out how to use it.

 This is what I did eventually:
   M-xlentic-mode
   M-xlentic-mode   ;; twice
   M-x lentic-mode-split-window-below
 Then change the new buffer to the desired mode (Java mode, C++ mode,
 whatever).
 (I was created in fundamental mode).

 Is this the standard way to use it?

 I also scratched my head before figuring anything out.

 I installed from Melpa, and the Melpa Lentic comes with 0 docs, which is sad.

What sort of docs are you looking for? Info?

 Then I cloned the github repo, and tried the examples, and got a bit
 more enlightened.

 To summarize, it would be nice if Lentic came with some form of docs in
 the Melpa repo. 

Of course, even when installed from Melpa it is self-documenting in the
sense that the source files are full of documentation. The lentic-org.el
file contains a description of how to convert an existing file from
being an normal el file to an orgel file (which is the name I have
given to an el file that converts cleanly to an org file with lentic).

I could translate these to info (via org-mode and texinfo). But melpa
presents a challenge here, since it works on the source only, and I need
to generate the texinfo from the source, at least as far as I know. So,
unless, I can get MELPA to run arbitrary lisp during build, I do not
know how this would work. Or I could denormalise my git repo and
put the generated files in there; not ideal.


 Or, why not install it en Elpa?

It depends on dash.el which is not on ELPA. It's not that dependent on
dash, though, so I could write dash.el out if I really needed to, but I
am hoping that dash gets into ELPA before I reach 1.0.


 BTW my interest in Lentic comes from that I recently started using
 Litterate programming for my emacs init file (which works very well)
 and also for some clojure/overtone code, where the literate paradigm is
 pretty useful (because overtone is a music live coding environment)

This was fairly similar to my driving use case, to be honest, where I am
combining a Clojure based ontology development environment with
documentation. I mentioned it to Sam Aaron last time I saw him, as I
think he uses org-mode performance notes. I can't remember whether I had
org-mode integration at that point, and it was slower then. I should
ping him again.

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-15 Thread Phillip Lord
Thierry Banel tbanelweb...@free.fr writes:

 Le 15/01/2015 17:11, Phillip Lord a écrit :
 I spent some time figuring out how to use it.
 Of course, even when installed from Melpa it is self-documenting in the
 sense that the source files are full of documentation. The lentic-org.el
 file contains a description of how to convert an existing file from
 being an normal el file to an orgel file (which is the name I have
 given to an el file that converts cleanly to an org file with lentic).

 I could translate these to info (via org-mode and texinfo). But melpa
 presents a challenge here, since it works on the source only, and I need
 to generate the texinfo from the source, at least as far as I know. So,
 unless, I can get MELPA to run arbitrary lisp during build, I do not
 know how this would work. Or I could denormalise my git repo and
 put the generated files in there; not ideal.



 One possibility, not as good as info, but quite easy, is given by
 GitHub. Replace your current README.md with a README.org, in org-mode
 syntax.

Why this replacement? md or org should both work right? Or am I missing
something?

 Then tell Melpa that the Lentic home page is
 https://github.com/phillord/lentic.

I think it already has this.

 And begin this documentation with a quick start chapter.

I'm trying to avoid putting too much in README because it is already
documented in lentic and the other sources -- although, its clearly not
easy for people to find these.

For the next version, I will write some local tools to generate HTML
from source. Then I can expand the README to just point to those. And,
yes, an easy to find quick-start chapter would be good.

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-15 Thread Phillip Lord
Alan Schmitt alan.schm...@polytechnique.org writes:

 On 2015-01-15 15:54, phillip.l...@newcastle.ac.uk (Phillip Lord) writes:

 Good. If you find any examples which fail, I'd be happy to look.

 It's not really failing, but I don't know how to put the end of file
 markers so that lentic likes it. For instance:

 ;; #+begin_src emacs-lisp
 (message foo)
 ;; #+end_src

 ;; #+begin_src emacs-lisp
 (provide 'lentic_test)
 ;; #+end_src

 ;; # Local Variables:
 ;; # lentic-init: lentic-orgel-org-init
 ;; # End:

 ;;; lentic_test.el ends here


 The last line is not nicely typeset.

So, local variables comes *after* the ends here line. Currently, the
ends here line needs to be *inside* a source block, so you would have...



;; #+begin_src emacs-lisp
(message foo)
;; #+end_src

;; #+begin_src emacs-lisp
(provide 'lentic_test)
;;; lentic_test.el ends here
;; #+end_src


;; # Local Variables:
;; # lentic-init: lentic-orgel-org-init
;; # End:



I am debating the last bit. I could treat the last line specially, as I
do the first, so it would end up as

# # lentic_test.el ends here

in the org-mode version. But then it would not appear in the any
org-mode output when perhaps it should.

 At the moment, killing one or the other lentic buffers does the job.
 Lentic checks for the killed buffer and all should be good. An exit
 lentic command might be nice, indeed. It could close all lentic buffers
 except the first (currently lentic only supports one buffer, but
 eventually it should support many). But killing the buffer works fine
 also.

 Right now it's a three steps process:
 - kill the buffer
 - confirm the kill as it's modified (the org buffer)
 - close the window

 This is why I think a lentic-exit command would be great.

Ah, okay. Currently, the save-buffer command in the org lentic view
should also save the .el version (I have the two hooked together). I was
thinking of adding two new features -- an auto-delete capability, so
that the file associated with the org-mode version is deleted when the
buffer is closed (or Emacs exists). This is to stop leaving lots of org
files around the place.

The process would then be

- save-buffer
- kill-buffer

I could also modify kill-buffer so that iff auto-delete is set, the
modification will not trigger save requests.

Can I ask, why do you want to kill the buffer? Why not just bury it?

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-15 Thread Thierry Banel
Le 15/01/2015 17:11, Phillip Lord a écrit :
 I spent some time figuring out how to use it.

 This is what I did eventually:
   M-xlentic-mode
   M-xlentic-mode   ;; twice
   M-x lentic-mode-split-window-below
 Then change the new buffer to the desired mode (Java mode, C++ mode,
 whatever).
 (I was created in fundamental mode).

 Is this the standard way to use it?
 I also scratched my head before figuring anything out.

 I installed from Melpa, and the Melpa Lentic comes with 0 docs, which is sad.
 What sort of docs are you looking for? Info?


 Of course, even when installed from Melpa it is self-documenting in the
 sense that the source files are full of documentation. The lentic-org.el
 file contains a description of how to convert an existing file from
 being an normal el file to an orgel file (which is the name I have
 given to an el file that converts cleanly to an org file with lentic).

 I could translate these to info (via org-mode and texinfo). But melpa
 presents a challenge here, since it works on the source only, and I need
 to generate the texinfo from the source, at least as far as I know. So,
 unless, I can get MELPA to run arbitrary lisp during build, I do not
 know how this would work. Or I could denormalise my git repo and
 put the generated files in there; not ideal.



One possibility, not as good as info, but quite easy, is given by
GitHub. Replace your current README.md with a README.org, in org-mode
syntax. Then tell Melpa that the Lentic home page is
https://github.com/phillord/lentic. And begin this documentation with a
quick start chapter.

Thierry






Re: [O] Lentic.0.6 and org mode

2015-01-11 Thread joakim
Thierry Banel tbanelweb...@free.fr writes:

 Nice!

I also tried it and found it really interesting!


 I spent some time figuring out how to use it.

 This is what I did eventually:
   M-xlentic-mode
   M-xlentic-mode   ;; twice
   M-x lentic-mode-split-window-below
 Then change the new buffer to the desired mode (Java mode, C++ mode,
 whatever).
 (I was created in fundamental mode).

 Is this the standard way to use it?

I also scratched my head before figuring anything out.

I installed from Melpa, and the Melpa Lentic comes with 0 docs, which is sad.

Then I cloned the github repo, and tried the examples, and got a bit
more enlightened.

To summarize, it would be nice if Lentic came with some form of docs in
the Melpa repo. Or, why not install it en Elpa?

BTW my interest in Lentic comes from that I recently started using
Litterate programming for my emacs init file (which works very well)
and also for some clojure/overtone code, where the literate paradigm is
pretty useful (because overtone is a music live coding environment)




 Thierry


 Le 08/01/2015 14:55, Phillip Lord a écrit :
 I thought some of you might be interested in the new release of my
 package, lentic. One of the things that it now does is allow
 multi-modal of editing of Emacs source, using org mode for the
 documentation. I realise that it's already possible to use ELPA
 org-babel to write literate el files, or to use outorg.el, but lentic
 provides a different form of interaction. You can edit the org form or
 the emacs-lisp form as you choose. The source code of lentic is, itself,
 written in this way. There is a screen cast linked below which shows
 what the interaction looks like.

 Available on MELPA-stable, MELPA and Marmalade
 https://github.com/phillord/lentic http://www.russet.org.uk/blog/3035 
 https://vimeo.com/116078853





-- 
Joakim Verona




Re: [O] Lentic.0.6 and org mode

2015-01-10 Thread Alan Schmitt
On 2015-01-09 19:18, phillip.l...@newcastle.ac.uk (Phillip Lord) writes:

 I've used a similar configuration
 
 #+begin_src emacs-lisp
 (add-hook 'emacs-lisp-mode-hook (lambda () (setq lentic-init 
 'lentic-orgel-org-init)))
 #+end_src

 Personally, I wouldn't do that! At the moment, my transformation doesn't
 work nicely for all el files. At a minimum, you need code markers at the
 before the first line of lisp and the after the last.

 Otherwise, all the code gets treated by org as text; if you run, say,
 fill-paragraph in the org-mode lentic view then it will do bad things 
 when all the code gets refilled.

What are those markers? The #+begin_src one?

Would you recommend using file-local variables for lentic files?

I gave it a try with this file:



lentic_test.el
Description: application/emacs-lisp

and it work well, with the exception of the file local variables that
remain as text.

 but it's not as nice as in the demo. For instance, the following:
 
 #+begin_src emacs-lisp
 ;;; Code:
 
 ;; ** Startup
 
 ;; #+begin_src emacs-lisp
 
 ;; Turn off mouse interface early in startup to avoid momentary display
 
 (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
 (if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
 #+end_src
 
 becomes
 
 #+begin_src org
 * Code
 
 ;; ** Startup
 
 ;; #+begin_src emacs-lisp
 
 ;; Turn off mouse interface early in startup to avoid momentary display
 
 (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
 (if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
 #+end_src
 
 Why the Startup is not promoted at the org level?

 If your example is complete, I think it's because your code markers are
 unbalanced. Look in the *lentic-log* buffer and you should see lots of
 delimiters do not match. Put a ;; #+end_src in place and it should
 fix itself.

This was not a full example, so there was the end marker. But as there
is a lot of code below it as well (without markers), this may be the
issue. The small example above works well.

 This should probably be smoothed over in the user interface. I could
 tell the user when the lentic buffer is created. You've also uncovered a
 bug -- when the delimiters do not match, it's should be doing the safest
 transformation of all which is a direct copy; so the * Code line
 should have been left alone also.

By the way, what is the correct way of exiting lentic mode? For the
moment I kill the buffer and the window, but it would be nice to have
a function that exits lentic.

Thanks,

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


signature.asc
Description: PGP signature


Re: [O] Lentic.0.6 and org mode

2015-01-09 Thread Alan Schmitt
On 2015-01-09 17:12, phillip.l...@newcastle.ac.uk (Phillip Lord) writes:

 It's configurable, though. By default, the two windows share the same
 text (which is nearly the same behaviour as indirect buffers). But they
 can also be different (but related). I use a file or dir-local variable
 for this. So, the lentic source code uses:

 ((emacs-lisp-mode
   .
   ((lentic-init . lentic-orgel-org-init)
(eval . (require 'm-buffer-macro)

I've used a similar configuration

#+begin_src emacs-lisp
(add-hook 'emacs-lisp-mode-hook (lambda () (setq lentic-init 
'lentic-orgel-org-init)))
#+end_src

but it's not as nice as in the demo. For instance, the following:

#+begin_src emacs-lisp
;;; Code:

;; ** Startup

;; #+begin_src emacs-lisp

;; Turn off mouse interface early in startup to avoid momentary display

(if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
#+end_src

becomes

#+begin_src org
* Code

;; ** Startup

;; #+begin_src emacs-lisp

;; Turn off mouse interface early in startup to avoid momentary display

(if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
#+end_src

Why the Startup is not promoted at the org level?

Thanks,

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


signature.asc
Description: PGP signature


Re: [O] Lentic.0.6 and org mode

2015-01-09 Thread Phillip Lord


I normally do

(global-lentic-start-mode)

which just adds some keybindings for you.

Then, do one of

lentic-mode-create-in-selected-window, (C-c,h)
lentic-mode-split-window-below, (C-c,b)
lentic-mode-split-window-right (C-c,r)

Or there are menu items which does the same.

All of these create the lentic view, and put in a window as you might
guess. By default, it does indeed come up in fundamental mode (probably
that's not sensible, and I should set it to the same mode as the
starting buffer.

It's configurable, though. By default, the two windows share the same
text (which is nearly the same behaviour as indirect buffers). But they
can also be different (but related). I use a file or dir-local variable
for this. So, the lentic source code uses:

((emacs-lisp-mode
  .
  ((lentic-init . lentic-orgel-org-init)
   (eval . (require 'm-buffer-macro)

This gives the behaviour shown in this screen cast.

https://vimeo.com/116078853

The eval thing is just to make sure some macros are loaded, so that that
they indent properly, which is an orthogonal issue.

None of this is org or Emacs-lisp specific. I just added that because I
could, and it wasn't that much effort (okay, so it was more effort than
I expected, but there you go). I wrote it in the first place for Clojure
and asciidoc, but am actually using it with clojure and latex.

Phil


 Nice!
 
 I spent some time figuring out how to use it.
 
 This is what I did eventually:
   M-xlentic-mode
   M-xlentic-mode   ;; twice
   M-x lentic-mode-split-window-below
 Then change the new buffer to the desired mode (Java mode, C++ mode,
 whatever).
 (I was created in fundamental mode).
 
 Is this the standard way to use it?
 
 Thierry

 Le 08/01/2015 14:55, Phillip Lord a écrit :
  I thought some of you might be interested in the new release of my
  package, lentic. One of the things that it now does is allow
  multi-modal of editing of Emacs source, using org mode for the
  documentation. I realise that it's already possible to use ELPA
  org-babel to write literate el files, or to use outorg.el, but lentic
  provides a different form of interaction. You can edit the org form or
  the emacs-lisp form as you choose. The source code of lentic is, itself,
  written in this way. There is a screen cast linked below which shows
  what the interaction looks like.
 
  Available on MELPA-stable, MELPA and Marmalade
  https://github.com/phillord/lentic
  http://www.russet.org.uk/blog/3035
  https://vimeo.com/116078853
 
 




Re: [O] Lentic.0.6 and org mode

2015-01-09 Thread Phillip Lord
 On 2015-01-09 17:12, address@hidden (Phillip Lord) writes:
 
  It's configurable, though. By default, the two windows share the same
  text (which is nearly the same behaviour as indirect buffers). But they
  can also be different (but related). I use a file or dir-local variable
  for this. So, the lentic source code uses:
 
  ((emacs-lisp-mode
.
((lentic-init . lentic-orgel-org-init)
 (eval . (require 'm-buffer-macro)
 
 I've used a similar configuration
 
 #+begin_src emacs-lisp
 (add-hook 'emacs-lisp-mode-hook (lambda () (setq lentic-init 
 'lentic-orgel-org-init)))
 #+end_src

Personally, I wouldn't do that! At the moment, my transformation doesn't
work nicely for all el files. At a minimum, you need code markers at the
before the first line of lisp and the after the last.

Otherwise, all the code gets treated by org as text; if you run, say,
fill-paragraph in the org-mode lentic view then it will do bad things 
when all the code gets refilled.


 
 but it's not as nice as in the demo. For instance, the following:
 
 #+begin_src emacs-lisp
 ;;; Code:
 
 ;; ** Startup
 
 ;; #+begin_src emacs-lisp
 
 ;; Turn off mouse interface early in startup to avoid momentary display
 
 (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
 (if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
 #+end_src
 
 becomes
 
 #+begin_src org
 * Code
 
 ;; ** Startup
 
 ;; #+begin_src emacs-lisp
 
 ;; Turn off mouse interface early in startup to avoid momentary display
 
 (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
 (if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
 #+end_src
 
 Why the Startup is not promoted at the org level?

If your example is complete, I think it's because your code markers are
unbalanced. Look in the *lentic-log* buffer and you should see lots of
delimiters do not match. Put a ;; #+end_src in place and it should
fix itself.

This should probably be smoothed over in the user interface. I could
tell the user when the lentic buffer is created. You've also uncovered a
bug -- when the delimiters do not match, it's should be doing the safest
transformation of all which is a direct copy; so the * Code line
should have been left alone also.

Phil



Re: [O] Lentic.0.6 and org mode

2015-01-08 Thread Thierry Banel
Nice!

I spent some time figuring out how to use it.

This is what I did eventually:
  M-xlentic-mode
  M-xlentic-mode   ;; twice
  M-x lentic-mode-split-window-below
Then change the new buffer to the desired mode (Java mode, C++ mode,
whatever).
(I was created in fundamental mode).

Is this the standard way to use it?

Thierry


Le 08/01/2015 14:55, Phillip Lord a écrit :
 I thought some of you might be interested in the new release of my
 package, lentic. One of the things that it now does is allow
 multi-modal of editing of Emacs source, using org mode for the
 documentation. I realise that it's already possible to use ELPA
 org-babel to write literate el files, or to use outorg.el, but lentic
 provides a different form of interaction. You can edit the org form or
 the emacs-lisp form as you choose. The source code of lentic is, itself,
 written in this way. There is a screen cast linked below which shows
 what the interaction looks like.

 Available on MELPA-stable, MELPA and Marmalade
 https://github.com/phillord/lentic
 http://www.russet.org.uk/blog/3035
 https://vimeo.com/116078853