@@ -2073,13 +2073,7 @@ to update."
20732073 (configuration-layer//get-packages-to-update distant-packages))
20742074 (skipped-count (length
20752075 configuration-layer--check-new-version-error-packages))
2076- (date (format-time-string " %y-%m-%d_%H.%M.%S" ))
2077- (rollback-dir (expand-file-name
2078- (concat configuration-layer-rollback-directory
2079- (file-name-as-directory date))))
2080- (upgrade-count (length update-packages))
2081- (upgraded-count 0 )
2082- (update-packages-alist))
2076+ (upgrade-count (length update-packages)))
20832077 (when configuration-layer--check-new-version-error-packages
20842078 (spacemacs-buffer/warning
20852079 (concat " --> Warning: cannot update %s package(s), possibly due"
@@ -2122,45 +2116,56 @@ to update."
21222116 (list pkg)))
21232117 update-packages))))
21242118 (setq upgrade-count (length update-packages)))))
2125- (spacemacs-buffer/append
2126- " --> performing backup of package(s) to update...\n " t )
2127- (spacemacs//redisplay)
2128- (dolist (pkg update-packages)
2129- (unless (memq pkg dotspacemacs-frozen-packages)
2130- (let* ((src-dir (configuration-layer//get-package-directory pkg))
2131- (dest-dir (expand-file-name
2132- (concat rollback-dir
2133- (file-name-as-directory
2134- (file-name-nondirectory src-dir))))))
2135- (copy-directory src-dir dest-dir 'keeptime 'create 'copy-content )
2136- (push (cons pkg (file-name-nondirectory src-dir))
2137- update-packages-alist))))
2138- (spacemacs/dump-vars-to-file
2139- '(update-packages-alist)
2140- (expand-file-name (concat rollback-dir
2141- configuration-layer-rollback-info)))
2142- (dolist (pkg update-packages)
2143- (unless (memq pkg dotspacemacs-frozen-packages)
2144- (setq upgraded-count (1+ upgraded-count))
2145- (spacemacs-buffer/replace-last-line
2146- (format " --> preparing update of package %s ... [%s /%s ] "
2147- pkg upgraded-count upgrade-count) t )
2148- (spacemacs//redisplay)
2149- (configuration-layer//package-delete pkg)))
2150- (spacemacs-buffer/append
2151- (format " \n --> %s package(s) to be updated.\n " upgraded-count))
2152- (spacemacs-buffer/append
2153- (format " \n Restart Emacs to install the updated packages. %s \n "
2154- (if (member 'restart-emacs update-packages)
2155- (concat " \n (SPC q r) won't work this time, because the"
2156- " \n restart-emacs package is being updated." )
2157- " (SPC q r)" )))
2158- (configuration-layer//cleanup-rollback-directory)
2159- (spacemacs//redisplay))
2119+ (configuration-layer//update-packages update-packages))
21602120 (when (eq upgrade-count 0 )
21612121 (spacemacs-buffer/append " --> All packages are up to date.\n " )
21622122 (spacemacs//redisplay))))
21632123
2124+ (defun configuration-layer//update-packages (update-packages )
2125+ " Back up and delete packages in UPDATE-PACKAGES."
2126+ (let* ((date (format-time-string " %y-%m-%d_%H.%M.%S" ))
2127+ (rollback-dir (expand-file-name
2128+ (concat configuration-layer-rollback-directory
2129+ (file-name-as-directory date))))
2130+ (update-packages-alist)
2131+ (upgraded-count 0 )
2132+ (upgrade-count (length update-packages)))
2133+ (spacemacs-buffer/append
2134+ " --> performing backup of package(s) to update...\n " t )
2135+ (spacemacs//redisplay)
2136+ (dolist (pkg update-packages)
2137+ (unless (memq pkg dotspacemacs-frozen-packages)
2138+ (let* ((src-dir (configuration-layer//get-package-directory pkg))
2139+ (dest-dir (expand-file-name
2140+ (concat rollback-dir
2141+ (file-name-as-directory
2142+ (file-name-nondirectory src-dir))))))
2143+ (copy-directory src-dir dest-dir 'keeptime 'create 'copy-content )
2144+ (push (cons pkg (file-name-nondirectory src-dir))
2145+ update-packages-alist))))
2146+ (spacemacs/dump-vars-to-file
2147+ '(update-packages-alist)
2148+ (expand-file-name (concat rollback-dir
2149+ configuration-layer-rollback-info)))
2150+ (dolist (pkg update-packages)
2151+ (unless (memq pkg dotspacemacs-frozen-packages)
2152+ (setq upgraded-count (1+ upgraded-count))
2153+ (spacemacs-buffer/replace-last-line
2154+ (format " --> preparing update of package %s ... [%s /%s ] "
2155+ pkg upgraded-count upgrade-count) t )
2156+ (spacemacs//redisplay)
2157+ (configuration-layer//package-delete pkg)))
2158+ (spacemacs-buffer/append
2159+ (format " \n --> %s package(s) to be updated.\n " upgraded-count))
2160+ (spacemacs-buffer/append
2161+ (format " \n Restart Emacs to install the updated packages. %s \n "
2162+ (if (member 'restart-emacs update-packages)
2163+ (concat " \n (SPC q r) won't work this time, because the"
2164+ " \n restart-emacs package is being updated." )
2165+ " (SPC q r)" )))
2166+ (configuration-layer//cleanup-rollback-directory)
2167+ (spacemacs//redisplay)))
2168+
21642169(defun configuration-layer//rollback-slots ()
21652170 " Return a completion table for rollback slots."
21662171 (let ((dirs 'unset ))
0 commit comments