diff options
author | Eli Zaretskii <eliz@gnu.org> | 2018-05-30 20:30:07 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2018-05-30 20:30:07 +0300 |
commit | aa175a40586c1021549e775b30fb03b4ffb09ac0 (patch) | |
tree | 340d10918ffaa4dc85fe0dd6f625de9abf13f614 /lisp/hexl.el | |
parent | b8e7749b3384ea14ca22be4d3adb8659f462ea06 (diff) | |
download | emacs-aa175a40586c1021549e775b30fb03b4ffb09ac0.tar.gz |
Adapt hexl-mode to native line-number display
* lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
effect, adjust offsets and columns to account for the line-number
display. (Bug#31595)
Diffstat (limited to 'lisp/hexl.el')
-rw-r--r-- | lisp/hexl.el | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lisp/hexl.el b/lisp/hexl.el index d716405f97a..2c1a7de48a7 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el @@ -1104,8 +1104,15 @@ This function is assumed to be used as callback function for `hl-line-mode'." "Return a string ruler for Hexl mode." (let* ((highlight (mod (hexl-current-address) 16)) (s (cdr (assq hexl-bits hexl-rulers))) - (pos 0)) + (pos 0) + (lnum-width + (if display-line-numbers + (round (line-number-display-width 'columns)) + 0))) (set-text-properties 0 (length s) nil s) + (when (> lnum-width 0) + (setq s (concat (make-string lnum-width ? ) s)) + (setq pos (+ pos lnum-width))) ;; Turn spaces in the header into stretch specs so they work ;; regardless of the header-line face. (while (string-match "[ \t]+" s pos) @@ -1116,10 +1123,11 @@ This function is assumed to be used as callback function for `hl-line-mode'." s)) ;; Highlight the current column. (let ( (offset (+ (* 2 highlight) (/ (* 8 highlight) hexl-bits))) ) + (if (> lnum-width 0) (setq offset (+ offset lnum-width))) (put-text-property (+ 11 offset) (+ 13 offset) 'face 'highlight s)) ;; Highlight the current ascii column - (put-text-property (+ (hexl-ascii-start-column) highlight 1) - (+ (hexl-ascii-start-column) highlight 2) + (put-text-property (+ (hexl-ascii-start-column) lnum-width highlight 1) + (+ (hexl-ascii-start-column) lnum-width highlight 2) 'face 'highlight s) s)) |