> (global-set-key "\C-cb" "\C-xh\M-w") ;copy buffer C-c b
> (global-set-key "\C-cb" "\C-xh\M-w") ;copy buffer C-c p
>
> I get symbol function definition is void ...
>
> That is to be expected.
>
why then this work:
(global-set-key "\C-cl" "\C-a\C-@\C-e\M-w") ;copy ling C-c l
OK, I guess it isn't to be expected. The question boils down to the
behavior of the function `define-key', which is what `global-set-key'
calls (without any intervening typechecking) and which _does_ allow
"strings treated as macros". So, I have no idea.
Evaluating this works:
(execute-kbd-macro "\C-xh\M-w")
But anyway, my hint should work for you. Maybe someone else
can say whether you found a bug or not.