(hexl-mode-old-ruler-function): New variable.
(hexl-follow-line): Bind `hexl-mode-old-hl-line-range-function' and `hl-line-range-function' after `require' hl-line.
Then bind `hl-line-range-function' and `hl-line-face'.
Don't require frame. Don't use `with-no-warnings'.
(hexl-activate-ruler): Store the original value of `ruler-mode-ruler-function' to `hexl-mode-old-ruler-function'.
(hexl-mode-exit): Restore the original value of `ruler-mode-ruler-function'.
quote special chars, and make the trick work on the hex part of the
buffer as well.
(hexl-mode, hexl-save-buffer, hexl-mode-exit)
(hexl-maybe-dehexlify-buffer): Use restore-buffer-modified-p.
(hexl-ascii-region, hexl-font-lock-keywords):
(hexl-highlight-line-range): Use the term "region"
instead of "area" for consistency with the other symbols
defined in hexl.el.
Use font lock mechanism instead.
(hexl-font-lock-keywords): New font lock kewords.
(hexl-mode-old-font-lock-keywords): New variable.
(hexl-mode): Store the old font lock keywords.
(hexl-mode-exit): Restore the old font lock keywords.
* hl-line.el (hl-line-range-function): New variable.
(hl-line-move): New function.
(global-hl-line-highlight): Use `hl-line-move'.
(hl-line-highlight): Ditto.
* scroll-bar.el (scroll-bar-columns): New function derived from
ruler-mode.el.
* fringe.el (fringe-columns): New function derived from
ruler-mode.el.
* ruler-mode.el (top-level): Require scroll-bar and fringe.
(ruler-mode-left-fringe-cols)
(ruler-mode-right-fringe-cols): Use `fringe-columns'.
(ruler-mode-right-scroll-bar-cols)
(ruler-mode-left-scroll-bar-cols): Use `scroll-bar-columns'.
(ruler-mode-ruler-function): New variable.
(ruler-mode-header-line-format): Call `ruler-mode-ruler-function'
if the value for `ruler-mode-ruler-function'is given.
* hexl.el (hexl-mode-hook): Make the hook customizable.
(hexl-address-area, hexl-ascii-area, hexl-ascii-cursor): New
customize variables.
(hexlify-buffer): Put font-lock-faces on the address area and
the ascii area.
(hexl-activate-ruler): New function.
(hexl-follow-line): New function.
(hexl-highlight-line-range): New function.
(hexl-mode-ruler): New function.
(hexl-mode, hexl-current-address, hexl-address-to-marker)
(hexl-insert-char): Don't hardcode point-min == 1.
(hexl-isearch-search-function): New fun.
(hexl-mode-old-isearch-search-fun-function): New var.
(hexl-mode): Use them.
(hexl-mode, hexl-mode-exit, hexl-maybe-dehexlify-buffer):
Use write-contents-functions rather then write-contents-hooks.
(hexl-quoted-insert, hexl-self-insert-command)
(hexl-insert-hex-char, hexl-insert-decimal-char)
(hexl-insert-octal-char): Call it instead of hexl-insert-char.
Fix the doc strings accordingly.
(hexl-insert-char): Reject characters whose code is above 255.
Doc fix.
(hexl-mode-map): Copy the global keymap instead of creating a
sparse keymap, and bind all self-inserting characters to
hexl-self-insert-command.