X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/3a35cf56e7c9951f6d99f54c65d7109654c854f0..59ce725a3b68cbc324f01bc8dc5f9e07286431d1:/lisp/progmodes/mantemp.el diff --git a/lisp/progmodes/mantemp.el b/lisp/progmodes/mantemp.el index 83caccbe0f..d87fdbbfde 100644 --- a/lisp/progmodes/mantemp.el +++ b/lisp/progmodes/mantemp.el @@ -1,6 +1,7 @@ ;;; mantemp.el --- create manual template instantiations from g++ 2.7.2 output -;; Copyright (C) 1996 Free Software Foundation, Inc. +;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +;; Free Software Foundation, Inc. ;; Author: Tom Houlder ;; Created: 10 Dec 1996 @@ -10,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published -;; by the Free Software Foundation; either version 2, or (at your +;; by the Free Software Foundation; either version 3, or (at your ;; option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, but @@ -104,14 +105,14 @@ "^[A-z :&*<>~=,0-9+]*>::operator " nil t nil) (progn (backward-char 11) - (kill-line))) + (delete-region (point) (line-end-position)))) ;; Remove other member function extensions. (goto-char (point-min)) (message "Removing member function extensions") (while (re-search-forward "^[A-z :&*<>~=,0-9+]*>::" nil t nil) (progn (backward-char 2) - (kill-line))))) + (delete-region (point) (line-end-position)))))) (defun mantemp-sort-and-unique-lines () "Eliminate all consecutive duplicate lines in the buffer." @@ -126,7 +127,7 @@ (progn (forward-line -1) (beginning-of-line) - (kill-line 1))))) + (delete-region (point) (progn (forward-line 1) (point))))))) (defun mantemp-insert-cxx-syntax () "Insert C++ syntax around each template class and function. @@ -160,7 +161,7 @@ the lines." (progn (beginning-of-line) (forward-word 1) - (kill-word 1))))) + (delete-region (point) (progn (forward-word 1) (point))))))) (defun mantemp-make-mantemps () "Gathering interface to the functions modifying the buffer." @@ -188,16 +189,16 @@ This function does the same thing as `mantemp-make-mantemps-buffer', but operates on the region." (interactive) (let ((cur-buf (current-buffer)) - (mantemp-buffer (generate-new-buffer "*mantemp*"))) + (mantemp-buffer (generate-new-buffer "*mantemp*")) + (str (buffer-substring (mark) (point)))) ;; Copy the region to a temporary buffer, make the C++ code there ;; and copy the result back to the current buffer. - (kill-region (mark) (point)) (set-buffer mantemp-buffer) - (yank) + (insert str) (mantemp-make-mantemps) - (kill-region (point-min) (point-max)) + (setq str (buffer-string)) (set-buffer cur-buf) - (yank) + (insert str) (kill-buffer mantemp-buffer)) (message "Done"))