[O] [PATCH] ob-clojure-literate don't enable minor mode by default.

2018-05-02 Thread stardiviner
Hi, Nicolas, can you merge this minor update? thanks.

From 14cad029e92b1e35b1255e4b7faa3f0442bce334 Mon Sep 17 00:00:00 2001
From: stardiviner 
Date: Thu, 3 May 2018 10:20:41 +0800
Subject: [PATCH] ob-clojure-literate.el: Don't enable ob-clojure-literate-mode
 by default.

* contrib/lisp/ob-clojure-literate.el (ob-clojure-literate-auto-jackin):
Handle the case that detect cider-jack-in is executed but not connected,
and ob-clojure-literate-mode is enabled already.

* contrib/lisp/ob-clojure-literate.el (ob-clojure-literate-mode): Don't
  enable ob-clojure-literate-mode by default.
---
 contrib/lisp/ob-clojure-literate.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/contrib/lisp/ob-clojure-literate.el b/contrib/lisp/ob-clojure-literate.el
index e702582d9..19eceba52 100644
--- a/contrib/lisp/ob-clojure-literate.el
+++ b/contrib/lisp/ob-clojure-literate.el
@@ -67,6 +67,7 @@ If it is a directory, `ob-clojure-literate' will try to create Clojure project a
 	  ;; get global value instead of buffer local.
 	  (default-value 'cider-connections)))
 
+;;; allow not "ob-clojure" project session name.
 (defun ob-clojure-literate-set-session ()
   "Set session name for buffer local."
   ;; if default session is the only one in connections list.
@@ -124,7 +125,8 @@ If it is a directory, `ob-clojure-literate' will try to create Clojure project a
   (if (not (null ob-clojure-literate-session))
 		  (seq-contains cider-connections (get-buffer ob-clojure-literate-session
  cider-connections
- (not (null ob-clojure-literate-session)))
+	 (ob-clojure-literate-any-connection-p)
+	 )
   ;; return back to original file.
   (if (not (and (= (length (ob-clojure-literate-get-session-list)) 1)
 (member ob-clojure-literate-default-session (ob-clojure-literate-get-session-list
@@ -334,7 +336,7 @@ reset `RESULT' to `nil'."
 (define-minor-mode ob-clojure-literate-mode
   "A minor mode to toggle `ob-clojure-literate'."
   :require 'ob-clojure-literate
-  :init-value t
+  :init-value nil
   :lighter " clj-lp"
   :group 'ob-clojure-literate
   :keymap ob-clojure-literate-mode-map
-- 
2.17.0


-- 
[ stardiviner ] don't need to convince with trends.
   Blog: https://stardiviner.github.io/
   IRC(freenode): stardiviner
   GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
  


signature.asc
Description: PGP signature


Re: [O] [POLL] Should Org tempo be enabled by default? (expand templates thru e.g. "<s[TAB]")

2018-05-02 Thread Bernt Hansen
Bernt Hansen  writes:

> I am not really for or against enabling org-tempo by default.  If it's
> not enabled by default and a clear path is documented for how to achieve
> the same thing in ORG-NEWS using yasnippet or some other expansion
> system then that is perfectly okay with me.  If I can't use  anymore I'll just have to retrain my fingers which have been using this
> for 10 years now -- it's doable it will just take me some time :))

So I'm changing my vote :)
I've disabled org-tempo and am in the process of learning to use C-c C-,
instead of 

Re: [O] Q: setting/changing search path for links by id

2018-05-02 Thread Samuel Wales
there is org-id-extra-files.  you will need to code around it to set it right.

by default it is set to text search extra files, as a symbol.
however, that symbol probably cannot be put in as a pseudo-file.  i.e.
part of a list with files.  [it seems that perhaps 'agenda-archives
/can/ be put in as a pseudo-file, but this is not seem to be
documented in the docstring or the manual.  and there is also a
separate variable controlling whether agenda files are searched.]  so
it's slightly confusing.

if you want the default, plus some files of your own, which is what
most people want to do with the variable, i think you need to get the
value of text search extra files, append or concatenate your own,
remove duplicates, and set it.  [*org feature suggestion*] perhaps org
could do the remove duplicates step for the user, and maybe allow text
search extra files as a pseudo-file, so that the user need only set
the variable to a list.  org already does a remove duplicates for the
user for org-agenda-files.


On 5/2/18, Julius Dittmar  wrote:
> Is there a way of adding a directory to this search path from inside an
> org file?

i'm not sure, but i don't think it searches directories either
recursively or at top level.  you will need to do that yourself in
lisp using something like (directory-files (getenv "dorg") t regexp)).
exercise caution if any files are compressed or you changed org or org
archive extensions.



Re: [O] Inheriting some local variables from source code block editing buffers

2018-05-02 Thread Göktuğ Kayaalp
On 2018-05-02 12:16 +02, Nicolas Goaziou  wrote:
> Export blocks, like any other element, accept #+header: keyword, e.g.,
>
> #+header: whatever
> #+begin_export latex
>
> ...
> #+end_export
>
> Note that, however, such header arguments are ignored during export.

Thanks.  This means implementing this feature as a header argument
should suffice for all useful cases (though it'll probably become more
clearer when it's implemented and tested).

-- 
İ. Göktuğ Kayaalp   
 024C 30DD 597D 142B 49AC
 40EB 465C D949 B101 2427



Re: [O] Missing `Specific Header Arguments' in Manual

2018-05-02 Thread Berry, Charles


> On May 2, 2018, at 3:56 AM, Nicolas Goaziou  wrote:
> 
> Hello,
> 
> "Berry, Charles"  writes:
> 
>> cmdline (not in the previous info version either)
>> sep
> 
> I'm not sure what these two are about (the :sep is not documented
> either).

Re :sep, FWIW I found this in org.texi from late 2017:

@node sep
@subsubsection @code{:sep}
@cindex @code{:sep}, src header argument

The @code{:sep} header argument is the delimiter for saving results as tables
to files (@pxref{file}) external to Org mode.  Org defaults to tab delimited
output.  The function, @code{org-open-at-point}, which is bound to @kbd{C-c
C-o}, also uses @code{:sep} for opening tabular results.

---

HTH,

Chuck




Re: [O] [POLL] Should Org tempo be enabled by default? (expand templates thru e.g. "<s[TAB]")

2018-05-02 Thread Aaron Ecay
Hi Rasmus,

2018ko maiatzak 2an, Rasmus Pank Roulund-ek idatzi zuen:
>> Finally, irrespective of which options are chosen, I think that org-tempo
>> would be better implemented in terms of a minor mode.  This would allow
>> it to be autoloaded, turned on/off for different buffer(s) in an emacs
>> session, and avoid duplicating the logic for activating global minor
>> modes.  Patch attached.
> 
> I agree.

OK, thatʼs good to know.  Iʼve held off on any pushing of the patch to
master until everything is worked out.  In the meantime, Iʼve put it in
a branch “org-tempo”.

I also added a second commit to that branch which implements my vision
of the upgrade path (deprecation warnings, etc.)  For convenience, that
patch is also attached to this email.

One remaining decision to make is: what is the future of org-tempo?  I am
sympathetic to the idea that the best place for it eventually would be
org-contrib or GNU ELPA, and not org core.  If that is decided now, then
we can include that information in the upgrade message (i.e. that users
who opt in to org-tempo will eventually have to install it specifically).

-- 
Aaron Ecay
>From 414503d59b2129c24e95e1e57b54d5662a17308b Mon Sep 17 00:00:00 2001
From: Aaron Ecay 
Date: Wed, 2 May 2018 17:48:18 +0100
Subject: [PATCH 2/2] Add compatibility code to org-tempo

This will warn users of 
+Alternatively, you may wish to use the new template expansion
+facility `org-insert-structure-template', which is bound to
+\\[org-insert-structure-template] in org-mode buffers.")
+
+
+
 (provide 'org-tempo)
 
 ;;; org-tempo.el ends here
diff --git a/lisp/org.el b/lisp/org.el
index 0b8e62357..c67c8d2c5 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -23582,6 +23582,12 @@ when non-nil, is a regexp matching keywords names."
 	  (lambda () (add-hook 'change-major-mode-hook
 			   'org-show-all 'append 'local)))
 
+;; For compatibility; remove in Org 10
+(require 'org-tempo)
+(defvar org-tempo--user-activated)
+(let (org-tempo--user-activated)
+  (org-tempo-global-mode 1))
+
 (provide 'org)
 
 (run-hooks 'org-load-hook)
-- 
2.17.0



[O] LOGBOOK note entries in functions

2018-05-02 Thread John Kitchin
Hi,

Is it possible to include extra text in a logbook entry from a function
in a way that doesn't open a notes buffer?

I was trying to use org-add-log-setup:

(org-add-log-setup  PURPOSE STATE PREV-STATE HOW EXTRA)

but the EXTRA arg is ignored unless HOW is set to 'note as far as I can
tell, and when it set to that, it opens a note buffer to edit the note.
I would like to just directly add the EXTRA text to the logbook
programmatically, without opening the note buffer.

i.e. this would just add the entry to the logbook:

(org-add-log-setup 'done nil nil 'note "extra")


Thanks,

--
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: [O] coding help needed: set, increase and log review priority

2018-05-02 Thread John Kitchin

Julius Dittmar writes:

> Hi,
>
> lisp is still a mystery to me, so I need help coding some functions I
> would like to use.
>
> What I want is a property 'ReviewPriority', which can take integer
> values, and a property 'LastReview'. I need functions that
>
> - increase ReviewPriority by one, assuming an initial 0 if there's no
> value set, up to a hard-coded maximum of 5, set LastReview to the
> current date, and log the change (new value and date are sufficient) in
> the LOGBOOK drawer

Here is a lightly commented function that does this all of these I
think.

M-x f0  will increment the ReviewPriority
C-1 M-x f0 will set the ReviewPriority to 1
C-n M-x f0 will set the ReviewPriority to min(n, 5) where n is a number

The main things to keep in mind are that property entries are
strings, and you have to convert them back and forth between numbers. I
don't know a better way to make a logbook entry that doesn't end up
opening a notes buffer.


#+BEGIN_SRC emacs-lisp
(defun f0 ( new-review-priority-n)
  "- increase ReviewPriority by one, assuming an initial 0 if there's no
value set, up to a hard-coded maximum of 5, set LastReview to the
current date, and log the change (new value and date are sufficient) in
the LOGBOOK drawer"
  (interactive "p")
  (let* (
 ;; this will be a string of 0 or the ReviewPriority
 (current-review-priority (or (org-entry-get nil "ReviewPriority") "0"))
 ;; convert it to a number for incrementing
 (current-review-priority-n (string-to-number current-review-priority))
 ;; placeholder variables
 new-review-priority)

(setq new-review-priority-n
  (if new-review-priority-n
  (min new-review-priority-n 5)
;; no numeric prefix, so increment existing
(min (incf current-review-priority-n) 5))
  ;; this is what will be written to properties
  new-review-priority (number-to-string new-review-priority-n))

(org-entry-put nil "ReviewPriority" new-review-priority)

(org-entry-put nil "LastReview"
   (format-time-string
"%Y-%m-%d"
(current-time)))
(org-add-log-setup 'state
   (format "Review Priority %s" new-review-priority)
   current-review-priority
   'time
#+END_SRC


You could make helper functions that do those too, , e.g. a function
that calls (f0 3) will set the ReviewPriority to 3. And, a function like
this

#+BEGIN_SRC emacs-lisp
(defun f2 (n)
  (interactive "nN: ")
  (f0 n))
#+END_SRC

will prompt you for a number and then set the properties.

Anyway, Hopefully that can get you started. You can learn more about the
functions with C-h f in Emacs.
>
> - set ReviewPriority to a fixed value (for example 1), set LastReview to
> the current date, and log the change in the LOGBOOK drawer
>
> - set ReviewPriority to a user-given value (clipping to the acceptable
> value range of 0 to 5 would be a boon, but is not necessary), set
> LastReview to the current date, and log the change in the LOGBOOK drawer.
>
> Additionally I'd like to bind the increase function to C-c r and the
> function with user input to C-c R.
>
> Any help welcome!
>
> Thanks in advance,
>
> Julius


--
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: [O] [PATCH] Add support for Babel with Eshell, (updated PATCH)

2018-05-02 Thread stardiviner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hi, Nicolas.

Now Org 9.1.12 is released. Maybe it's time to merge this ob-eshell PATCH?

If still has some places need modified, please tell me. Thanks.

- -- 
[ stardiviner ] don't need to convince with trends.
   Blog: https://stardiviner.github.io/
   IRC(freenode): stardiviner
   GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
  
-BEGIN PGP SIGNATURE-

iQEzBAEBCAAdFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAlrp0PwACgkQG13xyVro
msOxVwf8DLQcDrUggiVBBCxxav1rFdVw0eKOaQUnHXVXCoK+2Quz1+WYtxv0LftC
J6lLl4I7m/ix34DjrI29ro+ZrtoWwhS7A9gP1zIe/5AaJBBnmrJveA9mkVN2dglI
wcwYUDeY6Oq91omzSGstCCIhQqAtoECQ1K3wDhDHYF17/f3EEQbqzildcHwdKpbE
tw4GZ6fULdckyrW53cxmgmT1Yym0O/OxLQhaqLtpDi4MPRAdHOegX7dKp/JqF7MY
iIETFzX6XK6BQLiPEJsLnXlg6yTM2sUst/p6CsQBebVSQ8kseYFAfAHy5vgGtCwU
zXQ8cZ6oHkx2ALa70lD081Ql0tURRA==
=CuOW
-END PGP SIGNATURE-



Re: [O] Q: setting/changing search path for links by id

2018-05-02 Thread John Kitchin
I think you are looking for the variable org-id-locations-file. This
file contains entries like ("~/vc/journal/2018/03/29/2018-03-29.org"
"A6509542-9C85-46ED-BFE3-715CE44BAA70") and is used to create a hash
table that provides a way to search for Ids. You can see it still holds
information to a file name, so if these change, then at some point the
location file will be out of date and need to be updated.

I think the function org-id-find is used to search for ids.

You can add files with the function org-id-update-id-locations.

I hope that helps.


Julius Dittmar writes:

> Hi,
>
> I'd like to use links for cross referencing. As filenames are very prone
> to change in my system, I'd like to use IDs for those links.
>
> What I could not fathom yet is how the search path for those IDs is created.
>
> Is there a way of (session-globally) setting that search path, in a
> specialized init file for example?
>
> Is there a way of adding a directory to this search path from inside an
> org file?
>
> Thanks for any hints,
>
> Julius


--
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: [O] Bug: org-fill-paragraph deletes an extra line [9.1.11 (9.1.11-2-ge3b1c6-elpa @ /home/yminsky/.emacs.d/elpa/org-9.1.11/)]

2018-05-02 Thread Yaron Minsky
Thanks. I went carefully though my init file (which I should have done
before I submitted the bug), and discovered that this is a change in terms
of how filladapt-mode interacts with org-mode. There's really no reason to
have filladapt on when org is on, so I just disabled it.

Sorry for the noise!
y
On Mon, Apr 30, 2018 at 4:02 PM Nicolas Goaziou 
wrote:

> Hello,

> Yaron Minsky  writes:

> > Oddly, it also gets indentation wrong. So if I start with this:
> >
> > - asdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
> >   asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
> >   asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
> >   asdfasdf asdfasdf asdf
> >
> > And I try to fill the paragraph, I'll get this:
> >
> > - asdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
> > asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
> > asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
> > asdfasdf asdfasdf asdf

> I cannot reproduce it. M-q anywhere in your example doesn't change
> anything. Could you try again without any configuration on your side
> (besides the one that loads a recent Org)?

> Regards,

> --
> Nicolas Goaziou



Re: [O] Missing `Specific Header Arguments' in Manual

2018-05-02 Thread Nicolas Goaziou
Hello,

Kaushal Modi  writes:

> In the Org 9.1 version manual, it was possible to search ":eval" and find
> what I was looking for. In 9.2 manual, very few of the header arguments are
> documented with the colon prefix.

I removed all colon prefixes, so it is a bug if any header argument is
prefixed with a colon.

> So searching is not consistent any more.

Of course, it is. Now, you can search by topic. E.g., `eval' header
argument belongs to "Limit Code block evaluation", which is a sub-topic
of "Evaluation Code Blocks". This was clearly not possible before,
because unrelated arguments were located in the same section.

You can also search the index alphabetically.

> I was able to do this earlier.. open Org Info manual, C-s :eval, keep on
> C-s as it found *all hits* in the manual. Now in 9.2, the only hits are in
> (org) Exporting Code Blocks, which is not very useful.

C-s is a poor way to navigate through an Info document. I'd rather
improve the index than make it easier to use C-s.

> Can we prefix all the header arg references in the manual with ":" so
> that while searching, I can easily find the (org) Evaluating Code
> Blocks node?

This is a false good idea, because many index entries would have the
same prefix. Besides, many syntactic elements start with colons:
properties, tags, drawers.

OTOH, you can search for "header argument" in the main index, as you
experienced. It is much more efficient.

> I was having trouble finding this node as "eval" is too generic of a string..
> thankfully I remembered the "never-export" value, searched for that and
> found that node.

See above.

Regards,

-- 
Nicolas Goaziou



Re: [O] [POLL] Should Org tempo be enabled by default? (expand templates thru e.g. "<s[TAB]")

2018-05-02 Thread Bernt Hansen
Hi,

I think there is a typo in ORG-NEWS


Bastien  writes:

>
> Tim Cross  writes:
>
>
>> Consequently, I'm not going to enable org-tempo, instead going for
>> re-training of my fingers to use the new C-c ' binding.
>
> You certainly mean C-c C-,  :)
>


*** Change in the structure template expansion

Org 9.2 comes with a new template expansion mechanism, combining
~org-insert-structure-template~ bound to ~C-c C-'~.


Shouldn't this be ~C-c C-,~  ?

Thanks,
Bernt



[O] Tag completion does not work well with org-complete-tags-always-offer-all-agenda-tags

2018-05-02 Thread Alain . Cochard
Hello.

With variable org-complete-tags-always-offer-all-agenda-tags set to
true, tag completion does not work as I expect.  Specifically, upon
'C-c C-q' or 'C-c C-c', it works fine if I enter in the minibuffer
some letter and then press , but not if I just press ; in
that case, a colon (:) is inserted in the minibuffer, and another
colon for each subsequent , ad infinitum.  Is this normal?

Incidentally, shouldn't this variable be documented in the manual?
(Section "6.2 Setting tags" would seem a natural place for that.)  I
had to resort to internet search...

Regards,
Alain

I have:

GNU Emacs 24.5.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.18.9) of
2016-04-11 on buildvm-25.phx2.fedoraproject.org

Org mode version 9.1.12 (9.1.12-elpa @
/home/cochard/.emacs.d/elpa/org-20180427/)

-- 
EOST (École et Observatoire des Sciences de la Terre) 
IPG (Institut de Physique du Globe) | alain.coch...@unistra.fr
5 rue René Descartes   [bureau 106] | Phone: +33 (0)3 68 85 50 44 
F-67084 Strasbourg Cedex, France| Fax:   +33 (0)3 68 85 01 25 



Re: [O] Missing `Specific Header Arguments' in Manual

2018-05-02 Thread Nicolas Goaziou
Hello,

"Berry, Charles"  writes:

> cmdline (not in the previous info version either)
> sep

I'm not sure what these two are about (the :sep is not documented
either).

Besides, :cmdline doesn't seem to be used consistently everywhere. It
could probably be moved out of "ob-core.el" and re-introduced in every
Babel library actually using it.

In any case, patches welcome.

> tangle-mode

Done.

> wrap

Done.

> Also, `exports' is indexed as `@samp{export}'.

Fixed.

Thank you.

Regards,

-- 
Nicolas Goaziou



Re: [O] Inheriting some local variables from source code block editing buffers

2018-05-02 Thread Nicolas Goaziou
Hello,

Göktuğ Kayaalp  writes:

> Also, another question remains: how do we extend this to #+begin_export
> blocks?  But that's unclear to me maybe because I don't know in detail
> how header arguments work.  Ideally this feature would work for _any
> block_ editable by ‘org-edit-special’ (i.e. C-c '), and again ideally
> using the same syntax.

Export blocks, like any other element, accept #+header: keyword, e.g.,

#+header: whatever
#+begin_export latex
...
#+end_export

Note that, however, such header arguments are ignored during export.

Regards,

-- 
Nicolas Goaziou



[O] Q: setting/changing search path for links by id

2018-05-02 Thread Julius Dittmar
Hi,

I'd like to use links for cross referencing. As filenames are very prone
to change in my system, I'd like to use IDs for those links.

What I could not fathom yet is how the search path for those IDs is created.

Is there a way of (session-globally) setting that search path, in a
specialized init file for example?

Is there a way of adding a directory to this search path from inside an
org file?

Thanks for any hints,

Julius



[O] coding help needed: set, increase and log review priority

2018-05-02 Thread Julius Dittmar
Hi,

lisp is still a mystery to me, so I need help coding some functions I
would like to use.

What I want is a property 'ReviewPriority', which can take integer
values, and a property 'LastReview'. I need functions that

- increase ReviewPriority by one, assuming an initial 0 if there's no
value set, up to a hard-coded maximum of 5, set LastReview to the
current date, and log the change (new value and date are sufficient) in
the LOGBOOK drawer

- set ReviewPriority to a fixed value (for example 1), set LastReview to
the current date, and log the change in the LOGBOOK drawer

- set ReviewPriority to a user-given value (clipping to the acceptable
value range of 0 to 5 would be a boon, but is not necessary), set
LastReview to the current date, and log the change in the LOGBOOK drawer.

Additionally I'd like to bind the increase function to C-c r and the
function with user input to C-c R.

Any help welcome!

Thanks in advance,

Julius





Re: [O] [POLL] Should Org tempo be enabled by default? (expand templates thru e.g. "<s[TAB]")

2018-05-02 Thread Rasmus Pank Roulund
Aaron Ecay  writes:

> I would also question the decision to change the format of
> org-structure-template-alist.  That has caused some errors (in the sense
> of calls to the elisp ‘error’ function) for me because a third
> party-library (ox-reveal) still uses the old format.  The change also
> seems orthogonal to the switch from  Finally, irrespective of which options are chosen, I think that org-tempo
> would be better implemented in terms of a minor mode.  This would allow
> it to be autoloaded, turned on/off for different buffer(s) in an emacs
> session, and avoid duplicating the logic for activating global minor
> modes.  Patch attached.

I agree.

Rasmus

-- 
The right to be left alone is a human right



Re: [O] [POLL] Should Org tempo be enabled by default? (expand templates thru e.g. "<s[TAB]")

2018-05-02 Thread Rasmus
Nicolas Goaziou  writes:

> Hello,
>
> Rasmus  writes:
>
>> FWIW, I strongly disagree that Yasnippet is a suitable replacement.  IMO
>> it’s not at all intuitive.
>
> You must be kidding. Consider the following snippet:
>
># key: # --
>
>#+begin_src $1
>$0
>#+end_src
>
> In a buffer, " header arguments, then another TAB puts point within the block.

Especially the tab behavior is what "gets me" with yasnippet.  It seems
erratic.  Some package that I use used to auto-load it a few years back
and it created a horrible mess with weird highlights and the tab key not
working as expected.

I have not tried it for many years, but last time I used it I had a
distinct distaste for its behavior.

The syntax looks nice.

> No offense intended, but Yasnippet is more powerful and also more
> versatile than what we offer, since we stick to "<" prefix for
> historical reasons.

Perhaps what we offer is also more simple.

>> Why is using tempo NIH?
>
> Using Tempo is fine. But we're writing a template system on top of it,
> which is a different beast.

I am not sure I would raise it to a "template system".  At most a "block
insertion system".

Rasmus

-- 
To err is human. To screw up 10⁶ times per second, you need a computer