mac port の emacs-devel-app を更新すると emacs 28 が、homebrew のemacs を更新すると emacs 27 がインストールできた。
emacs-27 のフォルダを、emacs-28 にコピーしてemacs-version で読み込ませるinit.el を分岐させて終了。
;;; emacs init files ;;; (cond ((string-match "GNU Emacs 28\\." (emacs-version)) (load "~/.emacs.d/emacs-28/init.el")) ((string-match "GNU Emacs 27\\." (emacs-version)) (load "~/.emacs.d/emacs-27/init.el")) ((string-match "GNU Emacs 26\\." (emacs-version)) (load "~/.emacs.d/emacs-26/init.el")) ((string-match "GNU Emacs 25\\." (emacs-version)) (load "~/.emacs.d/emacs-25/init.el")) ((string-match "GNU Emacs 24\\." (emacs-version)) (load "~/.emacs.d/emacs-24/init.el")) ((string-match "GNU Emacs 23\\." (emacs-version)) (load "~/.emacs.d/emacs-23/.emacs")) ((string-match "GNU Emacs 22\\." (emacs-version)) (load "~/.emacs.d/emacs-22/.emacs")) )