git-undo-el icon indicating copy to clipboard operation
git-undo-el copied to clipboard

Not work on emacs 28.2 ?

Open zw963 opened this issue 3 years ago • 0 comments

Following is error log when run git-undo on a selected region.


Debugger entered--Lisp error: (search-failed "^@@") re-search-forward("^@@") (progn (shell-command (format "git --no-pager diff -U%d HEAD -- %s" buffer-lines (file-name-nondirectory file-name)) (current-buffer)) (goto-char (point-min)) (re-search-forward "^@@") (forward-line) (let ((adjustment 0) (line 1) adjusted-start adjusted-end) (while (not (eobp)) (let* ((val (char-after))) (cond ((eql val 43) (let nil (setq adjustment ...))) ((eql val 45) (let nil (setq adjustment ...))) (t (let nil (setq line ...))))) (if (= (- start adjustment) line) (progn (setq adjusted-start (+ start adjustment)))) (if (= (- end adjustment) line) (progn (setq adjusted-end (+ end adjustment)) (goto-char (point-max)))) (forward-line)) (cons (1+ adjusted-start) adjusted-end))) (unwind-protect (progn (shell-command (format "git --no-pager diff -U%d HEAD -- %s" buffer-lines (file-name-nondirectory file-name)) (current-buffer)) (goto-char (point-min)) (re-search-forward "^@@") (forward-line) (let ((adjustment 0) (line 1) adjusted-start adjusted-end) (while (not (eobp)) (let* ((val (char-after))) (cond ((eql val 43) (let nil ...)) ((eql val 45) (let nil ...)) (t (let nil ...)))) (if (= (- start adjustment) line) (progn (setq adjusted-start (+ start adjustment)))) (if (= (- end adjustment) line) (progn (setq adjusted-end (+ end adjustment)) (goto-char (point-max)))) (forward-line)) (cons (1+ adjusted-start) adjusted-end))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (shell-command (format "git --no-pager diff -U%d HEAD -- %s" buffer-lines (file-name-nondirectory file-name)) (current-buffer)) (goto-char (point-min)) (re-search-forward "^@@") (forward-line) (let ((adjustment 0) (line 1) adjusted-start adjusted-end) (while (not (eobp)) (let* ((val ...)) (cond (... ...) (... ...) (t ...))) (if (= (- start adjustment) line) (progn (setq adjusted-start ...))) (if (= (- end adjustment) line) (progn (setq adjusted-end ...) (goto-char ...))) (forward-line)) (cons (1+ adjusted-start) adjusted-end))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " temp" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (shell-command (format "git --no-pager diff -U%d HEAD -- %s" buffer-lines (file-name-nondirectory file-name)) (current-buffer)) (goto-char (point-min)) (re-search-forward "^@@") (forward-line) (let ((adjustment 0) (line 1) adjusted-start adjusted-end) (while (not (eobp)) (let* (...) (cond ... ... ...)) (if (= ... line) (progn ...)) (if (= ... line) (progn ... ...)) (forward-line)) (cons (1+ adjusted-start) adjusted-end))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((file-name (buffer-file-name)) (buffer-lines (line-number-at-pos (point-max)))) (let ((temp-buffer (generate-new-buffer " temp" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (shell-command (format "git --no-pager diff -U%d HEAD -- %s" buffer-lines (file-name-nondirectory file-name)) (current-buffer)) (goto-char (point-min)) (re-search-forward "^@@") (forward-line) (let ((adjustment 0) (line 1) adjusted-start adjusted-end) (while (not ...) (let* ... ...) (if ... ...) (if ... ...) (forward-line)) (cons (1+ adjusted-start) adjusted-end))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) git-undo--compute-offsets(6 5) (let* ((end-line (git-undo--compute-offsets (line-number-at-pos start) (1- (line-number-at-pos end)))) (start-line (if end-line (car-safe (prog1 end-line (setq end-line (cdr end-line)))) (signal 'wrong-number-of-arguments (list '(start-line . end-line) (length end-line)))))) (let ((temp-buffer (generate-new-buffer " temp" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (message "Retrieving Git history for lines %d to %d..." start-line end-line) (shell-command (format "git --no-pager log --no-expand-tabs -p -L%d,%d:%s" start-line end-line (file-name-nondirectory file-name)) (current-buffer)) (message "") (goto-char (point-min)) (let ((commit t) history) (while (and commit ... ...) (delete-region ... ...) (setq commit ...) (setq history ...)) (nreverse history))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (let ((file-name (buffer-file-name))) (let* ((end-line (git-undo--compute-offsets (line-number-at-pos start) (1- (line-number-at-pos end)))) (start-line (if end-line (car-safe (prog1 end-line (setq end-line ...))) (signal 'wrong-number-of-arguments (list '... (length end-line)))))) (let ((temp-buffer (generate-new-buffer " temp" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (message "Retrieving Git history for lines %d to %d..." start-line end-line) (shell-command (format "git --no-pager log --no-expand-tabs -p -L%d,%d:%s" start-line end-line ...) (current-buffer)) (message "") (goto-char (point-min)) (let (... history) (while ... ... ... ...) (nreverse history))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))) git-undo--build-history(134 162) (set (make-local-variable 'git-undo--history) (git-undo--build-history start end)) (if (eq last-command 'git-undo) (git-undo--replace-region) (set (make-local-variable 'git-undo--region-start) (copy-marker start nil)) (set (make-local-variable 'git-undo--region-end) (copy-marker end t)) (set (make-local-variable 'git-undo--history) (git-undo--build-history start end)) (git-undo--replace-region)) git-undo(134 162) funcall-interactively(git-undo 134 162) command-execute(git-undo record) execute-extended-command(nil "git-undo" "git-undo") funcall-interactively(execute-extended-command nil "git-undo" "git-undo") command-execute(execute-extended-command)


thanks

zw963 avatar Oct 13 '22 16:10 zw963