| 3784 | | |
|---|
| 3785 | | ;; Take care of fields. |
|---|
| 3786 | | (goto-char (constrain-to-field (point) orig |
|---|
| 3787 | | (/= arg 1) t nil)))) |
|---|
| | 3785 | (setq start (point)) |
|---|
| | 3786 | |
|---|
| | 3787 | ;; Now find first visible char in the line |
|---|
| | 3788 | (while (and (not (eobp)) (line-move-invisible-p (point))) |
|---|
| | 3789 | (goto-char (next-char-property-change (point)))) |
|---|
| | 3790 | (setq first-vis (point)) |
|---|
| | 3791 | |
|---|
| | 3792 | ;; See if fields would stop us from reaching FIRST-VIS. |
|---|
| | 3793 | (setq first-vis-field-value |
|---|
| | 3794 | (constrain-to-field first-vis orig (/= arg 1) t nil)) |
|---|
| | 3795 | |
|---|
| | 3796 | (goto-char (if (/= first-vis-field-value first-vis) |
|---|
| | 3797 | ;; If yes, obey them. |
|---|
| | 3798 | first-vis-field-value |
|---|
| | 3799 | ;; Otherwise, move to START with attention to fields. |
|---|
| | 3800 | ;; (It is possible that fields never matter in this case.) |
|---|
| | 3801 | (constrain-to-field (point) orig |
|---|
| | 3802 | (/= arg 1) t nil))))) |
|---|