Skip to main content
edited tags
Source Link
Drew
  • 79.1k
  • 10
  • 123
  • 257

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 
 (quote         '([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 
 (quote         '([down home 67108896 19 124 return left 3 timeout end 22]
            0
            "%d"))
          arg)))

The only difference I see is "left 3 3"left 3 3 versus "left 3"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...

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 (quote ([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 (quote ([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...

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...

Source Link
jcm69
  • 111
  • 3

macro execution with i-search fails under Linux and succeeds under windows?

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 (quote ([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 (quote ([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...