> On Mon, 23 Mar 2020 20:43:56 +0100 Uwe Brauer wrote: > You're calling insert-buffer-substring with point-min and point-max of > the buffer you've just created, so they're both 1. Try this: > (defun my-copy-to-buffer (buffer) > "Copy the contents of the current buffer to BUFFER." > (interactive "BCopy to buffer: ") > (let ((start (point-min)) > (end (point-max))) > (copy-to-buffer buffer start end))) Thanks I tried this (defun my-copy-to-buffer (buffer) "Copy to specified BUFFER the whole buffer." (interactive "BCopy to buffer: \n") (let ((oldbuf (current-buffer)) (start (point-min)) (end (point-max))) (with-current-buffer (get-buffer-create buffer) (barf-if-buffer-read-only) (save-excursion (insert-buffer-substring oldbuf (point-min) (point-max)))))) And it did not work, Your code works though. I will never understand let Uwe