aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2017-07-06 20:22:16 +0300
committerEli Zaretskii2017-07-06 20:22:16 +0300
commit25bc3911615d1160d47287c023545c6e0587739f (patch)
treec32eaa3034c93867ae3c820731057505f8fc3f52 /lisp
parentd5f8a3d03f6c0c98f3280d55a2d88ddb40aa1f3e (diff)
downloademacs-25bc3911615d1160d47287c023545c6e0587739f.tar.gz
emacs-25bc3911615d1160d47287c023545c6e0587739f.zip
Implement line numbers that disregard narrowing
* src/xdisp.c (display_count_lines_logically): New function, counts line numbers disregarding narrowing. Suggested by Andy Moreton <andrewjmoreton@gmail.com>. (maybe_produce_line_number): Call display_count_lines_logically instead of display_count_lines. Adapt BEGV, ZV, etc. to display-line-numbers-widen. (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local variable. * lisp/cus-start.el (standard): Provide a customization form for display-line-numbers-widen. * lisp/frame.el: Add display-line-numbers-widen, display-line-numbers-current-absolute, and display-line-number-width to the list of variables that should trigger redisplay of the current buffer. * doc/emacs/display.texi (Display Custom): Document display-line-numbers-widen.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/cus-start.el9
-rw-r--r--lisp/frame.el3
2 files changed, 11 insertions, 1 deletions
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index a89d5dff0cd..017e7f9fa55 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -608,7 +608,14 @@ since it could result in memory overflow and make Emacs crash."
608 :value t) 608 :value t)
609 (const :tag "Display zero as number of current line" 609 (const :tag "Display zero as number of current line"
610 :value nil)) 610 :value nil))
611 "26.1") 611 "26.1")
612 (display-line-numbers-widen display
613 (choice
614 (const :tag "Disregard narrowing when calculating line numbers"
615 :value t)
616 (const :tag "Count lines from beinning of narrowed region"
617 :value nil))
618 "26.1")
612 ;; xfaces.c 619 ;; xfaces.c
613 (scalable-fonts-allowed display boolean "22.1") 620 (scalable-fonts-allowed display boolean "22.1")
614 ;; xfns.c 621 ;; xfns.c
diff --git a/lisp/frame.el b/lisp/frame.el
index 8f51afa2a9a..f3e59edb2f5 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -2435,6 +2435,9 @@ See also `toggle-frame-maximized'."
2435 wrap-prefix 2435 wrap-prefix
2436 truncate-lines 2436 truncate-lines
2437 display-line-numbers 2437 display-line-numbers
2438 display-line-number-width
2439 display-line-numbers-current-absolute
2440 display-line-numbers-widen
2438 bidi-paragraph-direction 2441 bidi-paragraph-direction
2439 bidi-display-reordering)) 2442 bidi-display-reordering))
2440 2443