Commit f076870a authored by Kim F. Storm's avatar Kim F. Storm

(line-at-pos): New defun.

(what-line): Use it.  Optimize by only counting lines in narrowed region once.
parent 455316e2
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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment