Re: Limitations on Tags ?
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?
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
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)
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
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
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
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