Hi Bastien - comments in-line below....

Bastien <b...@gnu.org> writes:

> Hi Tim,
> Tim Cross <theophil...@gmail.com> writes:
>> I agree 100%. We have already gone through this pain and as has been
>> pointed out numerous times, the 'new' approach has significant benefits
>> over the old <x expansion. Yes, it takes a bit of effort to untrain the
>> old habits, but once done the new version works fine.
> Point taken.  But as I said, I think both approaches fit different use
> cases.
> So my question is rather: why would it be so bad to enable org-tempo
> expansion by default?

Well I'm not convinced there are two different use cases. The number of
keystrokes required to insert a template is the same for both approaches
and with the non-tempo version, you can even bind it to a different key
with fewer keystrokes if you want. I have also had issues in the past
with the tab based expansion and the other completion setup I had
(though that was probably my mis-configuration!).

I also think having 2 different template expansion solutions will result
in confusion, especially for new users. Out of the box, I think it makes
sense to have a clear one way to do it. This can always be changed by
those who really want to (this is emacs after all).

I also don't think tempo was a good choice. I used it for many years and
while it is quite powerful, writing and debugging new templates is a
pain. It is pat of the reason other templating solutions, like
yasnippet, came into existence. I would not be surprised if we don't see
increased messages and bug reports as people try to fix/debug modified
or homebrew tempo templates. A better solution would probably have been
to provide examples of yasnippet templates as this is a common
templating system, bundled with many popular 'canned' configs like
spacemacs, purcell, prelude etc.

> When simply use, it just allows <* expansion.
>> I also think Nicolas' point that adding (require 'org-tempo) is a lot
>> more trivial than removing it from the list of loaded modules.
> Yes, I somehow agree, but yet: the poll so far seems to show that most
> users want it back (10 on 15, as the moment, two votes against.)
> Org is not poll-driven software, but this says something that we might
> want to listen to.

The problem with having a poll is I suspect many respondents will be
long-term users who were use to the original approach. I'm not sure how
many new users actually have any issue with the C-c C-, style and the
old users who prefer the old approach have  already added  (require
'org-tempo) to their setup, so  are not really affected by the default

IMO changing defaults is about new uses more than existing users.
However, you cannot poll future users. For me, I voted based on what I
thought would have been best for me when I first started using org
rather than what I want now. (even though I will have to update my
config because of some of these changes if they occur). To some extent,
defaults should be about creating the safest envrionment with the fewest
'surprises' for new users - one reason I voted against the 'looping'
defaults - these seem like a feature which more experienced users may
want, but possibly dangerous or confusing for new users.

>> The other poinit is that while tempo has been around for years, it is
>> not the easiest templating solution to use, especially for those
>> unfamiliar with it who may want to add their own tempo templates. Other
>> templating solutions, like yasnippets, are likely much easier for new
>> users to adopt than tempo.
> In its basic usage, <* expansion seems very simple to me.
> I'm all for not enable org-tempo by default iff we can allow expansion
> of <* strings at the beginning of the line.

I don't actually get why the old <* is 'simpler'. They both seem as
simple to me and I find I really like the ease of wrapping a region in a
block. I'd be happy to have expansion on <* if I could also have region

Tim Cross

Reply via email to