diff options
| author | Eli Zaretskii | 2017-07-06 20:22:16 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2017-07-06 20:22:16 +0300 |
| commit | 25bc3911615d1160d47287c023545c6e0587739f (patch) | |
| tree | c32eaa3034c93867ae3c820731057505f8fc3f52 /lisp | |
| parent | d5f8a3d03f6c0c98f3280d55a2d88ddb40aa1f3e (diff) | |
| download | emacs-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.el | 9 | ||||
| -rw-r--r-- | lisp/frame.el | 3 |
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 | ||