aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorKaroly Lorentey2006-10-14 16:56:21 +0000
committerKaroly Lorentey2006-10-14 16:56:21 +0000
commit3f87f67ee215ffeecbd2f53bd7f342cdf03f47df (patch)
tree16f2af9111af08a94d608d96a957f5c3ec5effcc /lisp/simple.el
parent350e4fb815d7413ef6d339dd664014706f742927 (diff)
parent7a210b69c7f92650c524766d1b9d3f3eefdd67c7 (diff)
downloademacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.tar.gz
emacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-371 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-372 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-373 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-374 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-375 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-376 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-377 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-378 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-379 Merge from erc--emacs--21 * emacs@sv.gnu.org/emacs--devo--0--patch-380 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-381 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-382 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-383 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-384 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-385 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-386 Update from erc--emacs--22 * emacs@sv.gnu.org/emacs--devo--0--patch-387 Fix ERC bug introduced in last patch * emacs@sv.gnu.org/emacs--devo--0--patch-388 Update from erc--emacs--22 * emacs@sv.gnu.org/emacs--devo--0--patch-389 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-390 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-391 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-392 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-393 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-394 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-395 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-396 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-397 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-398 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-399 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-400 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-401 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-402 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-403 Rcirc update from Ryan Yeske * emacs@sv.gnu.org/emacs--devo--0--patch-404 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-405 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-406 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-407 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-408 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-409 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-410 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-411 Miscellaneous tq-related fixes. * emacs@sv.gnu.org/emacs--devo--0--patch-412 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-121 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-122 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-123 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-124 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-125 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-126 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-127 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-581
Diffstat (limited to 'lisp/simple.el')
-rw-r--r--lisp/simple.el34
1 files changed, 27 insertions, 7 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 67cd341bf1f..f07006b5cc8 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -887,7 +887,9 @@ and the greater of them is not at the start of a line."
887 887
888(defun line-number-at-pos (&optional pos) 888(defun line-number-at-pos (&optional pos)
889 "Return (narrowed) buffer line number at position POS. 889 "Return (narrowed) buffer line number at position POS.
890If POS is nil, use current buffer location." 890If POS is nil, use current buffer location.
891Counting starts at (point-min), so the value refers
892to the contents of the accessible portion of the buffer."
891 (let ((opoint (or pos (point))) start) 893 (let ((opoint (or pos (point))) start)
892 (save-excursion 894 (save-excursion
893 (goto-char (point-min)) 895 (goto-char (point-min))
@@ -3689,7 +3691,10 @@ because what we really need is for `move-to-column'
3689and `current-column' to be able to ignore invisible text." 3691and `current-column' to be able to ignore invisible text."
3690 (if (zerop col) 3692 (if (zerop col)
3691 (beginning-of-line) 3693 (beginning-of-line)
3692 (move-to-column col)) 3694 (let ((opoint (point)))
3695 (move-to-column col)
3696 ;; move-to-column doesn't respect field boundaries.
3697 (goto-char (constrain-to-field (point) opoint))))
3693 3698
3694 (when (and line-move-ignore-invisible 3699 (when (and line-move-ignore-invisible
3695 (not (bolp)) (line-move-invisible-p (1- (point)))) 3700 (not (bolp)) (line-move-invisible-p (1- (point))))
@@ -3759,7 +3764,8 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
3759 (interactive "p") 3764 (interactive "p")
3760 (or arg (setq arg 1)) 3765 (or arg (setq arg 1))
3761 3766
3762 (let ((orig (point))) 3767 (let ((orig (point))
3768 start first-vis first-vis-field-value)
3763 3769
3764 ;; Move by lines, if ARG is not 1 (the default). 3770 ;; Move by lines, if ARG is not 1 (the default).
3765 (if (/= arg 1) 3771 (if (/= arg 1)
@@ -3770,10 +3776,24 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
3770 (while (and (not (bobp)) (line-move-invisible-p (1- (point)))) 3776 (while (and (not (bobp)) (line-move-invisible-p (1- (point))))
3771 (goto-char (previous-char-property-change (point))) 3777 (goto-char (previous-char-property-change (point)))
3772 (skip-chars-backward "^\n")) 3778 (skip-chars-backward "^\n"))
3773 3779 (setq start (point))
3774 ;; Take care of fields. 3780
3775 (goto-char (constrain-to-field (point) orig 3781 ;; Now find first visible char in the line
3776 (/= arg 1) t nil)))) 3782 (while (and (not (eobp)) (line-move-invisible-p (point)))
3783 (goto-char (next-char-property-change (point))))
3784 (setq first-vis (point))
3785
3786 ;; See if fields would stop us from reaching FIRST-VIS.
3787 (setq first-vis-field-value
3788 (constrain-to-field first-vis orig (/= arg 1) t nil))
3789
3790 (goto-char (if (/= first-vis-field-value first-vis)
3791 ;; If yes, obey them.
3792 first-vis-field-value
3793 ;; Otherwise, move to START with attention to fields.
3794 ;; (It is possible that fields never matter in this case.)
3795 (constrain-to-field (point) orig
3796 (/= arg 1) t nil)))))
3777 3797
3778 3798
3779;;; Many people have said they rarely use this feature, and often type 3799;;; Many people have said they rarely use this feature, and often type