]> code.delx.au - gnu-emacs/blobdiff - lisp/emerge.el
Fix up comment convention on the arch-tag lines.
[gnu-emacs] / lisp / emerge.el
index e1fd33587ceaea7b12db712123c0603a34c6ad49..182cfa4b7fd5379cd70f25f2d945c94dbd375fe0 100644 (file)
 ;;;###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)
@@ -621,7 +633,7 @@ This is *not* a user option, since Emerge uses it for its own processing.")
           (if output-file
               (concat "Output to file: " output-file)
             (concat "Output to buffer: " (buffer-name merge-buffer))))
-     (insert-buffer emerge-A-buffer)
+     (save-excursion (insert-buffer-substring emerge-A-buffer))
      (emerge-set-keys)
      (setq emerge-difference-list (emerge-make-diff-list file-A file-B))
      (setq emerge-number-of-differences (length emerge-difference-list))
@@ -657,20 +669,20 @@ This is *not* a user option, since Emerge uses it for its own processing.")
      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
@@ -700,7 +712,7 @@ This is *not* a user option, since Emerge uses it for its own processing.")
   (emerge-eval-in-buffer
    emerge-diff-error-buffer
    (erase-buffer)
-   (insert-buffer emerge-diff-buffer)
+   (save-excursion (insert-buffer-substring emerge-diff-buffer))
    (delete-matching-lines ok-regexp)))
 
 ;;; Top-level and setup functions for three-file mode.
@@ -790,7 +802,7 @@ This is *not* a user option, since Emerge uses it for its own processing.")
           (if output-file
               (concat "Output to file: " output-file)
             (concat "Output to buffer: " (buffer-name merge-buffer))))
-     (insert-buffer emerge-A-buffer)
+     (save-excursion (insert-buffer-substring emerge-A-buffer))
      (emerge-set-keys)
      (setq emerge-difference-list
           (emerge-make-diff3-list file-A file-B file-ancestor))
@@ -862,16 +874,16 @@ This is *not* a user option, since Emerge uses it for its own processing.")
        ;; 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)))))
 
@@ -1454,7 +1466,7 @@ These characteristics are restored by `emerge-restore-buffer-characteristics'."
                                     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
@@ -1874,13 +1886,13 @@ buffer after this will cause serious problems."
   (emerge-restore-buffer-characteristics)
   ;; null out the difference markers so they don't slow down future editing
   ;; operations
-  (mapcar (function (lambda (d)
-                     (set-marker (aref d 0) nil)
-                     (set-marker (aref d 1) nil)
-                     (set-marker (aref d 2) nil)
-                     (set-marker (aref d 3) nil)
-                     (set-marker (aref d 4) nil)
-                     (set-marker (aref d 5) nil)))
+  (mapc (function (lambda (d)
+                   (set-marker (aref d 0) nil)
+                   (set-marker (aref d 1) nil)
+                   (set-marker (aref d 2) nil)
+                   (set-marker (aref d 3) nil)
+                   (set-marker (aref d 4) nil)
+                   (set-marker (aref d 5) nil)))
          emerge-difference-list)
   ;; allow them to be garbage collected
   (setq emerge-difference-list nil)
@@ -3112,7 +3124,7 @@ SPC, it is ignored; if it is anything else, it is processed as a command."
                  (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.
@@ -3209,5 +3221,5 @@ More precisely, a [...] regexp to match any one such character."
 
 (provide 'emerge)
 
-;;; arch-tag: a575f092-6e44-400e-b8a2-4124e9377585
+;; arch-tag: a575f092-6e44-400e-b8a2-4124e9377585
 ;;; emerge.el ends here