> > 1. Even for someone with good Elisp skills, a keyboard macro > > is sometimes preferable as a one-off. My guess is that > > most uses of keyboard macros are for one-off tasks. > > Yes, but you don't know that and in my experience one-off > tasks are just one-off the first time you do them ... > > Even if the problem don't reappear exactly the same way - > which it often does - a variation of the problem is very > likely to and then you can just provide other arguments and/or > slightly modify your Elisp ... > > And note that the distance between the variations can be quite > big and this does not translate linearly to how much you have > to change your Elisp. On the contrary, not the least since > a lot of Elisp time (and programming time in general) is just > routinely writing the same old stuff over and over. > So interestingly, the more Elisp you write, the less you have > to :) I don't disagree with those points. We're at a level of generality here that doesn't help much, I think. The advantages and uses you cite are real. That's not a reason that keyboard macros shouldn't be used or should be avoided. Both Lisp and keyboard macros are useful, even if they can overlap in use and utility. ___ [ There used to be a command that translated a keyboard macro to Lisp code, which you could then edit to produce something more/different. This was more than what `insert-kbd-macro' does. Instead of just a sequence of keys (strings) you got Lisp code with command invocations, IIRC. It was rudimentary, but interesting. It could be a way to learn some Elisp and even sometimes a quick-and-dirty shortcut to producing some skeletal code. Mundane keys that a new lisper might not be familiar with were written up as their commands, letting you quickly put together something in Lisp that "worked". Maybe not the best code, but something you could work with. I think the command had "gen" or "generate" in the name. Googling just now, I came across this (elmacro), but it's relatively recent, whereas what I was talking about was quite old. https://stackoverflow.com/q/1717569/729907 ]