(defcustom hexl-follow-ascii t
"If non-nil then highlight the ASCII character corresponding to point."
:type 'boolean
- :group 'hexl)
+ :group 'hexl
+ :version "20.3")
(defvar hexl-max-address 0
"Maximum offset into hexl buffer.")
(remove-hook 'after-revert-hook 'hexl-after-revert-hook t)
(remove-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer t)
+ (remove-hook 'post-command-hook 'hexl-follow-ascii-find t)
+ (setq hexl-ascii-overlay nil)
(setq write-contents-hooks hexl-mode-old-write-contents-hooks)
(setq require-final-newline hexl-mode-old-require-final-newline)
(or (y-or-n-p "Converting to hexl format discards undo info; ok? ")
(error "Aborted")))
(setq buffer-undo-list nil)
- (let ((binary-process-output nil) ; for Ms-Dos
- (binary-process-input buffer-file-type)
+ ;; Don't decode text in the ASCII part of `hexl' program output.
+ (let ((coding-system-for-read 'raw-text)
;; If the buffer was read with EOL conversions, be sure to use the
;; same conversions when passing the region to the `hexl' program.
(coding-system-for-write
(or (y-or-n-p "Converting from hexl format discards undo info; ok? ")
(error "Aborted")))
(setq buffer-undo-list nil)
- (let ((binary-process-output buffer-file-type) ; for Ms-Dos
- (binary-process-input nil)
- (coding-system-for-read 'raw-text)
+ (let ((coding-system-for-write 'raw-text)
+ (coding-system-for-read
+ (let ((eol-type (coding-system-eol-type buffer-file-coding-system)))
+ (cond ((eq eol-type 1)
+ 'raw-text-dos)
+ ((eq eol-type 2)
+ 'raw-text-mac)
+ ((eq eol-type 0)
+ 'raw-text-unix)
+ (t 'no-conversion))))
(buffer-undo-list t))
(shell-command-on-region (point-min) (point-max) dehexlify-command t)))