mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
(line-at-pos): New defun.
(what-line): Use it. Optimize by only counting lines in narrowed region once.
This commit is contained in:
parent
455316e213
commit
f076870ac3
@ -1,3 +1,9 @@
|
||||
2004-01-22 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* simple.el (line-at-pos): New defun.
|
||||
(what-line): Use it. Optimize by only counting lines in narrowed
|
||||
region once.
|
||||
|
||||
2004-01-22 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* language/cyrillic.el (ccl-encode-windows-1251-font): Rearrange
|
||||
|
@ -498,20 +498,15 @@ that uses or sets the mark."
|
||||
(defun what-line ()
|
||||
"Print the current buffer line number and narrowed line number of point."
|
||||
(interactive)
|
||||
(let ((opoint (point)) start)
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(goto-char (point-min))
|
||||
(widen)
|
||||
(forward-line 0)
|
||||
(setq start (point))
|
||||
(goto-char opoint)
|
||||
(forward-line 0)
|
||||
(if (/= start (point-min))
|
||||
(message "line %d (narrowed line %d)"
|
||||
(1+ (count-lines (point-min) (point)))
|
||||
(1+ (count-lines start (point))))
|
||||
(message "Line %d" (1+ (count-lines (point-min) (point)))))))))
|
||||
(let ((opoint (point)) (start (point-min))
|
||||
(n (line-at-pos)))
|
||||
(if (= start 1)
|
||||
(message "Line %d" n)
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(message "line %d (narrowed line %d)"
|
||||
(+ n (line-at-pos start) -1) n))))))
|
||||
|
||||
(defun count-lines (start end)
|
||||
"Return number of lines between START and END.
|
||||
@ -536,6 +531,17 @@ and the greater of them is not at the start of a line."
|
||||
done)))
|
||||
(- (buffer-size) (forward-line (buffer-size)))))))
|
||||
|
||||
(defun line-at-pos (&optional pos)
|
||||
"Return (narrowed) buffer line number at position POS.
|
||||
If POS is nil, use current buffer location."
|
||||
(let ((opoint (or pos (point))) start)
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(setq start (point))
|
||||
(goto-char opoint)
|
||||
(forward-line 0)
|
||||
(1+ (count-lines start (point))))))
|
||||
|
||||
(defun what-cursor-position (&optional detail)
|
||||
"Print info on cursor position (on screen and within buffer).
|
||||
Also describe the character after point, and give its character code
|
||||
|
Loading…
Reference in New Issue
Block a user