comparison lisp/ediff/ediff-util.el @ 14:9ee227acff29 r19-15b90

Import from CVS: tag r19-15b90
author cvs
date Mon, 13 Aug 2007 08:48:42 +0200
parents bcdc7deadc19
children 0293115a14e9
comparison
equal deleted inserted replaced
13:13c6d0aaafe5 14:9ee227acff29
20 ;; along with GNU Emacs; see the file COPYING. If not, write to the 20 ;; along with GNU Emacs; see the file COPYING. If not, write to the
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 ;; Boston, MA 02111-1307, USA. 22 ;; Boston, MA 02111-1307, USA.
23 23
24 ;;; Code: 24 ;;; Code:
25 25
26 ;; Pacify compiler and avoid the need in checking for boundp 26 (provide 'ediff-util)
27 (defvar ediff-patch-diagnostics nil) 27
28 (defvar ediff-patchbufer nil) 28 ;; Compiler pacifier
29 (and noninteractive 29 (defvar ediff-patch-diagnostics)
30 (eval-when-compile 30 (defvar ediff-patchbufer)
31 (let ((load-path (cons (expand-file-name ".") load-path))) 31 (defvar ediff-toolbar)
32 (load-file "ediff-init.el") 32 (defvar mark-active)
33 (load-file "ediff-help.el")))) 33
34 (eval-when-compile
35 (let ((load-path (cons "." load-path)))
36 (or (featurep 'ediff-init)
37 (load "ediff-init.el" nil nil 'nosuffix))
38 (or (featurep 'ediff-help)
39 (load "ediff-help.el" nil nil 'nosuffix))
40 (or (featurep 'ediff-mult)
41 (load "ediff-mult.el" nil nil 'nosuffix))
42 (or (featurep 'ediff-wind)
43 (load "ediff-wind.el" nil nil 'nosuffix))
44 (or (featurep 'ediff-diff)
45 (load "ediff-diff.el" nil nil 'nosuffix))
46 (or (featurep 'ediff-merg)
47 (load "ediff-merg.el" nil nil 'nosuffix))
48 (or (featurep 'ediff)
49 (load "ediff.el" nil nil 'nosuffix))
50 (or (featurep 'ediff-tbar)
51 (load "ediff-tbar.el" 'noerror nil 'nosuffix))
52 ))
34 ;; end pacifier 53 ;; end pacifier
35 54
36 (require 'ediff-init) 55 (require 'ediff-init)
37 (require 'ediff-help) 56 (require 'ediff-help)
38 (require 'ediff-mult) 57 (require 'ediff-mult)
39 58 (require 'ediff-wind)
40 ;;(if ediff-xemacs-p 59 (require 'ediff-diff)
41 ;; (require 'ediff-tbar) 60 (require 'ediff-merg)
42 ;; (defun ediff-use-toolbar-p () nil)) 61
43 ;; 62
44 ;; for the time being 63 ;; be careful with ediff-tbar
45 (defun ediff-use-toolbar-p () nil) 64 (if ediff-xemacs-p
65 (condition-case nil
66 (require 'ediff-tbar)
67 (error
68 (defun ediff-use-toolbar-p () nil)))
69 (defun ediff-use-toolbar-p () nil))
46 70
47 71
48 ;;; Functions 72 ;;; Functions
49 73
50 (defun ediff-mode () 74 (defun ediff-mode ()
81 (setq major-mode 'ediff-mode) 105 (setq major-mode 'ediff-mode)
82 (setq mode-name "Ediff") 106 (setq mode-name "Ediff")
83 (run-hooks 'ediff-mode-hook)) 107 (run-hooks 'ediff-mode-hook))
84 108
85 109
86 (require 'ediff-diff)
87 (require 'ediff-merg)
88
89 110
90 ;;; Build keymaps 111 ;;; Build keymaps
91 112
92 (ediff-defvar-local ediff-mode-map nil 113 (ediff-defvar-local ediff-mode-map nil
93 "Local keymap used in Ediff mode. 114 "Local keymap used in Ediff mode.
215 (fset 'ediff-mode-map ediff-mode-map) 236 (fset 'ediff-mode-map ediff-mode-map)
216 (run-hooks 'ediff-keymap-setup-hook)) 237 (run-hooks 'ediff-keymap-setup-hook))
217 238
218 239
219 ;;; Setup functions 240 ;;; Setup functions
220
221 (require 'ediff-wind)
222 241
223 ;; No longer needed: XEmacs has surrogate minibuffers now. 242 ;; No longer needed: XEmacs has surrogate minibuffers now.
224 ;;(or (boundp 'synchronize-minibuffers) 243 ;;(or (boundp 'synchronize-minibuffers)
225 ;; (defvar synchronize-minibuffers nil)) 244 ;; (defvar synchronize-minibuffers nil))
226 245
499 (if (not (ediff-multiframe-setup-p)) 518 (if (not (ediff-multiframe-setup-p))
500 (ediff-make-bottom-toolbar)) ; checks if toolbar is requested 519 (ediff-make-bottom-toolbar)) ; checks if toolbar is requested
501 (goto-char (point-min)) 520 (goto-char (point-min))
502 (skip-chars-forward ediff-whitespace))) 521 (skip-chars-forward ediff-whitespace)))
503 522
504 523
505 524
506 525
507 ;;; Commands for working with Ediff 526 ;;; Commands for working with Ediff
508 527
509 (defun ediff-update-diffs () 528 (defun ediff-update-diffs ()
1157 (funcall ediff-make-wide-display-function) 1176 (funcall ediff-make-wide-display-function)
1158 ;;(sit-for (if ediff-xemacs-p 0.4 0)) 1177 ;;(sit-for (if ediff-xemacs-p 0.4 0))
1159 (ediff-eval-in-buffer ctl-buf 1178 (ediff-eval-in-buffer ctl-buf
1160 (setq ediff-window-B nil) ; force update of window config 1179 (setq ediff-window-B nil) ; force update of window config
1161 (ediff-recenter 'no-rehighlight))))) 1180 (ediff-recenter 'no-rehighlight)))))
1162 1181
1163 ;;;###autoload 1182 ;;;###autoload
1164 (defun ediff-toggle-multiframe () 1183 (defun ediff-toggle-multiframe ()
1165 "Switch from the multiframe display to single-frame display and back. 1184 "Switch from the multiframe display to single-frame display and back.
1166 For a permanent change, set the variable `ediff-window-setup-function', 1185 For a permanent change, set the variable `ediff-window-setup-function',
1167 which see." 1186 which see."
1168 (interactive) 1187 (interactive)
1169 (let (set-func) 1188 (let (set-func window-setup-func)
1170 (or (ediff-window-display-p) 1189 (or (ediff-window-display-p)
1171 (error "%sEmacs is not running as a window application" 1190 (error "%sEmacs is not running as a window application"
1172 (if ediff-emacs-p "" "X"))) 1191 (if ediff-emacs-p "" "X")))
1173 1192
1174 (setq set-func (if (ediff-in-control-buffer-p) 'setq 'setq-default)) 1193 ;;(setq set-func (if (ediff-in-control-buffer-p) 'setq 'setq-default))
1175 1194
1176 (cond ((eq ediff-window-setup-function 'ediff-setup-windows-multiframe) 1195 (cond ((eq ediff-window-setup-function 'ediff-setup-windows-multiframe)
1177 (eval 1196 ;; (eval
1178 (list 1197 ;; (list
1179 set-func 1198 ;; set-func
1180 'ediff-window-setup-function ''ediff-setup-windows-plain))) 1199 ;; 'ediff-window-setup-function ''ediff-setup-windows-plain))
1200 (setq window-setup-func 'ediff-setup-windows-plain)
1201 )
1181 ((eq ediff-window-setup-function 'ediff-setup-windows-plain) 1202 ((eq ediff-window-setup-function 'ediff-setup-windows-plain)
1182 (if (ediff-in-control-buffer-p) 1203 (if (ediff-in-control-buffer-p)
1183 (ediff-kill-bottom-toolbar)) 1204 (ediff-kill-bottom-toolbar))
1184 (eval 1205 ;;(eval
1185 (list 1206 ;; (list
1186 set-func 1207 ;; set-func
1187 'ediff-window-setup-function ''ediff-setup-windows-multiframe)))) 1208 ;; 'ediff-window-setup-function 'ediff-setup-windows-multiframe))
1209 (setq window-setup-func 'ediff-setup-windows-multiframe)
1210 ))
1211
1212 ;; change default
1213 (setq-default ediff-window-setup-function window-setup-func)
1214 ;; change in all active ediff sessions
1215 (mapcar (function (lambda(buf)
1216 (ediff-eval-in-buffer buf
1217 (setq ediff-window-setup-function window-setup-func
1218 ediff-window-B nil))))
1219 ediff-session-registry)
1188 (if (ediff-in-control-buffer-p) 1220 (if (ediff-in-control-buffer-p)
1189 (progn 1221 (ediff-recenter 'no-rehighlight))))
1190 (setq ediff-window-B nil)
1191 (ediff-recenter 'no-rehighlight)))))
1192 1222
1193 ;; if was using toolbar, kill it 1223 ;; if was using toolbar, kill it
1194 (defun ediff-kill-bottom-toolbar () 1224 (defun ediff-kill-bottom-toolbar ()
1195 ;; Using ctl-buffer or ediff-control-window for LOCALE does not 1225 ;; Using ctl-buffer or ediff-control-window for LOCALE does not
1196 ;; work properly in XEmacs 19.14: we have to use 1226 ;; work properly in XEmacs 19.14: we have to use
1264 (ediff-overlay-start overl-A) (ediff-overlay-end overl-A))) 1294 (ediff-overlay-start overl-A) (ediff-overlay-end overl-A)))
1265 (ediff-eval-in-buffer ediff-buffer-B 1295 (ediff-eval-in-buffer ediff-buffer-B
1266 (narrow-to-region 1296 (narrow-to-region
1267 (ediff-overlay-start overl-B) (ediff-overlay-end overl-B))) 1297 (ediff-overlay-start overl-B) (ediff-overlay-end overl-B)))
1268 1298
1269 (if ediff-3way-comparison-job 1299 (if ediff-3way-job
1270 (ediff-eval-in-buffer ediff-buffer-C 1300 (ediff-eval-in-buffer ediff-buffer-C
1271 (narrow-to-region 1301 (narrow-to-region
1272 (ediff-overlay-start overl-C) (ediff-overlay-end overl-C)))) 1302 (ediff-overlay-start overl-C) (ediff-overlay-end overl-C))))
1273 ))) 1303 )))
1274 1304
1514 (if (< ediff-current-difference ediff-number-of-differences) 1544 (if (< ediff-current-difference ediff-number-of-differences)
1515 (let ((n (min ediff-number-of-differences 1545 (let ((n (min ediff-number-of-differences
1516 (+ ediff-current-difference arg))) 1546 (+ ediff-current-difference arg)))
1517 regexp-skip) 1547 regexp-skip)
1518 1548
1549 (ediff-visible-region)
1519 (or (>= n ediff-number-of-differences) 1550 (or (>= n ediff-number-of-differences)
1520 (setq regexp-skip (funcall ediff-skip-diff-region-function n)) 1551 (setq regexp-skip (funcall ediff-skip-diff-region-function n))
1521 (ediff-install-fine-diff-if-necessary n)) 1552 (ediff-install-fine-diff-if-necessary n))
1522 (while (and (< n ediff-number-of-differences) 1553 (while (and (< n ediff-number-of-differences)
1523 (or 1554 (or
1550 (ediff-barf-if-not-control-buffer) 1581 (ediff-barf-if-not-control-buffer)
1551 (if (> ediff-current-difference -1) 1582 (if (> ediff-current-difference -1)
1552 (let ((n (max -1 (- ediff-current-difference arg))) 1583 (let ((n (max -1 (- ediff-current-difference arg)))
1553 regexp-skip) 1584 regexp-skip)
1554 1585
1586 (ediff-visible-region)
1555 (or (< n 0) 1587 (or (< n 0)
1556 (setq regexp-skip (funcall ediff-skip-diff-region-function n)) 1588 (setq regexp-skip (funcall ediff-skip-diff-region-function n))
1557 (ediff-install-fine-diff-if-necessary n)) 1589 (ediff-install-fine-diff-if-necessary n))
1558 (while (and (> n -1) 1590 (while (and (> n -1)
1559 (or 1591 (or
2317 (ediff-kill-buffer-carefully ediff-diff-buffer) 2349 (ediff-kill-buffer-carefully ediff-diff-buffer)
2318 (ediff-kill-buffer-carefully ediff-custom-diff-buffer) 2350 (ediff-kill-buffer-carefully ediff-custom-diff-buffer)
2319 (ediff-kill-buffer-carefully ediff-fine-diff-buffer) 2351 (ediff-kill-buffer-carefully ediff-fine-diff-buffer)
2320 (ediff-kill-buffer-carefully ediff-tmp-buffer) 2352 (ediff-kill-buffer-carefully ediff-tmp-buffer)
2321 (ediff-kill-buffer-carefully ediff-error-buffer) 2353 (ediff-kill-buffer-carefully ediff-error-buffer)
2322 (ediff-kill-buffer-carefully ediff-patch-diagnostics)
2323 (ediff-kill-buffer-carefully ediff-msg-buffer) 2354 (ediff-kill-buffer-carefully ediff-msg-buffer)
2324 (ediff-kill-buffer-carefully ediff-debug-buffer) 2355 (ediff-kill-buffer-carefully ediff-debug-buffer)
2356 (if (boundp 'ediff-patch-diagnostics)
2357 (ediff-kill-buffer-carefully ediff-patch-diagnostics))
2325 2358
2326 (if (and (ediff-window-display-p) (frame-live-p ctl-frame)) 2359 (if (and (ediff-window-display-p) (frame-live-p ctl-frame))
2327 (delete-frame ctl-frame)) 2360 (delete-frame ctl-frame))
2328 ;; Hide bottom toolbar. --marcpa 2361 ;; Hide bottom toolbar. --marcpa
2329 (if (not (ediff-multiframe-setup-p)) 2362 (if (not (ediff-multiframe-setup-p))
2443 (buf-B ediff-buffer-B) 2476 (buf-B ediff-buffer-B)
2444 (buf-C ediff-buffer-C) 2477 (buf-C ediff-buffer-C)
2445 (buf-A-wind (ediff-get-visible-buffer-window buf-A)) 2478 (buf-A-wind (ediff-get-visible-buffer-window buf-A))
2446 (buf-B-wind (ediff-get-visible-buffer-window buf-B)) 2479 (buf-B-wind (ediff-get-visible-buffer-window buf-B))
2447 (buf-C-wind (ediff-get-visible-buffer-window buf-C)) 2480 (buf-C-wind (ediff-get-visible-buffer-window buf-C))
2448 (buf-patch ediff-patchbufer) 2481 (buf-patch (if (boundp 'ediff-patchbufer) ediff-patchbufer nil))
2449 (buf-patch-diag ediff-patch-diagnostics) 2482 (buf-patch-diag (if (boundp 'ediff-patch-diagnostics)
2483 ediff-patch-diagnostics nil))
2450 (buf-err ediff-error-buffer) 2484 (buf-err ediff-error-buffer)
2451 (buf-diff ediff-diff-buffer) 2485 (buf-diff ediff-diff-buffer)
2452 (buf-custom-diff ediff-custom-diff-buffer) 2486 (buf-custom-diff ediff-custom-diff-buffer)
2453 (buf-fine-diff ediff-fine-diff-buffer)) 2487 (buf-fine-diff ediff-fine-diff-buffer))
2454 2488
2465 (if (window-live-p buf-A-wind) 2499 (if (window-live-p buf-A-wind)
2466 (progn 2500 (progn
2467 (select-window buf-A-wind) 2501 (select-window buf-A-wind)
2468 (delete-other-windows) 2502 (delete-other-windows)
2469 (bury-buffer)) 2503 (bury-buffer))
2470 (if (ediff-buffer-live-p buf-A) (bury-buffer buf-A))) 2504 (if (ediff-buffer-live-p buf-A)
2505 (progn
2506 (set-buffer buf-A)
2507 (bury-buffer))))
2471 (if (window-live-p buf-B-wind) 2508 (if (window-live-p buf-B-wind)
2472 (progn 2509 (progn
2473 (select-window buf-B-wind) 2510 (select-window buf-B-wind)
2474 (delete-other-windows) 2511 (delete-other-windows)
2475 (bury-buffer)) 2512 (bury-buffer))
2476 (if (ediff-buffer-live-p buf-B) (bury-buffer buf-B))) 2513 (if (ediff-buffer-live-p buf-B)
2514 (progn
2515 (set-buffer buf-B)
2516 (bury-buffer))))
2477 (if (window-live-p buf-C-wind) 2517 (if (window-live-p buf-C-wind)
2478 (progn 2518 (progn
2479 (select-window buf-C-wind) 2519 (select-window buf-C-wind)
2480 (delete-other-windows) 2520 (delete-other-windows)
2481 (bury-buffer)) 2521 (bury-buffer))
2482 (if (ediff-buffer-live-p buf-C) (bury-buffer buf-C))) 2522 (if (ediff-buffer-live-p buf-C)
2483 2523 (progn
2524 (set-buffer buf-C)
2525 (bury-buffer))))
2484 )) 2526 ))
2485 2527
2486 2528
2487 (defun ediff-suspend () 2529 (defun ediff-suspend ()
2488 "Suspend Ediff. 2530 "Suspend Ediff.
2904 Ediff Control Panel to restore highlighting." 2946 Ediff Control Panel to restore highlighting."
2905 (interactive) 2947 (interactive)
2906 (let ((answer "") 2948 (let ((answer "")
2907 (possibilities (list ?A ?B ?C)) 2949 (possibilities (list ?A ?B ?C))
2908 (zmacs-regions t) 2950 (zmacs-regions t)
2951 (ctl-buf (current-buffer))
2909 quit-now 2952 quit-now
2910 begA begB endA endB bufA bufB) 2953 begA begB endA endB bufA bufB)
2911 2954
2912 (cond ((ediff-merge-job) 2955 (cond ((ediff-merge-job)
2913 (setq bufB ediff-buffer-C) 2956 (setq bufB ediff-buffer-C)
2914 (while (cond ((memq answer '(?A ?a)) 2957 (while (cond ((eq answer ?A)
2915 (setq bufA ediff-buffer-A) 2958 (setq bufA ediff-buffer-A
2959 possibilities '(?B))
2916 nil) 2960 nil)
2917 ((memq answer '(?B ?b)) 2961 ((eq answer ?B)
2918 (setq bufA ediff-buffer-B) 2962 (setq bufA ediff-buffer-B
2963 possibilities '(?A))
2919 nil) 2964 nil)
2920 ((equal answer "")) 2965 ((equal answer ""))
2921 (t (beep 1) 2966 (t (beep 1)
2922 (message "Valid values are A or B") 2967 (message "Valid values are A or B")
2923 (sit-for 2) 2968 (sit-for 2)
2924 t)) 2969 t))
2925 (let ((cursor-in-echo-area t)) 2970 (let ((cursor-in-echo-area t))
2926 (message "Which buffer to compare to the merge buffer (A/B)? ") 2971 (message "Which buffer to compare to the merge buffer (A/B)? ")
2927 (setq answer (read-char-exclusive))))) 2972 (setq answer (capitalize (read-char-exclusive))))))
2928 2973
2929 ((ediff-3way-comparison-job) 2974 ((ediff-3way-comparison-job)
2930 (while (cond ((memq answer possibilities) 2975 (while (cond ((memq answer possibilities)
2931 (setq possibilities (delq answer possibilities)) 2976 (setq possibilities (delq answer possibilities))
2932 (setq bufA 2977 (setq bufA
2962 (message "Enter the 2nd buffer you want to compare (%s): " 3007 (message "Enter the 2nd buffer you want to compare (%s): "
2963 (mapconcat 'char-to-string possibilities "/")) 3008 (mapconcat 'char-to-string possibilities "/"))
2964 (setq answer (capitalize (read-char-exclusive)))))) 3009 (setq answer (capitalize (read-char-exclusive))))))
2965 (t ; 2way comparison 3010 (t ; 2way comparison
2966 (setq bufA ediff-buffer-A 3011 (setq bufA ediff-buffer-A
2967 bufB ediff-buffer-B))) 3012 bufB ediff-buffer-B
3013 possibilities nil)))
2968 3014
2969 (ediff-eval-in-buffer bufA 3015 (ediff-eval-in-buffer bufA
2970 (or (mark t) 3016 (or (mark t)
2971 (error "You forgot to specify a region in buffer %s" (buffer-name))) 3017 (error "You forgot to specify a region in buffer %s" (buffer-name)))
2972 (setq begA (region-beginning) 3018 (setq begA (region-beginning)
3008 (narrow-to-region begB endB) 3054 (narrow-to-region begB endB)
3009 ;; (ediff-activate-mark) 3055 ;; (ediff-activate-mark)
3010 ) 3056 )
3011 ;; (sit-for 0) 3057 ;; (sit-for 0)
3012 3058
3059 ;; At this point, possibilities contains either the window char A/B/C
3060 ;; that was not selected, or it is nil. We delete the window that is not
3061 ;; selected.
3062 (if possibilities
3063 (ediff-eval-in-buffer ctl-buf
3064 (let* ((wind-to-delete (eval
3065 (intern
3066 (format
3067 "ediff-window-%c" (car possibilities)))))
3068 (frame (window-frame wind-to-delete)))
3069 (delete-window wind-to-delete)
3070 (select-frame frame)
3071 (balance-windows))))
3013 (or (y-or-n-p 3072 (or (y-or-n-p
3014 "Please check the selected regions. Continue? ") 3073 "Please check regions selected for comparison. Continue? ")
3015 (setq quit-now t)) 3074 (setq quit-now t))
3016 3075
3017 (ediff-eval-in-buffer bufA 3076 (ediff-eval-in-buffer bufA
3018 (widen)) 3077 (widen))
3019 (ediff-eval-in-buffer bufB 3078 (ediff-eval-in-buffer bufB
3020 (widen)) 3079 (widen))
3021 (if quit-now 3080 (if quit-now
3022 (error "Thank you. Come back another day...")) 3081 (ediff-eval-in-buffer ctl-buf
3082 (ediff-recenter)
3083 (sit-for 0)
3084 (error "All right. Make up your mind and come back...")))
3023 3085
3024 (ediff-regions-internal 3086 (ediff-regions-internal
3025 bufA begA endA bufB begB endB 3087 bufA begA endA bufB begB endB
3026 nil ; startup hook 3088 nil ; startup hook
3027 'ediff-regions-linewise ; job name 3089 'ediff-regions-linewise ; job name
3028 nil) ; no word mode 3090 nil) ; no word mode
3029 )) 3091 ))
3030 3092
3093
3031 3094
3032 (defun ediff-remove-flags-from-buffer (buffer overlay) 3095 (defun ediff-remove-flags-from-buffer (buffer overlay)
3033 (ediff-eval-in-buffer buffer 3096 (ediff-eval-in-buffer buffer
3034 (let ((inhibit-read-only t)) 3097 (let ((inhibit-read-only t))
3035 (if ediff-xemacs-p 3098 (if ediff-xemacs-p
3181 (ediff-overlay-put overl 'start-open nil) 3244 (ediff-overlay-put overl 'start-open nil)
3182 (ediff-overlay-put overl 'end-open nil))) 3245 (ediff-overlay-put overl 'end-open nil)))
3183 (ediff-overlay-put overl 'ediff-diff-num 0) 3246 (ediff-overlay-put overl 'ediff-diff-num 0)
3184 overl)))) 3247 overl))))
3185 3248
3186 (defsubst ediff-overlay-start (overl)
3187 (if (ediff-overlayp overl)
3188 (if ediff-emacs-p
3189 (overlay-start overl)
3190 (extent-start-position overl))))
3191
3192 (defsubst ediff-overlay-end (overl)
3193 (if (ediff-overlayp overl)
3194 (if ediff-emacs-p
3195 (overlay-end overl)
3196 (extent-end-position overl))))
3197
3198 3249
3199 ;; Like other-buffer, but prefers visible buffers and ignores temporary or 3250 ;; Like other-buffer, but prefers visible buffers and ignores temporary or
3200 ;; other insignificant buffers (those beginning with "^[ *]"). 3251 ;; other insignificant buffers (those beginning with "^[ *]").
3201 ;; Gets one arg--buffer name or a list of buffer names (it won't return 3252 ;; Gets one arg--buffer name or a list of buffer names (it won't return
3202 ;; these buffers). 3253 ;; these buffers).
3591 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun) 3642 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun)
3592 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1) 3643 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1)
3593 ;;; eval: (put 'ediff-eval-in-buffer 'edebug-form-spec '(form body)) 3644 ;;; eval: (put 'ediff-eval-in-buffer 'edebug-form-spec '(form body))
3594 ;;; End: 3645 ;;; End:
3595 3646
3596 (provide 'ediff-util)
3597
3598 ;;; ediff-util.el ends here 3647 ;;; ediff-util.el ends here