]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/cc-cmds.el
Romain Francoise's and Ami Fischman's bugfixes.
[gnu-emacs] / lisp / progmodes / cc-cmds.el
index f786153b383c66bc9fb843fcf3f5a4ae9f3c8a7d..c6f60d3dcc0fe12b03951b95d4aaec6f01de1d89 100644 (file)
 \f
 (defvar c-fix-backslashes t)
 
-(defun c-shift-line-indentation (shift-amt)
-  ;; This function does not do any hidden buffer changes.
-  (let ((pos (- (point-max) (point)))
-       (c-macro-start c-macro-start)
-       tmp-char-inserted)
-    (if (zerop shift-amt)
-       nil
-      (when (and (c-query-and-set-macro-start)
-                (looking-at "[ \t]*\\\\$")
-                (save-excursion
-                  (skip-chars-backward " \t")
-                  (bolp)))
-       (insert ?x)
-       (backward-char)
-       (setq tmp-char-inserted t))
-      (unwind-protect
-         (let ((col (current-indentation)))
-           (delete-region (c-point 'bol) (c-point 'boi))
-           (beginning-of-line)
-           (indent-to (+ col shift-amt)))
-       (when tmp-char-inserted
-         (delete-char 1))))
-    ;; If initial point was within line's indentation and we're not on
-    ;; a line with a line continuation in a macro, position after the
-    ;; indentation.  Else stay at same point in text.
-    (if (and (< (point) (c-point 'boi))
-            (not tmp-char-inserted))
-       (back-to-indentation)
-      (if (> (- (point-max) pos) (point))
-         (goto-char (- (point-max) pos))))))
-
 (defun c-indent-line (&optional syntax quiet ignore-point-pos)
   "Indent the current line according to the syntactic context,
 if `c-syntactic-indentation' is non-nil.  Optional SYNTAX is the
@@ -509,7 +478,9 @@ This function does various newline cleanups based on the value of
          ;; this case.  So the marker that we put after "else" would
          ;; end up before it.
          (setq delete-temp-newline
-               (cons (copy-marker (c-point 'eopl) t)
+               (cons (save-excursion
+                       (c-backward-syntactic-ws)
+                       (copy-marker (point) t))
                      (point-marker))))
        (unwind-protect
            (progn
@@ -2671,7 +2642,7 @@ command to conveniently insert and align the necessary backslashes."
 
                   ;; There's no nonempty prefix on the line after the
                   ;; comment opener.  If the line is empty, or if the
-                  ;; text on has less or equal indentation than the
+                  ;; text on it has less or equal indentation than the
                   ;; comment starter we assume it's an unclosed
                   ;; comment starter, i.e. that
                   ;; `c-block-comment-prefix' should be used.