Mercurial > hg
changeset 2997:48baf9fb1921
mercurial.el: get rid of unportable, unperformant use of replace-regexp.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Tue, 22 Aug 2006 08:53:37 -0700 |
parents | 799811087044 |
children | e1762867a734 |
files | contrib/mercurial.el |
diffstat | 1 files changed, 10 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/mercurial.el Tue Aug 22 07:55:10 2006 -0700 +++ b/contrib/mercurial.el Tue Aug 22 08:53:37 2006 -0700 @@ -1,6 +1,6 @@ ;;; mercurial.el --- Emacs support for the Mercurial distributed SCM -;; Copyright (C) 2005 Bryan O'Sullivan +;; Copyright (C) 2005, 2006 Bryan O'Sullivan ;; Author: Bryan O'Sullivan <bos@serpentine.com> @@ -724,6 +724,13 @@ default-directory) (cd hg-root-dir))))) +(defun hg-fix-paths () + "Fix paths reported by some Mercurial commands." + (save-excursion + (goto-char (point-min)) + (while (re-search-forward " \\.\\.." nil t) + (replace-match " " nil nil)))) + (defun hg-add (path) "Add PATH to the Mercurial repository on the next commit. With a prefix argument, prompt for the path to add." @@ -732,8 +739,7 @@ (update (equal buffer-file-name path))) (hg-view-output (hg-output-buffer-name) (apply 'call-process (hg-binary) nil t nil (list "add" path)) - ;; "hg add" shows pathes relative NOT TO ROOT BUT TO REPOSITORY - (replace-regexp " \\.\\.." " " nil 0 (buffer-size)) + (hg-fix-paths) (goto-char 0) (cd (hg-root path))) (when update @@ -973,7 +979,7 @@ (hg-view-output (hg-output-buffer-name) (apply 'call-process (hg-binary) nil t nil (list "forget" path)) ;; "hg forget" shows pathes relative NOT TO ROOT BUT TO REPOSITORY - (replace-regexp " \\.\\.." " " nil 0 (buffer-size)) + (hg-fix-paths) (goto-char 0) (cd (hg-root path))) (when update