)
+;;; @ Emacs 20.3 emulation
+;;;
+
+(or (fboundp 'line-beginning-position)
+ (defalias 'line-beginning-position 'point-at-bol))
+
+(or (fboundp 'line-end-position)
+ (defalias 'line-end-position 'point-at-eol))
+
+
;;; @ end
;;;
(nreverse (cons (substring string start) parts))))
+;;; @ Emacs 20.3 emulation
+;;;
+
+(defun-maybe line-beginning-position (&optional n)
+ "Return the character position of the first character on the current line.
+With argument N not nil or 1, move forward N - 1 lines first.
+If scan reaches end of buffer, return that position.
+This function does not move point."
+ (save-excursion
+ (if n
+ (forward-line (1- n))
+ )
+ (beginning-of-line)
+ (point)))
+
+(defun-maybe line-end-position (&optional n)
+ "Return the character position of the last character on the current line.
+With argument N not nil or 1, move forward N - 1 lines first.
+If scan reaches end of buffer, return that position.
+This function does not move point."
+ (save-excursion
+ (if n
+ (forward-line (1- n))
+ )
+ (end-of-line)
+ (point)))
+
+
;;; @ XEmacs emulation
;;;