Mercurial > hg > xemacs-beta
comparison src/redisplay.c @ 5914:bd4d2c8ef9cc
Use the existing C-level line number cache within #'line-number.
src/ChangeLog addition:
2015-05-15 Aidan Kehoe <kehoea@parhasard.net>
* buffer.c:
* buffer.c (Fline_number): New C implementation, using the line
number cache of line-number.c, with a new optional BUFFER
argument.
* buffer.c (syms_of_buffer):
Make it available to Lisp.
* line-number.c (buffer_line_number):
New argument, RESPECT-NARROWING, describing whether to count from
the beginning of the visible region or from the beginning of the
buffer.
* line-number.h:
* line-number.h (buffer_line_number): Update its declaration.
* redisplay.c (window_line_number): Call it with the new argument.
lisp/ChangeLog addition:
2015-05-15 Aidan Kehoe <kehoea@parhasard.net>
* simple.el:
* simple.el (line-number): Moved to buffer.c; we have an existing
line number cache in C, it's a shame not to have it available.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Fri, 15 May 2015 18:11:47 +0100 |
parents | cfc6a8c144f1 |
children |
comparison
equal
deleted
inserted
replaced
5913:1b2fdcc3cc5c | 5914:bd4d2c8ef9cc |
---|---|
7318 XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (DEVICE_CONSOLE (d)))) == d ) | 7318 XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (DEVICE_CONSOLE (d)))) == d ) |
7319 ? BUF_PT (b) | 7319 ? BUF_PT (b) |
7320 : marker_position (w->pointm[type])); | 7320 : marker_position (w->pointm[type])); |
7321 EMACS_INT line; | 7321 EMACS_INT line; |
7322 | 7322 |
7323 line = buffer_line_number (b, pos, 1); | 7323 line = buffer_line_number (b, pos, 1, 1); |
7324 | 7324 |
7325 { | 7325 { |
7326 static Ascbyte window_line_number_buf[DECIMAL_PRINT_SIZE (long)]; | 7326 static Ascbyte window_line_number_buf[DECIMAL_PRINT_SIZE (long)]; |
7327 | 7327 |
7328 long_to_string (window_line_number_buf, line + 1); | 7328 long_to_string (window_line_number_buf, line + 1); |