]> git.eshelyaron.com Git - emacs.git/commitdiff
Correct the position of point in some line-up functions.
authorAlan Mackenzie <acm@muc.de>
Wed, 6 Mar 2013 14:24:39 +0000 (14:24 +0000)
committerAlan Mackenzie <acm@muc.de>
Wed, 6 Mar 2013 14:24:39 +0000 (14:24 +0000)
progmodes/cc-align.el (c-lineup-whitesmith-in-block, c-lineup-assignments)
(c-lineup-gcc-asm-reg ): take position of point at column 0 rather than
at a random place in the line.
doc/misc/cc-mode.texi (Custom Line-Up): State explicitly that point
starts at a random position in the line being indented.

doc/misc/ChangeLog
doc/misc/cc-mode.texi
lisp/ChangeLog
lisp/progmodes/cc-align.el

index 8ffc040d27f2f97b8a1bc804bcdf535a24531960..3a3ed4623d114e21205085d2b85ce4fe31e84348 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-06  Alan Mackenzie  <acm@muc.de>
+
+       * cc-mode.texi (Custom Line-Up): Clarify position of point on
+       calling a line-up function.
+
 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
 
        * emacs-mime.texi, htmlfontify.texi, mairix-el.texi, mh-e.texi:
index bb6a5b001ad3cd7cd8656e61a2680928f901e6c5..4fa4e12cf8805befba6f23416c296eacfe4eb59f 100644 (file)
@@ -6475,13 +6475,14 @@ think is generally useful, you're very welcome to contribute it;
 please contact @email{bug-cc-mode@@gnu.org}.
 
    Line-up functions are passed a single argument, the syntactic
-element (see below).  The return value is a @code{c-offsets-alist}
-offset specification: for example, an integer, a symbol such as
-@code{+}, a vector, @code{nil}@footnote{Returning @code{nil} is useful
-when the offset specification for a syntactic element is a list
-containing the line-up function (@pxref{c-offsets-alist}).}, or even
-another line-up function.  Full details of these are in
-@ref{c-offsets-alist}.
+element (see below).  At the time of the call, point will be somewhere
+on the line being indented.  The return value is a
+@code{c-offsets-alist} offset specification: for example, an integer,
+a symbol such as @code{+}, a vector, @code{nil}@footnote{Returning
+@code{nil} is useful when the offset specification for a syntactic
+element is a list containing the line-up function
+(@pxref{c-offsets-alist}).}, or even another line-up function.  Full
+details of these are in @ref{c-offsets-alist}.
 
 Line-up functions must not move point or change the content of the
 buffer (except temporarily).  They are however allowed to do
index ac56cd8ba798ae3c21304cf27ac0904938486c59..18242539ccaee39295696100238fa28d7127b521 100644 (file)
@@ -1,3 +1,10 @@
+2013-03-06  Alan Mackenzie  <acm@muc.de>
+
+       Correct the position of point in some line-up functions.
+       * progmodes/cc-align.el (c-lineup-whitesmith-in-block)
+       (c-lineup-assignments, c-lineup-gcc-asm-reg ): take position of
+       point at column 0 rather than at a random place in the line.
+
 2013-03-05  Michael Albinus  <michael.albinus@gmx.de>
 
        * net/tramp-compat.el (tramp-compat-delete-directory): Implement
index cdd0561a0541b7c7eb7f99e9865d2a4da5d9a03a..33836f25335217c3ecf31077f05329d0d1f6bb56 100644 (file)
@@ -737,7 +737,7 @@ arglist-cont-nonempty."
              (setq startpos (c-langelem-pos langelem)))))
 
       (setq startpos (c-langelem-pos langelem)
-           endpos (point))
+           endpos (c-point 'bol))
 
       ;; Find a syntactically relevant and unnested "=" token on the
       ;; current line.  equalp is in that case set to the number of
@@ -1039,6 +1039,7 @@ brace-list-close, brace-list-intro, statement-block-intro,
 arglist-intro, arglist-cont-nonempty, arglist-close, and all in*
 symbols, e.g. inclass and inextern-lang."
   (save-excursion
+    (beginning-of-line)
     (if (and (c-go-up-list-backward)
             (= (point) (c-point 'boi)))
        nil
@@ -1191,6 +1192,7 @@ Works with: arglist-cont, arglist-cont-nonempty."
   (let ((orig-pos (point))
        alignto)
     (save-excursion
+      (beginning-of-line)
       (and
        c-opt-asm-stmt-key