From 1f0b74a7c57a358947bef1fd8dab0f3ef9f0c785 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 31 Mar 2022 19:11:23 +0200 Subject: [PATCH] fix(lib): cases where doom/bumpify-diff fails ...to crawl the package! forms in the magit diff buffer. --- core/autoload/packages.el | 41 ++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/core/autoload/packages.el b/core/autoload/packages.el index 36d53a05f..a08110f81 100644 --- a/core/autoload/packages.el +++ b/core/autoload/packages.el @@ -208,6 +208,7 @@ Must be run from a magit diff buffer." (magit-diff-staged) (unless (eq major-mode 'magit-diff-mode) (user-error "Not in a magit diff buffer")) + (goto-char (point-min)) (let (targets lines) (save-excursion (while (re-search-forward "^modified +\\(.+\\)$" nil t) @@ -216,26 +217,26 @@ Must be run from a magit diff buffer." (while (re-search-forward "^-" nil t) (let ((file (magit-file-at-point)) before after) - (save-window-excursion - (call-interactively #'magit-diff-visit-file) - (or (looking-at-p "(package!") - (re-search-forward "(package! " (line-end-position) t) - (re-search-backward "(package! ")) - (let ((buffer-file-name file)) - (cl-destructuring-bind (&key package plist _beg _end) - (doom--package-at-point) - (setq before (doom--package-to-bump-string package plist))))) - (re-search-forward "^+") - (save-window-excursion - (call-interactively #'magit-diff-visit-file) - (or (looking-at-p "(package!") - (re-search-forward "(package! " (line-end-position) t) - (re-search-backward "(package! ")) - (let ((buffer-file-name file)) - (cl-destructuring-bind (&key package plist _beg _end) - (doom--package-at-point) - (setq after (doom--package-to-bump-string package plist))))) - (cl-pushnew (format "%s -> %s" before after) lines))) + (and (save-window-excursion + (call-interactively #'magit-diff-visit-file) + (when (or (looking-at-p "(package!") + (re-search-forward "(package! " (line-end-position) t) + (re-search-backward "(package! " nil t)) + (let ((buffer-file-name file)) + (cl-destructuring-bind (&key package plist _beg _end) + (doom--package-at-point) + (setq before (doom--package-to-bump-string package plist)))))) + (re-search-forward "^+" nil t) + (save-window-excursion + (call-interactively #'magit-diff-visit-file) + (or (looking-at-p "(package!") + (re-search-forward "(package! " (line-end-position) t) + (re-search-backward "(package! ")) + (let ((buffer-file-name file)) + (cl-destructuring-bind (&key package plist _beg _end) + (doom--package-at-point) + (setq after (doom--package-to-bump-string package plist))))) + (cl-pushnew (format "%s -> %s" before after) lines)))) (if (null lines) (user-error "No bumps to bumpify") (prog1 (funcall (if interactive #'kill-new #'identity)