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);