;;;###autoload (define-key menu-bar-emerge-menu [emerge-buffers]
;;;###autoload '("Buffers..." . emerge-buffers))
+;; There aren't really global variables, just dynamic bindings
+(defvar A-begin)
+(defvar A-end)
+(defvar B-begin)
+(defvar B-end)
+(defvar diff)
+(defvar diff-vector)
+(defvar merge-begin)
+(defvar merge-end)
+(defvar template)
+(defvar valid-diff)
+
;;; Macros
(defmacro emerge-eval-in-buffer (buffer &rest forms)
diff-buffer
(goto-char (point-min))
(while (re-search-forward emerge-match-diff-line nil t)
- (let* ((a-begin (string-to-int (buffer-substring (match-beginning 1)
- (match-end 1))))
+ (let* ((a-begin (string-to-number (buffer-substring (match-beginning 1)
+ (match-end 1))))
(a-end (let ((b (match-beginning 3))
(e (match-end 3)))
(if b
- (string-to-int (buffer-substring b e))
+ (string-to-number (buffer-substring b e))
a-begin)))
(diff-type (buffer-substring (match-beginning 4) (match-end 4)))
- (b-begin (string-to-int (buffer-substring (match-beginning 5)
- (match-end 5))))
+ (b-begin (string-to-number (buffer-substring (match-beginning 5)
+ (match-end 5))))
(b-end (let ((b (match-beginning 7))
(e (match-end 7)))
(if b
- (string-to-int (buffer-substring b e))
+ (string-to-number (buffer-substring b e))
b-begin))))
;; fix the beginning and end numbers, because diff is somewhat
;; strange about how it numbers lines
;; it is a "c" group
(if (match-beginning 2)
;; it has two numbers
- (list (string-to-int
+ (list (string-to-number
(buffer-substring (match-beginning 1) (match-end 1)))
- (1+ (string-to-int
+ (1+ (string-to-number
(buffer-substring (match-beginning 3) (match-end 3)))))
;; it has one number
- (let ((x (string-to-int
+ (let ((x (string-to-number
(buffer-substring (match-beginning 1) (match-end 1)))))
(list x (1+ x))))
;; it is an "a" group
- (let ((x (1+ (string-to-int
+ (let ((x (1+ (string-to-number
(buffer-substring (match-beginning 1) (match-end 1))))))
(list x x)))))
emerge-merging-values)))))
(defun emerge-restore-buffer-characteristics ()
- "Restores characteristics saved by `emerge-remember-buffer-characteristics'."
+ "Restore characteristics saved by `emerge-remember-buffer-characteristics'."
(let ((A-values emerge-A-buffer-values)
(B-values emerge-B-buffer-values))
(emerge-eval-in-buffer emerge-A-buffer
(setq unread-command-events (list c)))))
(erase-buffer)))))
-;; Improved auto-save gfile names.
+;; Improved auto-save file names.
;; This function fixes many problems with the standard auto-save file names:
;; Auto-save files for non-file buffers get put in the default directory
;; for the buffer, whether that makes sense or not.
(provide 'emerge)
+;;; arch-tag: a575f092-6e44-400e-b8a2-4124e9377585
;;; emerge.el ends here