Re: Limitations on Tags ?

2020-10-25 Thread TRS-80

On 2020-10-01 16:09, David Masterson wrote:
Just wondering -- what's the limit in the number of tags for a 
headline?

What if I have a headline with lots of tags or some very long tags?


These are some of reasons I started putting my tags into PROPERTIES.
Then I don't have to worry about crowding the title, too long or too
many tags, or any other issues as you have noticed.

In addition, I think it looks cleaner.  I hide them in a property
drawer.  They are still equally as searchable.

And finally, I can now have different /types/ of tags.  In my case, I
use two properties: TAGS_TOPIC and a TAGS_META.  The former for
general topics (i.e., computers, software, GNU/Linux, organization,
etc.), and the latter for things like BlogFodder, ReadingList,
NeedsCleanup, VideosToWatch, etc. which allows for a nice orthagonal
way to classify certain things.

TRS-80



Either zero or two newlines with org-agenda-block-separator, cannot seem to get one?

2020-10-25 Thread TRS-80

Hallo,

I tried to change the value of org-agenda-block-separator variable to
many things (including characters and strings, in accordance with the
documentation) however I could not seem to achieve the desired result.

I was trying to make one blank line between agenda blocks in my custom
agenda (defined via org-agenda-custom-commands).  However I could only
seem to either make two, or zero!  :/

Searching for org-agenda-block-separator in org-agenda.el led me to
org-agenda-prepare function, where it appears to me that there is no
way to accomplish what I want, at least by simply changing a variable.

Therefore I ended up commenting out one of the newlines in that
function here in my local source, and re-loaded the file.  And now I
have one blank line between my agenda blocks, just as desired.  :)

But I thought this would be a good idea to bring to the attention of
the mailing list.

Cheers!

TRS-80



Re: [PATCH] ob-java

2020-10-25 Thread ian martins
I made the changes, updated the commit message for the large patch, and
pushed.

On Sat, Oct 24, 2020 at 10:40 PM Kyle Meyer  wrote:

> ian martins writes:
>
> > After making the changes, should I submit updated patches or is it fine
> to
> > push?
>
> Push away.  Thanks again.
>


[PATCH] Async session eval (2nd attempt)

2020-10-25 Thread Jack Kamm
This patch adds asynchronous evaluation for session blocks in
Python. It also adds functionality to implement async session eval for
other languages using ob-comint.el.

To test the attached patch, add ":async" to a Python session block
with a long computation (or "time.sleep") in it. Upon evaluation, your
Emacs won't freeze to wait for the result -- instead, a placeholder
will be inserted, and replaced with the true result when it's ready.

I'll note how this is different from some related projects. ob-async
implements asynchronous evaluation for Babel, but it doesn't work with
sessions. emacs-jupyter, ein, and ob-ipython all implement
asynchronous session evaluation, but only for Jupyter kernels. Jupyter
is great for some cases, but sometimes I prefer to use the built-in
org-babel languages without jupyter.

The new functionality is mainly implemented in
`org-babel-comint-async-filter', which I've defined in ob-comint.el,
and added as a hook to `comint-output-filter-functions'.  Whenever new
output is added to the comint buffer, the filter scans for an
indicator token (this is inspired by
`org-babel-comint-with-output'). Upon encountering the token, the
filter uses a regular expression to extract a UUID or temp-file
associated with the result, then searches for the appropriate location
to add the result to.

This is my 2nd attempt at this patch [0]. I have also ported it to an
external package [1], but would like to have this functionality in Org
proper, to permit better code reuse between async and sync
implementations. The external package also includes an R
implementation that I regularly use, as well as a Ruby implementation,
but I've left these out to keep this initial patch smaller, and also I
need to confirm copyright assignment on the Ruby implementation which
was externally contributed.

[0] 
https://orgmode.org/list/87muj04xim.fsf@jaheira.i-did-not-set--mail-host-address--so-tickle-me/
[1] https://github.com/jackkamm/ob-session-async

>From 8b7695a148d1831c916737650e115833cb7fc752 Mon Sep 17 00:00:00 2001
From: Jack Kamm 
Date: Sun, 25 Oct 2020 11:40:10 -0700
Subject: [PATCH] ob-comint.el, ob-python.el: Async session evaluation

Adds functionality to ob-comint.el to implement async session eval on
a per-language basis.  Adds a reference implementation for ob-python.

* lisp/ob-comint.el (org-babel-comint-with-output): Remove comment.
(org-babel-comint-async-indicator, org-babel-comint-async-buffers,
org-babel-comint-async-file-callback,
org-babel-comint-async-chunk-callback,
org-babel-comint-async-dangling): Add buffer-local variables used for
async comint evaluation.
(org-babel-comint-use-async): Add function to determine whether block
should be evaluated asynchronously.
(org-babel-comint-async-filter): Add filter function to attach to
comint-output-filter-functions for babel async eval.
(org-babel-comint-async-register): Add function to setup buffer
variables and hooks for session eval.
(org-babel-comint-async-delete-dangling-and-eval): Add helper function
for async session eval.

* lisp/ob-python.el (org-babel-execute:python): Check for async header
argument.
(org-babel-python-evaluate): Check whether to use async evaluation.
(org-babel-python-async-indicator): Add constant for indicating the
start/end of async evaluations.
(org-babel-python-async-evaluate-session): Add function for Python
async eval.

*
testing/lisp/test-ob-python.el (test-ob-python/async-simple-session-output):
Unit test for Python async session eval.
(test-ob-python/async-named-output): Unit test that Python async eval
can replace named output.
(test-ob-python/async-output-drawer): Unit test that Python async eval
works with drawer results.
---
 etc/ORG-NEWS   |  15 +++
 lisp/ob-comint.el  | 172 +++--
 lisp/ob-python.el  |  56 ++-
 testing/lisp/test-ob-python.el |  61 
 4 files changed, 294 insertions(+), 10 deletions(-)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 7f935bf52..9d5fbbe30 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -88,6 +88,21 @@ package, to convert pandas Dataframes into orgmode tables:
 | 2 | 3 | 6 |
 #+end_src
 
+*** Async session evaluation
+
+The =:async= header argument can be used for asynchronous evaluation
+in session blocks for certain languages.
+
+Currently, async evaluation is supported in Python.  There is also
+functionality to implement async evaluation in other languages that
+use comint, but this needs to be done on a per-language basis.
+
+By default, async evaluation is disabled unless the =:async= header
+argument is present.  You can also set =:async no= to force it off
+(for example if you've set =:async= in a property drawer).
+
+Async evaluation is disabled during export.
+
 * Version 9.4
 ** Incompatible changes
 *** Possibly broken internal file links: please check and fix
diff --git a/lisp/ob-comint.el b/lisp/ob-comint.el
index d3484bb7c..591754dac 100644
--- a/lisp/ob-comint.el
+++ 

Cannot load om while trying to load org

2020-10-25 Thread George Mauer
This might be a spacemacs-specific error, but maybe people here can help me
out?

I am getting the following error on org load
> (file-missing "Cannot open load file" "No such file or directory" "om")

(full stacktrace below)

Indeed, I get this:

> (require 'om)
> *** Eval error ***  Cannot open load file: No such file or directory, om

Yet `describe-package` shows that om *is* installed

```
om is a dependency package.

 Status: Installed in ‘om-20200927.1406/’ (unsigned).
Version: 20200927.1406
Summary: No description available.
```

Very possible that I don't know what I'm doing here, but it seems like
`require` should absolutely work should it not?

```
Debugger entered--Lisp error: (file-missing "Cannot open load file" "No
such file or directory" "om")
  require(om)
  (lambda nil (require (quote om)) t)()
  run-hooks(use-package--org--post-config-hook)
  (progn t (run-hooks (quote use-package--org--post-config-hook)))
  (if (run-hook-with-args-until-failure (quote
use-package--org--pre-config-hook)) (progn t (run-hooks (quote
use-package--org--post-config-hook
  (progn (if (run-hook-with-args-until-failure (quote
use-package--org--pre-config-hook)) (progn t (run-hooks (quote
use-package--org--post-config-hook t)
  (condition-case err (progn (if (run-hook-with-args-until-failure (quote
use-package--org--pre-config-hook)) (progn t (run-hooks (quote
use-package--org--post-config-hook t) ((debug error) (funcall
use-package--warning1336 :config err)))
  (lambda nil (condition-case err (progn (if
(run-hook-with-args-until-failure (quote
use-package--org--pre-config-hook)) (progn t (run-hooks (quote
use-package--org--post-config-hook t) ((debug error) (funcall
use-package--warning1336 :config err()
  eval-after-load(org (lambda nil (condition-case err (progn (if
(run-hook-with-args-until-failure (quote
use-package--org--pre-config-hook)) (progn t (run-hooks (quote
use-package--org--post-config-hook t) ((debug error) (funcall
use-package--warning1336 :config err)
  (progn (if (fboundp (quote org-clock-out)) nil (autoload (function
org-clock-out) "org" nil t)) (if (fboundp (quote
org-occur-in-agenda-files)) nil (autoload (function
org-occur-in-agenda-files) "org" nil t)) (if (fboundp (quote
org-agenda-files)) nil (autoload (function org-agenda-files) "org" nil t))
(condition-case err (if (run-hook-with-args-until-failure (quote
use-package--org--pre-init-hook)) (progn (progn (setq
org-startup-with-inline-images t org-src-fontify-natively t org-imenu-depth
8) :config (progn (font-lock-add-keywords (quote org-mode) (quote ...))
(evil-delay (quote ...) (quote ...) (quote after-load-functions) t nil
(format "evil-define-key-in-%s" ... (run-hooks (quote
use-package--org--post-init-hook ((debug error) (funcall
use-package--warning1336 :init err))) (eval-after-load (quote org)
(function (lambda nil (condition-case err (progn (if
(run-hook-with-args-until-failure ...) (progn t ...)) t) ((debug error)
(funcall use-package--warning1336 :config err)))
  (condition-case err (progn (if (fboundp (quote org-clock-out)) nil
(autoload (function org-clock-out) "org" nil t)) (if (fboundp (quote
org-occur-in-agenda-files)) nil (autoload (function
org-occur-in-agenda-files) "org" nil t)) (if (fboundp (quote
org-agenda-files)) nil (autoload (function org-agenda-files) "org" nil t))
(condition-case err (if (run-hook-with-args-until-failure (quote
use-package--org--pre-init-hook)) (progn (progn (setq
org-startup-with-inline-images t org-src-fontify-natively t org-imenu-depth
8) :config (progn (font-lock-add-keywords ... ...) (evil-delay ... ... ...
t nil ...))) (run-hooks (quote use-package--org--post-init-hook ((debug
error) (funcall use-package--warning1336 :init err))) (eval-after-load
(quote org) (function (lambda nil (condition-case err (progn (if ... ...)
t) ((debug error) (funcall use-package--warning1336 :config err)))
((debug error) (funcall use-package--warning1336 :catch err)))
  (progn (defvar use-package--warning1336 (function (lambda (keyword err)
(let ((msg (format "%s/%s: %s" ... keyword ...))) (display-warning (quote
use-package) msg :error) (condition-case err (progn (if (fboundp (quote
org-clock-out)) nil (autoload (function org-clock-out) "org" nil t)) (if
(fboundp (quote org-occur-in-agenda-files)) nil (autoload (function
org-occur-in-agenda-files) "org" nil t)) (if (fboundp (quote
org-agenda-files)) nil (autoload (function org-agenda-files) "org" nil t))
(condition-case err (if (run-hook-with-args-until-failure (quote
use-package--org--pre-init-hook)) (progn (progn (setq
org-startup-with-inline-images t org-src-fontify-natively t org-imenu-depth
8) :config (progn ... ...)) (run-hooks (quote
use-package--org--post-init-hook ((debug error) (funcall
use-package--warning1336 :init err))) (eval-after-load (quote org)
(function (lambda nil (condition-case err (progn ... t) (... ...))
((debug error) (funcall use-package--warning1336 :catch 

Re: [PATCH] ob-gnuplot: handle remote input files

2020-10-25 Thread Ferdinand Pieper
Hi Bastien,

Bastien  writes:

> Applied, thanks!

Thank you.

> The commit message and the changelog were perfect, thanks for taking
> care of this.  I simply added "TINYCHANGE".

I signed the FSF copyright times a short while ago, so I think this is
no longer necessary.


Best,



[PATCH] x11idle: Make installation a little smoother

2020-10-25 Thread Adam Spiers
Fix a -Wimplicit-int compiler warning, and make it more obvious how to
obtain scrnsaver.h on three of the most popular Linux distros.

Signed-off-by: Adam Spiers 
---
 contrib/scripts/x11idle.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/contrib/scripts/x11idle.c b/contrib/scripts/x11idle.c
index 22cefe1e6..b8db27560 100644
--- a/contrib/scripts/x11idle.c
+++ b/contrib/scripts/x11idle.c
@@ -1,4 +1,9 @@
+/* This header file is provided by the libxss-dev package on Debian,
+ * by the libXss-devel rpm on openSUSE, and the libXScrnSaver-devel
+ * rpm on Fedora.
+ */
 #include 
+
 #include 
 
 /* Based on code from
@@ -7,7 +12,7 @@
  * compile with 'gcc -l Xss x11idle.c -o x11idle' and copy x11idle into your
  * path
  */
-main() {
+int main() {
 XScreenSaverInfo *info = XScreenSaverAllocInfo();
 //open the display specified by the DISPLAY environment variable
 Display *display = XOpenDisplay(0);
-- 
2.28.0