1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

* lisp/vc/diff-mode.el (diff-setup-buffer-type): Move to diff-setup-whitespace

* lisp/vc/vc.el: Add declare-function for diff-setup-buffer-type (bug#51016).
This commit is contained in:
Juri Linkov 2021-11-09 10:18:24 +02:00
parent e379cb6f13
commit 565514fe96
2 changed files with 17 additions and 16 deletions

View file

@ -1475,21 +1475,6 @@ See `after-change-functions' for the meaning of BEG, END and LEN."
;; Added when diff--font-lock-prettify is non-nil!
(cl-pushnew 'display font-lock-extra-managed-props)))
(defun diff-setup-buffer-type ()
"Try to guess the `diff-buffer-type' from content of current Diff mode buffer.
`outline-regexp' is updated accordingly."
(save-excursion
(goto-char (point-min))
(setq-local diff-buffer-type
(if (re-search-forward "^diff --git" nil t)
'git
nil)))
(when (eq diff-buffer-type 'git)
(setq diff-outline-regexp
(concat "\\(^diff --git.*\n\\|" diff-hunk-header-re "\\)"))
(setq-local outline-level #'diff--outline-level))
(setq-local outline-regexp diff-outline-regexp))
(defvar whitespace-style)
(defvar whitespace-trailing-regexp)
@ -1591,6 +1576,21 @@ modified lines of the diff."
"^[-+!] .*?\\([\t ]+\\)$"
"^[-+!<>].*?\\([\t ]+\\)$"))))
(defun diff-setup-buffer-type ()
"Try to guess the `diff-buffer-type' from content of current Diff mode buffer.
`outline-regexp' is updated accordingly."
(save-excursion
(goto-char (point-min))
(setq-local diff-buffer-type
(if (re-search-forward "^diff --git" nil t)
'git
nil)))
(when (eq diff-buffer-type 'git)
(setq diff-outline-regexp
(concat "\\(^diff --git.*\n\\|" diff-hunk-header-re "\\)"))
(setq-local outline-level #'diff--outline-level))
(setq-local outline-regexp diff-outline-regexp))
(defun diff-delete-if-empty ()
;; An empty diff file means there's no more diffs to integrate, so we
;; can just remove the file altogether. Very handy for .rej files if we

View file

@ -739,6 +739,7 @@
(require 'cl-lib)
(declare-function diff-setup-whitespace "diff-mode" ())
(declare-function diff-setup-buffer-type "diff-mode" ())
(eval-when-compile
(require 'dired))
@ -1739,7 +1740,7 @@ to override the value of `vc-diff-switches' and `diff-switches'."
(insert (cdr messages) ".\n")
(message "%s" (cdr messages))))
(diff-setup-whitespace)
(diff-setup-buffer-type)
(diff-setup-buffer-type)
(goto-char (point-min))
(when window
(shrink-window-if-larger-than-buffer window)))