Re: Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread Jack Kamm
> Is the rationale explained anywhere? After a bit of poking around, it looks 
> like using the `:file` flag without a `file` argument to results doesn't do 
> anything (no file is created), nor does the reverse. That is, unless you use 
> both the `file` argument and the `:file` option, nothing happens. Is there a 
> situation where you can use `:file` to do something that doesn't require a 
> `file` argument to `:results`?

The specific commit where it happened was
26ed66b23335eb389f1f2859e409f46f66279e15, which says:

"Deducing the results from some other arguments is not obvious.
Moreover, it prevents users from setting, e.g., :file-ext, in a node
property, as every block would then create a file."

The commit also links to this thread:
http://lists.gnu.org/r/emacs-orgmode/2018-05/msg00469.html

I wasn't involved in that discussion, but I think the idea is that you
could create a subtree with many named source blocks each creating a PNG
file, set the :file-ext parameter at the subtree level, and have the
file names auto-created from the source block names.

> The documentation for ob-R is now incorrect:
>
>   https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-R.html

Yes, also that page could use some other updates, e.g. there are some
dead links in there.



Re: Testimony on how to publish a book using Org-mode

2020-01-27 Thread Bob Newell
At first glance this is indeed interesting and I must study it
carefully. Thank you for pointing this out.

I have published quite a number of books (both fiction and
non-fiction) starting with org-mode. Inevitably, though, there
is lots of hand work with LaTeX, and anything to reduce that
will be very welcome.

-- 
Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux



Re: orgmode.org is down for the next hour

2020-01-27 Thread Eric Abrahamsen
Bastien  writes:

> Bastien  writes:
>
>> the orgmode.org server has had hiccups again, I am right now upgrading
>> its capacity.  As I take a snapshot first it will be off the next hour
>> or so.
>
> The new server is working now, I doubled its capacity.

Thanks, Bastien!




Re: orgmode.org is down for the next hour

2020-01-27 Thread Bastien
Bastien  writes:

> the orgmode.org server has had hiccups again, I am right now upgrading
> its capacity.  As I take a snapshot first it will be off the next hour
> or so.

The new server is working now, I doubled its capacity.

-- 
 Bastien



Re: Testimony on how to publish a book using Org-mode

2020-01-27 Thread John Kitchin
This sounds pretty interesting. I have been thinking for a while about a
setup for scientific publishing with org-mode. I am curious to learn
more about what they have setup. I will probably spend some time this
spring updating how I do this kind of thing myself.

Bastien  writes:

> Dear all,
>
> I recently met the authors of this book, entirely publish using
> Org-mode: https://ima.circex.org/storie/0-intro/index.html
>
> They explain how they do this here:
> https://ima.circex.org/vulgo_en.html
>
> I thought it might be of interest for those hackers who want to
> dive in and try publishing large texts with Org-mode.
>
> Please send me a private email if you want to get in touch with
> one of the author for details on their setup.
>
> Enjoy!


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: emacs build command for org-files

2020-01-27 Thread John Kitchin
that is also interesting to know, thanks!

Jack Kamm  writes:

> John Kitchin  writes:
>
>> If there was a lispy version of make that made this possible, I would
>> use it.
>
> This is an aside, but GNU Make can use Guile Scheme as an embedded
> extension language:
>
> https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html
>
> I don't think this solves any issues in this thread, but I think it's
> pretty neat, and might scratch your itch if you're looking for a lispy
> make.


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread Tyler Smith
On Mon, Jan 27, 2020, at 12:29 PM, Jack Kamm wrote:
> 
> It should now be ":results graphics file". This behavior changed in Org
> 9.3, see https://orgmode.org/Changes.html (:file header argument no
> longer assume "file" :results).
>

That fixes it, thanks!

The documentation for ob-R is now incorrect:

  https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-R.html

Is the rationale explained anywhere? After a bit of poking around, it looks 
like using the `:file` flag without a `file` argument to results doesn't do 
anything (no file is created), nor does the reverse. That is, unless you use 
both the `file` argument and the `:file` option, nothing happens. Is there a 
situation where you can use `:file` to do something that doesn't require a 
`file` argument to `:results`?

Best,

Tyler  

-- 
plantarum.ca




orgmode.org is down for the next hour

2020-01-27 Thread Bastien
Hi all,

the orgmode.org server has had hiccups again, I am right now upgrading
its capacity.  As I take a snapshot first it will be off the next hour
or so.

Sorry for the inconvenience.

-- 
 Bastien



Re: emacs build command for org-files

2020-01-27 Thread Jack Kamm
John Kitchin  writes:

> If there was a lispy version of make that made this possible, I would
> use it.

This is an aside, but GNU Make can use Guile Scheme as an embedded
extension language:

https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html

I don't think this solves any issues in this thread, but I think it's
pretty neat, and might scratch your itch if you're looking for a lispy
make.



Re: Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread Jack Kamm
> #+begin_src R :results graphics :file test.jpg
> plot (1:10)
> #+end_src

It should now be ":results graphics file". This behavior changed in Org
9.3, see https://orgmode.org/Changes.html (:file header argument no
longer assume "file" :results).



Re: Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread William Denton

On 27 January 2020, Tyler Smith wrote:


#+begin_src R :results graphics :file test.jpg
plot (1:10)
#+end_src


":results file graphics" should do it.

Bill
--
William Denton :: Toronto, Canada   ---   Listening to Art: 
https://listeningtoart.org/
https://www.miskatonic.org/ ---   GHG.EARTH: https://ghg.earth/
Caveat lector.  ---   STAPLR: https://staplr.org/



Re: Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread Tyler Smith
Hi Jeremie,

I tried with `:results output graphics`, and with the file as jpg, and also as 
pdf. In all cases I still get the same result : no link is inserted.

I first noticed this with the org version that was released at the end of 
December, and confirmed that the problem was still present in the latest 
version released today. I'm pretty confident that this worked prior to the 
December release.

Thanks,

Tyler

--
plantarum.ca



On Mon, Jan 27, 2020, at 11:27 AM, Jeremie wrote:
> Hello,
> 
> I don't have the lastest.version of org-mode so i can't confirm.
> 
> 
> But could you try with the option 
> 
> :results output graphics :file test.pdf
> 
> HTH,
> Jeremie
> 
> 
> On January 27, 2020 5:13:20 PM GMT+01:00, Tyler Smith  
> wrote:
>> To reproduce:
>> 
>> 1. Start from `emacs -Q`
>> 
>> 2. open the following org file:
>> 
>> ```
>> #+BEGIN_SRC elisp setup
>> (require 'package)
>> (setq package-load-list
>>   '((org-plus-contrib t)
>>  (ess t)
>>  (julia-mode t)))
>> (package-initialize)
>> (require 'org)
>> (require 'ess)
>> 
>> (org-babel-do-load-languages
>>  'org-babel-load-languages
>>  '((emacs-lisp . t)
>>(R . t)
>>(shell . t)))
>> #+END_SRC
>> 
>> #+RESULTS:
>> 
>> #+begin_src R :results graphics :file test.jpg
>> plot (1:10)
>> #+end_src
>> ```
>> 
>> 3. Evaluate the first code block (C-c C-c) to load ess and setup babel to 
>> evaluate R code blocks
>> 
>> 4.  Evaluate the second code block.
>> 
>> What I expect: 
>> 
>> A `#+RESULTS:` block is inserted, with a link to the file test.jpg;
>> 
>> What happens instead:
>> 
>> A message appears in the minibuffer:   'Code block produced no output'.
>> 
>> This worked previously. I'm not sure when it broke - sometime in the last 
>> two months I think, as I demoed this feature for colleagues in November.
>> 
>> Emacs state provided below.
>> 
>> Best,
>> 
>> Tyler
>> 
>> Emacs  : GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 
>> 3.22.30)
>>  of 2020-01-02
>> Package: Org mode version 9.3 (release_9.3 @ 
>> /home/smithty/.emacs.d/elpa/org-plus-contrib-20200127/)
>> 
>> current state:(setq
>>  org-src-mode-hook '(org-src-babel-configure-edit-buffer 
>> org-src-mode-configure-edit-buffer)
>>  org-link-shell-confirm-function 'yes-or-no-p
>>  org-metadown-hook '(org-babel-pop-to-session-maybe)
>>  org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
>>  org-mode-hook '(org-eldoc-load
>>   #[0 "\300\301\302\303\304$\207"
>> [add-hook change-major-mode-hook org-show-all append local] 
>> 5]
>>   #[0 "\300\301\302\303\304$\207"
>> [add-hook change-major-mode-hook org-babel-show-result-all 
>> append local] 5]
>>   org-babel-result-hide-spec org-babel-hide-all-hashes)
>>  org-archive-hook '(org-attach-archive-delete-maybe)
>>  org-confirm-elisp-link-function 'yes-or-no-p
>>  org-agenda-before-write-hook '(org-agenda-add-entry-text)
>>  org-metaup-hook '(org-babel-load-in-session-maybe)
>>  org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 
>> "\n\n(fn ENTRY)"]
>>  org-babel-pre-tangle-hook '(save-buffer)
>>  org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
>> org-babel-header-arg-expand)
>>  org-babel-load-languages '((emacs-lisp . t) (R . t) (shell . t))
>>  org-src-lang-modes '(("redis" . redis) ("php" . php) ("arduino" . arduino) 
>> ("C" . c) ("C++" . c++)
>>("asymptote" . asy) ("bash" . sh) ("beamer" . latex) 
>> ("calc" . fundamental)
>>("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) 
>> ("elisp" . emacs-lisp)
>>("ocaml" . tuareg) ("screen" . shell-script) ("shell" . 
>> sh) ("sqlite" . sql))
>>  org-occur-hook '(org-first-headline-recenter)
>>  org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
>>org-optimize-window-after-visibility-change)
>>  org-speed-command-hook '(org-speed-command-activate 
>> org-babel-speed-command-activate)
>>  org-confirm-shell-link-function 'yes-or-no-p
>>  org-link-parameters '(("attachment" :follow org-attach-open-link :export 
>>

Re: Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread Jeremie
Hello,

I don't have the lastest.version of org-mode so i can't confirm.


But could you try with the option 

:results output graphics :file test.pdf

HTH,
Jeremie


On January 27, 2020 5:13:20 PM GMT+01:00, Tyler Smith  
wrote:
>To reproduce:
>
>1. Start from `emacs -Q`
>
>2. open the following org file:
>
>```
>#+BEGIN_SRC elisp setup
>(require 'package)
>(setq package-load-list
>  '((org-plus-contrib t)
>   (ess t)
>   (julia-mode t)))
>(package-initialize)
>(require 'org)
>(require 'ess)
>
>(org-babel-do-load-languages
> 'org-babel-load-languages
> '((emacs-lisp . t)
>   (R . t)
>   (shell . t)))
>#+END_SRC
>
>#+RESULTS:
>
>#+begin_src R :results graphics :file test.jpg
>plot (1:10)
>#+end_src
>```
>
>3. Evaluate the first code block (C-c C-c) to load ess and setup babel
>to evaluate R code blocks
>
>4.  Evaluate the second code block.
>
>What I expect: 
>
>A `#+RESULTS:` block is inserted, with a link to the file test.jpg;
>
>What happens instead:
>
>A message appears in the minibuffer:   'Code block produced no output'.
>
>This worked previously. I'm not sure when it broke - sometime in the
>last two months I think, as I demoed this feature for colleagues in
>November.
>
>Emacs state provided below.
>
>Best,
>
>Tyler
>
>Emacs  : GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
>3.22.30)
> of 2020-01-02
>Package: Org mode version 9.3 (release_9.3 @
>/home/smithty/.emacs.d/elpa/org-plus-contrib-20200127/)
>
>current state:
>==
>(setq
>org-src-mode-hook '(org-src-babel-configure-edit-buffer
>org-src-mode-configure-edit-buffer)
> org-link-shell-confirm-function 'yes-or-no-p
> org-metadown-hook '(org-babel-pop-to-session-maybe)
> org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
> org-mode-hook '(org-eldoc-load
>#[0 "\300\301\302\303\304$\207"
>  [add-hook change-major-mode-hook org-show-all append local] 
> 5]
>#[0 "\300\301\302\303\304$\207"
>  [add-hook change-major-mode-hook org-babel-show-result-all 
> append
>local] 5]
>org-babel-result-hide-spec org-babel-hide-all-hashes)
> org-archive-hook '(org-attach-archive-delete-maybe)
> org-confirm-elisp-link-function 'yes-or-no-p
> org-agenda-before-write-hook '(org-agenda-add-entry-text)
> org-metaup-hook '(org-babel-load-in-session-maybe)
>org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3
>"\n\n(fn ENTRY)"]
> org-babel-pre-tangle-hook '(save-buffer)
>org-tab-first-hook '(org-babel-hide-result-toggle-maybe
>org-babel-header-arg-expand)
> org-babel-load-languages '((emacs-lisp . t) (R . t) (shell . t))
>org-src-lang-modes '(("redis" . redis) ("php" . php) ("arduino" .
>arduino) ("C" . c) ("C++" . c++)
> ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) 
> ("calc" .
>fundamental)
> ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) 
> ("elisp"
>. emacs-lisp)
> ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . 
> sh)
>("sqlite" . sql))
> org-occur-hook '(org-first-headline-recenter)
>org-cycle-hook '(org-cycle-hide-archived-subtrees
>org-cycle-show-empty-lines
> org-optimize-window-after-visibility-change)
>org-speed-command-hook '(org-speed-command-activate
>org-babel-speed-command-activate)
> org-confirm-shell-link-function 'yes-or-no-p
>org-link-parameters '(("attachment" :follow org-attach-open-link
>:export org-attach-export-link
>   :complete org-attach-complete-link)
>  ("id" :follow org-id-open) ("eww" :follow eww :store
>org-eww-store-link)
>  ("rmail" :follow org-rmail-open :store 
> org-rmail-store-link)
>  ("mhe" :follow org-mhe-open :store org-mhe-store-link)
>  ("irc" :follow org-irc-visit :store org-irc-store-link 
> :export
>org-irc-export)
>  ("info" :follow org-info-open :export org-info-export 
> :store
>   org-info-store-link)
>  ("gnus" :follow org-gnus-open :store org-gnus-store-link)
>  ("docview" :follow org-docview-open :export 
> org-docview-export
>:store
>   org-docview-store-link)
>  ("bibtex" :f

Bug: R src blocks fail to produce link to graphics file [9.3 org-plus-contrib-20200127]

2020-01-27 Thread Tyler Smith
To reproduce:

1. Start from `emacs -Q`

2. open the following org file:

```
#+BEGIN_SRC elisp setup
(require 'package)
(setq package-load-list
  '((org-plus-contrib t)
(ess t)
(julia-mode t)))
(package-initialize)
(require 'org)
(require 'ess)

(org-babel-do-load-languages
 'org-babel-load-languages
 '((emacs-lisp . t)
   (R . t)
   (shell . t)))
#+END_SRC

#+RESULTS:

#+begin_src R :results graphics :file test.jpg
plot (1:10)
#+end_src
```

3. Evaluate the first code block (C-c C-c) to load ess and setup babel to 
evaluate R code blocks

4.  Evaluate the second code block.

What I expect: 

A `#+RESULTS:` block is inserted, with a link to the file test.jpg;

What happens instead:

A message appears in the minibuffer:   'Code block produced no output'.

This worked previously. I'm not sure when it broke - sometime in the last two 
months I think, as I demoed this feature for colleagues in November.

Emacs state provided below.

Best,

Tyler

Emacs  : GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2020-01-02
Package: Org mode version 9.3 (release_9.3 @ 
/home/smithty/.emacs.d/elpa/org-plus-contrib-20200127/)

current state:
==
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer 
org-src-mode-configure-edit-buffer)
 org-link-shell-confirm-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-mode-hook '(org-eldoc-load
 #[0 "\300\301\302\303\304$\207"
   [add-hook change-major-mode-hook org-show-all append local] 
5]
 #[0 "\300\301\302\303\304$\207"
   [add-hook change-major-mode-hook org-babel-show-result-all 
append local] 5]
 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn 
ENTRY)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
org-babel-header-arg-expand)
 org-babel-load-languages '((emacs-lisp . t) (R . t) (shell . t))
 org-src-lang-modes '(("redis" . redis) ("php" . php) ("arduino" . arduino) 
("C" . c) ("C++" . c++)
  ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) 
("calc" . fundamental)
  ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) 
("elisp" . emacs-lisp)
  ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . 
sh) ("sqlite" . sql))
 org-occur-hook '(org-first-headline-recenter)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
  org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate 
org-babel-speed-command-activate)
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("attachment" :follow org-attach-open-link :export 
org-attach-export-link
:complete org-attach-complete-link)
   ("id" :follow org-id-open) ("eww" :follow eww :store 
org-eww-store-link)
   ("rmail" :follow org-rmail-open :store 
org-rmail-store-link)
   ("mhe" :follow org-mhe-open :store org-mhe-store-link)
   ("irc" :follow org-irc-visit :store org-irc-store-link 
:export org-irc-export)
   ("info" :follow org-info-open :export org-info-export 
:store
org-info-store-link)
   ("gnus" :follow org-gnus-open :store org-gnus-store-link)
   ("docview" :follow org-docview-open :export 
org-docview-export :store
org-docview-store-link)
   ("bibtex" :follow org-bibtex-open :store 
org-bibtex-store-link)
   ("bbdb" :follow org-bbdb-open :export org-bbdb-export 
:complete
org-bbdb-complete-link :store org-bbdb-store-link)
   ("w3m" :store org-w3m-store-link) ("file+sys") 
("file+emacs")
   ("shell" :follow org-link--open-shell)
   ("news" :follow
#[257 "\301\300\302Q!\207" ["news" browse-url ":"] 5 
"\n\n(fn URL)"])
   ("mailto" :follow
#[257 "\301\300\302Q!\207" [&

Re: emacs build command for org-files

2020-01-27 Thread John Kitchin


briangpowell .  writes:

> "Actually, if it was possible to get M-x compile to run an elisp function
> instead of a make file, it might be all I need, but it looks like it runs
> shell commands."
>
> You probably know this but just in case:
>
> "You can call simulate an EmacsLisp-based script by putting this in a batch
> script:
>
> emacs -batch -l ~/.emacs.editor --eval="(require 'foo)" \
> --eval="(require 'bar)" \
> --eval="(some-function $*)"
> Starting with the Emacs 22, you can write Emacs scripts just as if you were
> writing Bash or Perl scripts, when you include this at the top of your
> script file:
>
> #!/usr/bin/emacs --script'
>
> --I mean, Elisp functions can be called as batch files from shell commands
> called by make makefiles

I have tried this before, but my emacs startup time is pretty slow, so
this takes longer than running a src block, and there is no shared state
between commands. With src blocks, there can be shared state, e.g. one
block computes something another uses.

If anyone is interested in how to use emacs in scripts, see 
http://kitchingroup.cheme.cmu.edu/blog/2014/08/11/Using-org-mode-outside-of-Emacs-sort-of/

It just doesn't make sense to me to have to write an emacs shell script/command
like that, when there is already a src block with just the elisp
commands in them that does just that. In that post, I show how you could
call that block from a shell command, but I don't think that is really
what I want.

What I am doing is more aligned with the org-publish capability,
where you effectively can have targets with specific directions on how
to build each component. You can publish one component, or one file, or
the whole project. It has at least some primitive checking of
whether an org-file is newer than the output file expected. I have to
confess I have struggled to get a project defined that does what I need
here though.

For example, in my proposal project, I have to submit a pdf of the body
with no references in it, and a pdf of just the references. That is done
by two separate exports. One is straightforward, it just uses
\nobibliography to get just the body with all the correct citations, but
no references at the end. That step generates a .bbl file that is used
in the second export, where I remove the body in a copy of the generated
tex file, insert the contents of the bbl file, and then build the pdf
from that. I don't know of a more straightforward way to do this.

>
> But I believe you're looking for something better, Python is great, but, it
> shouldn't be applied to every problem

I am just looking for another way to use src blocks in org-mode to build
documents that require complicated manipulations, powered by elisp. I am
not advocating for or suggesting Python be used for every build problem.

It is a preference to not add more files, e.g. by tangling the src
blocks just so I can use make. Even when I have done this, it is always
triggered by running a src block in an org file that first tangles
everything, and then runs a shell command. That is usually for literate
programming projects though, where the desired output is compiled code.

>
> "Python will be the Emacs Lisp of the 1990's"--Guido Van Rossum, in one of
> his 1st meetings on his new language Python--I was there, I wrote down this
> quote in an Emacs Lisp book
>
> Python is a masterpiece developed at the Stichting Mathematisch Centrum in
> Amsterdam, Holland--during a Christmas break
>
> But Python is, strictly speaking, very similar to Lisp & ELisp

It isn't close in the sense that in a Python shell, you don't
create buffers (or anything like them), and then use Python functions to
transform them to other forms.

Emacs is practically a lisp machine, where you can do just that, for
better or worse.

>
> There are reasons why functional languages like Lisp, Python, Erlang,
> Haskell, Clojure, etc. Pure Functional Languages, are still not fully
> dominating--though Python is very popular
>
> For such purposes, time reveals what's best--make makefiles & shell
> programming will continue to be best for many things

I agree this might be best for compiling code via command line programs
that were built with a pipe philosophy, and where shared state is either
not needed, or is communicated via files.

I am not yet convinced it is necessary to think of building org-files
that way just because it works so well for code. You can do this all
within the elisp environment where you are editing the org file. Once
that works, why abstract it out to a shell command? Why not have some
easy way to just run the blocks that build what you want?

make/shell programs fall flat on their face in the following way: In an
elisp script we have the finest tooling around to see the docstrings of
any function, definitions of variables, to navigate to function
definitions, and to debug and step through the code. This makes this
approach so superior to anything else in my opinion, it is hard to argue
any other feature of 

Re: emacs build command for org-files

2020-01-27 Thread John Kitchin


Stefan Nobis  writes:

> John Kitchin  writes:
>
>> Hi everyone,
>
>> This is only semi-on-topic. I am looking for something like M-x compile for
>> my org-files, but I don't want it to necessarily use Makefiles. I am
>> looking for suggestions of existing solutions to this, or thoughts on how
>> to implement this.
>
> This may not be the solution you are looking for, but maybe a good
> source of ideas:
>
>https://github.com/doublep/eldev

Thanks for this tip. This is the kind of thing I was hoping this thread
would unearth. This seems kind of like rake from ruby, where the build
scripts are written in the language you are building from. That is more
aligned with what I am trying to do here.

>
> Another idea: Just use a (configurable) function name or source block
> name to look for in a document. Then some magic function (say
> org-compile-document) can look for a custom function/block inside the
> document (e.g. look for a marked source block) and execute it, if
> found. If no custom function/block is found, some default action will
> be executed (e.g. ask user what to do, run pre-configured default
> export action etc.).

This is what I do now. I thought (hoped?) maybe someone else had worked
out something similar, and had a better idea.


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: emacs build command for org-files

2020-01-27 Thread John Kitchin


Neil Jerram  writes:

> On Sun, 26 Jan 2020 at 18:11, John Kitchin  wrote:
>
>> Hi everyone,
>>
>> This is only semi-on-topic. I am looking for something like M-x compile
>> for my org-files, but I don't want it to necessarily use Makefiles. I am
>> looking for suggestions of existing solutions to this, or thoughts on how
>> to implement this.
>>
>> Actually, if it was possible to get M-x compile to run an elisp function
>> instead of a make file, it might be all I need, but it looks like it runs
>> shell commands.
>>
>
> So how about typing "M-: " instead of "M-x compile" ?  Why involve
> other layers when Emacs can directly evaluate elisp?

It is just a reflection of how long some of the build blocks are. They
frequently let-bind variables and functions to achieve some particular
goal for the specific project. Since it is a one-time block, I don't
usually make it a function, and the code exists in a src block. "M-:"
isn't convenient for me in this scenario.

>
> Best wishes,
> Neil


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: emacs build command for org-files

2020-01-27 Thread Neil Jerram
On Sun, 26 Jan 2020 at 18:11, John Kitchin  wrote:

> Hi everyone,
>
> This is only semi-on-topic. I am looking for something like M-x compile
> for my org-files, but I don't want it to necessarily use Makefiles. I am
> looking for suggestions of existing solutions to this, or thoughts on how
> to implement this.
>
> Actually, if it was possible to get M-x compile to run an elisp function
> instead of a make file, it might be all I need, but it looks like it runs
> shell commands.
>

So how about typing "M-: " instead of "M-x compile" ?  Why involve
other layers when Emacs can directly evaluate elisp?

Best wishes,
Neil


Re: [PATCH] Fix several issues with python session value blocks

2020-01-27 Thread 황병희
Jack Kamm  writes:

> [...]
> I've checked this patch works for both Python2 and Python3, as well as
> for IPython.

Currently, i'm learning both elisp and python. Thanks for good patchs^^^

Sincerely, Byung-Hee

-- 
^고맙습니다 _地平天成_ 감사합니다_^))//



Re: automatic completion of file tags

2020-01-27 Thread Bastien
Hi Alan,

Alan Schmitt  writes:

> There are no headlines in the file (it's a small note). I want to tag
> the file itself (or its content). It's mostly to help with full-text
> search (I prefix my tags with '#' so they don't occur otherwise). I
> think the notion of file tag does not really exist in org mode, but as
> there is a '+#FILETAGS:' cookie (?), I was wondering if there was
> infrastructure to help me enter the tags there.

Thanks - I now understand better.

You may want to hack something together based on this:

#+begin_src emacs-lisp
(replace-regexp-in-string "::+" ":" (mapconcat (lambda(s) (if (stringp (car s)) 
(car s))) org-tag-alist ":"))
#+end_src

-- 
 Bastien



Testimony on how to publish a book using Org-mode

2020-01-27 Thread Bastien
Dear all,

I recently met the authors of this book, entirely publish using
Org-mode: https://ima.circex.org/storie/0-intro/index.html

They explain how they do this here:
https://ima.circex.org/vulgo_en.html

I thought it might be of interest for those hackers who want to
dive in and try publishing large texts with Org-mode.

Please send me a private email if you want to get in touch with
one of the author for details on their setup.

Enjoy!

-- 
 Bastien



Help needed on improving Org-mode Wikipedia article

2020-01-27 Thread Bastien
Dear all,

there is a nice article on Wikipedia about Org-mode:
https://en.wikipedia.org/wiki/Org-mode

There are also localized versions:
https://de.wikipedia.org/wiki/Org-mode
https://fr.wikipedia.org/wiki/Org-mode

And a wikidata entry:
https://www.wikidata.org/wiki/Q307228

If you want to help improving these resources, please
go ahead: I suspect they are largely used as an entry
point for our favorite free software.

Anyone can go ahead and edit them.

Thanks!

-- 
 Bastien



Re: org id update locations search sequence (was Re: bug report org mode)

2020-01-27 Thread Bastien
Hi Samuel,

I have difficulties understanding the proposal.

Can you restate it as a MEC (Minimal Enhancing Change)?

Thanks,

-- 
 Bastien



Re: [PATCH] Fix several issues with python session value blocks

2020-01-27 Thread Bastien
Hi Jack,

Jack Kamm  writes:

> Sure, I would be interested in this, if it's helpful.

It is for sure!  Thanks for accepting.

> I need an account for code.orgmode.org, and whatever commit permissions
> you think appropriate.

Please send me a private message with your prefered username and I
will create the account on code.orgmode.org and add you to org-mode
as a collaborator.

> I should caveat that I have only submitted a handful of patches, and am
> still learning the best practices here. But I am trying to learn, and to
> become more involved.

We're all learning, it's always nice to have new contributors.

Thanks again,

-- 
 Bastien



Re: emacs build command for org-files

2020-01-27 Thread Stefan Nobis
John Kitchin  writes:

> Hi everyone,

> This is only semi-on-topic. I am looking for something like M-x compile for
> my org-files, but I don't want it to necessarily use Makefiles. I am
> looking for suggestions of existing solutions to this, or thoughts on how
> to implement this.

This may not be the solution you are looking for, but maybe a good
source of ideas:

   https://github.com/doublep/eldev

Another idea: Just use a (configurable) function name or source block
name to look for in a document. Then some magic function (say
org-compile-document) can look for a custom function/block inside the
document (e.g. look for a marked source block) and execute it, if
found. If no custom function/block is found, some default action will
be executed (e.g. ask user what to do, run pre-configured default
export action etc.).

-- 
Until the next mail...,
Stefan.