From 9465cbc6153b40fbbbb0024897ff45882987866a Mon Sep 17 00:00:00 2001 From: Marc Pohling Date: Tue, 22 May 2018 08:20:00 +0200 Subject: [PATCH] changed org-babel-load-languages to a on-demand function --- config.org | 15 +++++++++++++-- user-global/abbrev_defs | 16 ++++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/config.org b/config.org index d8673a5..641f286 100644 --- a/config.org +++ b/config.org @@ -786,8 +786,19 @@ Org overwrites RET and C-j, so I need to disable the rebinds #+END_SRC ** Org babel languages - This code block is linux specific. Loading languages which aren't available seems to be a problem + This code block is linux specific. Loading languages which aren't available seems to be a problem. + New: Load languages on demand. I need to test if this works as intended. #+BEGIN_SRC emacs-lisp +(defadvice org-babel-execute-src-block (around load-language nil activate) + "Load language if needed" + (let ((language (org-element-property :language (org-element-at-point)))) + (unless (cdr (assoc (intern language) org-babel-load-languages)) + (add-to-list 'org-babel-load-languages (cons (intern language) t)) + (org-babel-do-load-languages 'org-babel-load-languages org-babel-load-languages)) + ad-do-it)) +#+END_SRC + +BEGIN_SRC emacs-lisp (cond ((eq system-type 'gnu/linux) (org-babel-do-load-languages 'org-babel-load-languages @@ -810,7 +821,7 @@ Org overwrites RET and C-j, so I need to disable the rebinds ) )) ) -#+END_SRC +END_SRC #+BEGIN_SRC emacs-lisp (defun my-org-confirm-babel-evaluate (lang body) diff --git a/user-global/abbrev_defs b/user-global/abbrev_defs index aac994f..645e716 100644 --- a/user-global/abbrev_defs +++ b/user-global/abbrev_defs @@ -59,8 +59,22 @@ (define-abbrev-table 'gnus-group-mode-abbrev-table '()) +(define-abbrev-table 'grep-mode-abbrev-table '()) + +(define-abbrev-table 'helm-grep-mode-abbrev-table '()) + +(define-abbrev-table 'helm-major-mode-abbrev-table '()) + +(define-abbrev-table 'helm-moccur-mode-abbrev-table '()) + (define-abbrev-table 'help-mode-abbrev-table '()) +(define-abbrev-table 'ibuffer-mode-abbrev-table '()) + +(define-abbrev-table 'ivy-occur-grep-mode-abbrev-table '()) + +(define-abbrev-table 'ivy-occur-mode-abbrev-table '()) + (define-abbrev-table 'lisp-mode-abbrev-table '()) (define-abbrev-table 'message-mode-abbrev-table '()) @@ -87,8 +101,6 @@ (define-abbrev-table 'tabulated-list-mode-abbrev-table '()) -(define-abbrev-table 'tar-mode-abbrev-table '()) - (define-abbrev-table 'text-mode-abbrev-table '()) (define-abbrev-table 'url-cookie-mode-abbrev-table '())