changeset 81496:2daae59e565e

(c-remove-any-local-eval-or-mode-variables): When removing lines, also remove the \n. Correction of patch of 2007-04-21.
author Alan Mackenzie <acm@muc.de>
date Wed, 20 Jun 2007 08:51:31 +0000
parents d573c63c3515
children 6c3d4c79d6e1
files lisp/progmodes/cc-mode.el
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/cc-mode.el	Wed Jun 20 08:50:10 2007 +0000
+++ b/lisp/progmodes/cc-mode.el	Wed Jun 20 08:51:31 2007 +0000
@@ -790,7 +790,8 @@
   ;; If the buffer specifies `mode' or `eval' in its File Local Variable list
   ;; or on the first line, remove all occurrences.  See
   ;; `c-postprocess-file-styles' for justification.  There is no need to save
-  ;; point here, or even bother too much about the buffer contents.
+  ;; point here, or even bother too much about the buffer contents.  However,
+  ;; DON'T mess up the kill-ring.
   ;;
   ;; Most of the code here is derived from Emacs 21.3's `hack-local-variables'
   ;; in files.el.
@@ -819,8 +820,8 @@
 		      (regexp-quote suffix)
 		      "$")
 	      nil t)
-	(beginning-of-line)
-	(delete-region (point) (progn (end-of-line) (point)))))
+	(forward-line 0)
+	(delete-region (point) (progn (forward-line) (point)))))
 
     ;; Delete the first line, if we've got one, in case it contains a mode spec.
     (unless (and lv-point
@@ -828,7 +829,8 @@
 			(forward-line 0)
 			(bobp)))
       (goto-char (point-min))
-      (delete-region (point) (progn (end-of-line) (point))))))
+      (unless (eobp)
+	(delete-region (point) (progn (forward-line) (point)))))))
 
 (defun c-postprocess-file-styles ()
   "Function that post processes relevant file local variables in CC Mode.