Imagine you've got file with FirstName|LastName| like this :
John|toto|
Hanz|titi|
and want to put the first names at the end of the lines (just an stupid exemple). You may use Macro Recordind for that and type:
Arrow-down Home Ctrl-Space Ctrl-s | RET Arrow-left Ctrl-C End Ctrl-v
Under Linux, the execution of the macro rings the bell, hence doesn't work. But under Windows it works fine ! Isn't that a shame ? :)
If we look at the macro definitions, the results are just a very litlle bit different. Under Linux:
(fset 'makeMail2
(lambda (&optional arg)
"Keyboard macro."
(interactive "p")
(kmacro-exec-ring-item
'([down home 67108896 19 124 return left 3 3 timeout end 22]
0
"%d")
arg)))`
And under Windows :
(fset 'makeMail2Win
(lambda (&optional arg)
"Keyboard macro."
(interactive "p")
(kmacro-exec-ring-item
'([down home 67108896 19 124 return left 3 timeout end 22]
0
"%d")
arg)))
The only difference I see is left 3 3
versus left 3
under Windows.
Is this the cause of the fail ? Is this a bug or is it normal ? How can I make my macro work under Linux ?
NB: Linux Emacs version is 25, and Windows is 24...
3
isC-c
, so3 3
isC-c C-c
which is a commonly-used key sequence in various Emacs modes and keymaps. You're obviously expectingcua-mode
to be in effect, as you're trying to useC-c
andC-v
for copy and paste. Is that assumption actually correct in your Linux case?