As Ihor pointed out, delete-char deletes two letters. Can someone take a look and evaluate if this is issue with delete-char? I simplified the recipes as shown below.
#+begin_src emacs-lisp (defun emacs-bug-reproduce-45915 () "Reproduce bug#45915." ;; (gnus-read-ephemeral-emacs-bug-group 45915) (interactive) (with-current-buffer (get-buffer-create "*temp buffer*") (erase-buffer) (require 'org) (orgtbl-mode 1) (insert (format "emacs-version: %s, org-version: %s\n" emacs-version org-version)) (insert "| 1 |")) (switch-to-buffer-other-window "*temp buffer*") (execute-kbd-macro (kbd "M-< C-n C-f C-f")) (message "I will hit <S-return>.") (sit-for 2) (execute-kbd-macro (kbd "<S-return>")) (sit-for 2) (message "I will hit <delete>.") (sit-for 2) (execute-kbd-macro (kbd "<delete>")) (message "Two letters were deleted unexpectedly.")) ;;; (call-interactively 'emacs-bug-reproduce-45915) #+end_src