• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/emacs-92/emacs/lisp/

Lines Matching defs:hexl

0 ;;; hexl.el --- edit a file in a hex dump format using the hexl filter
30 ;; a program called hexl, supplied with the GNU Emacs distribution, that
32 ;; binary. For full instructions, invoke `hexl-mode' on an empty buffer and
35 ;; NOTE: Remember to change `hexl-program' or `hexl-options' if needed.
37 ;; Currently hexl only supports big endian hex output with 16 bit
40 ;; -iso in `hexl-options' will allow iso characters to display in the
52 (defgroup hexl nil
53 "Edit a file in a hex dump format using the hexl filter."
57 (defcustom hexl-program "hexl"
59 `hexl-program' will always be concatenated with `hexl-options'
62 :group 'hexl)
64 (defcustom hexl-iso ""
68 :group 'hexl)
70 (defcustom hexl-options (format "-hex %s" hexl-iso)
71 "Space separated options to `hexl-program' that suit your needs.
74 :group 'hexl)
76 (defcustom hexl-follow-ascii t
79 :group 'hexl
82 (defcustom hexl-mode-hook '(hexl-follow-line hexl-activate-ruler)
85 :options '(hexl-follow-line hexl-activate-ruler turn-on-eldoc-mode)
86 :group 'hexl)
88 (defface hexl-address-region
90 "Face used in address area of hexl-mode buffer."
91 :group 'hexl)
93 (defface hexl-ascii-region
95 "Face used in ascii area of hexl-mode buffer."
96 :group 'hexl)
98 (defvar hexl-max-address 0
99 "Maximum offset into hexl buffer.")
101 (defvar hexl-mode-map nil)
111 (defvar hexl-mode-old-hl-line-mode)
112 (defvar hexl-mode-old-hl-line-range-function)
113 (defvar hexl-mode-old-hl-line-face)
114 (defvar hexl-mode-old-local-map)
115 (defvar hexl-mode-old-mode-name)
116 (defvar hexl-mode-old-major-mode)
117 (defvar hexl-mode-old-ruler-mode)
118 (defvar hexl-mode-old-ruler-function)
119 (defvar hexl-mode-old-isearch-search-fun-function)
120 (defvar hexl-mode-old-require-final-newline)
121 (defvar hexl-mode-old-syntax-table)
122 (defvar hexl-mode-old-font-lock-keywords)
124 (defvar hexl-ascii-overlay nil
126 (make-variable-buffer-local 'hexl-ascii-overlay)
128 (defvar hexl-font-lock-keywords
131 (1 'hexl-address-region t t)
132 (2 'hexl-ascii-region t t)))
133 "Font lock keywords used in `hexl-mode'.")
137 (put 'hexl-mode 'mode-class 'special)
140 (defun hexl-mode (&optional arg)
141 "\\<hexl-mode-map>A mode for editing binary files in hex dump format.
144 Hexl mode and return to the previous mode using `hexl-mode-exit'.
146 This function automatically converts a buffer into the hexl format
158 If `hexl-mode' is invoked with an argument the buffer is assumed to be
159 in hexl format.
165 00000000: 5468 6973 2069 7320 6865 786c 2d6d 6f64 This is hexl-mod
180 cursor movement bindings are the same (ie. Use \\[hexl-backward-char], \\[hexl-forward-char], \\[hexl-next-line], and \\[hexl-previous-line]
183 Advanced cursor movement commands (ala \\[hexl-beginning-of-line], \\[hexl-end-of-line], \\[hexl-beginning-of-buffer], and \\[hexl-end-of-buffer]) are
186 There are several ways to change text in hexl mode:
192 \\[hexl-quoted-insert] followed by another keystroke allows you to insert the key even if
196 \\[hexl-insert-hex-char] will insert a given hexadecimal value (if it is between 0 and 0xFF)
199 \\[hexl-insert-octal-char] will insert a given octal value (if it is between 0 and 0377)
202 \\[hexl-insert-decimal-char] will insert a given decimal value (if it is between 0 and 255)
205 \\[hexl-mode-exit] will exit hexl-mode.
210 You can use \\[hexl-find-file] to visit a file in Hexl mode.
214 (unless (eq major-mode 'hexl-mode)
220 ;; If `hexl-mode' is invoked with an argument the buffer is assumed to
221 ;; be in hexl format.
233 (set (make-local-variable 'hexl-max-address)
239 (hexl-goto-address original-point)
244 (make-local-variable 'hexl-mode-old-local-map)
245 (setq hexl-mode-old-local-map (current-local-map))
246 (use-local-map hexl-mode-map)
248 (make-local-variable 'hexl-mode-old-mode-name)
249 (setq hexl-mode-old-mode-name mode-name)
252 (set (make-local-variable 'hexl-mode-old-isearch-search-fun-function)
255 'hexl-isearch-search-function)
257 (make-local-variable 'hexl-mode-old-major-mode)
258 (setq hexl-mode-old-major-mode major-mode)
259 (setq major-mode 'hexl-mode)
261 (make-local-variable 'hexl-mode-old-ruler-mode)
262 (setq hexl-mode-old-ruler-mode
265 (make-local-variable 'hexl-mode-old-hl-line-mode)
266 (setq hexl-mode-old-hl-line-mode
269 (make-local-variable 'hexl-mode-old-syntax-table)
270 (setq hexl-mode-old-syntax-table (syntax-table))
273 (add-hook 'write-contents-functions 'hexl-save-buffer nil t)
275 (make-local-variable 'hexl-mode-old-require-final-newline)
276 (setq hexl-mode-old-require-final-newline require-final-newline)
280 (make-local-variable 'hexl-mode-old-font-lock-keywords)
281 (setq hexl-mode-old-font-lock-keywords font-lock-defaults)
283 (setq font-lock-defaults '(hexl-font-lock-keywords t))
286 (add-hook 'before-revert-hook 'hexl-before-revert-hook nil t)
287 (add-hook 'after-revert-hook 'hexl-after-revert-hook nil t)
289 (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t)
293 'hexl-print-current-point-info)
294 (eldoc-add-command-completions "hexl-")
295 (eldoc-remove-command "hexl-save-buffer"
296 "hexl-current-address")
298 (if hexl-follow-ascii (hexl-follow-ascii 1)))
299 (run-mode-hooks 'hexl-mode-hook))
302 (defun hexl-isearch-search-function ()
321 (defun hexl-before-revert-hook ()
322 (remove-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer t))
324 (defun hexl-after-revert-hook ()
325 (hexl-mode))
327 (defvar hexl-in-save-buffer nil)
329 (defun hexl-save-buffer ()
330 "Save a hexl format buffer as binary in visited file if modified."
332 (if hexl-in-save-buffer nil
335 (let ((buf (generate-new-buffer " hexl"))
345 (let ((hexl-in-save-buffer t))
358 (defun hexl-find-file (filename)
361 and edit the file in `hexl-mode'."
369 (if (not (eq major-mode 'hexl-mode))
370 (hexl-mode)))
372 (defun hexl-mode-exit (&optional arg)
379 (original-point (1+ (hexl-current-address))))
381 (remove-hook 'write-contents-functions 'hexl-save-buffer t)
391 (remove-hook 'before-revert-hook 'hexl-before-revert-hook t)
392 (remove-hook 'after-revert-hook 'hexl-after-revert-hook t)
393 (remove-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer t)
394 (remove-hook 'post-command-hook 'hexl-follow-ascii-find t)
395 (setq hexl-ascii-overlay nil)
397 (if (and (boundp 'ruler-mode) ruler-mode (not hexl-mode-old-ruler-mode))
399 (when (boundp 'hexl-mode-old-ruler-function)
400 (setq ruler-mode-ruler-function hexl-mode-old-ruler-function))
402 (if (and (boundp 'hl-line-mode) hl-line-mode (not hexl-mode-old-hl-line-mode))
404 (when (boundp 'hexl-mode-old-hl-line-range-function)
405 (setq hl-line-range-function hexl-mode-old-hl-line-range-function))
406 (when (boundp 'hexl-mode-old-hl-line-face)
407 (setq hl-line-face hexl-mode-old-hl-line-face))
409 (setq require-final-newline hexl-mode-old-require-final-newline)
410 (setq mode-name hexl-mode-old-mode-name)
411 (setq isearch-search-fun-function hexl-mode-old-isearch-search-fun-function)
412 (use-local-map hexl-mode-old-local-map)
413 (set-syntax-table hexl-mode-old-syntax-table)
414 (setq font-lock-defaults hexl-mode-old-font-lock-keywords)
415 (setq major-mode hexl-mode-old-major-mode)
418 (defun hexl-maybe-dehexlify-buffer ()
419 "Convert a hexl format buffer to binary.
424 (original-point (1+ (hexl-current-address))))
426 (remove-hook 'write-contents-functions 'hexl-save-buffer t)
430 (defun hexl-current-address (&optional validate)
431 "Return current hexl-address."
434 (hexl-address 0))
439 (setq hexl-address
445 (message "Current address is %d/0x%08x" hexl-address hexl-address))
446 hexl-address))
448 (defun hexl-print-current-point-info ()
449 "Return current hexl-address in string.
451 (let ((addr (hexl-current-address)))
454 (defun hexl-address-to-marker (address)
459 (defun hexl-goto-address (address)
460 "Goto hexl-mode (decimal) address ADDRESS.
463 (if (or (< address 0) (> address hexl-max-address))
464 (error "Out of hexl region"))
465 (goto-char (hexl-address-to-marker address)))
467 (defun hexl-goto-hex-address (hex-address)
468 "Go to hexl-mode address (hex string) HEX-ADDRESS.
471 (hexl-goto-address (hexl-hex-string-to-integer hex-address)))
473 (defun hexl-hex-string-to-integer (hex-string)
479 (hexl-hex-char-to-integer (string-to-char hex-string))))
483 (defun hexl-octal-string-to-integer (octal-string)
489 (hexl-oct-char-to-integer
496 (defun hexl-backward-char (arg)
497 "Move to left ARG bytes (right if ARG negative) in hexl-mode."
499 (hexl-goto-address (- (hexl-current-address) arg)))
501 (defun hexl-forward-char (arg)
502 "Move to right ARG bytes (left if ARG negative) in hexl-mode."
504 (hexl-goto-address (+ (hexl-current-address) arg)))
506 (defun hexl-backward-short (arg)
507 "Move to left ARG shorts (right if ARG negative) in hexl-mode."
509 (hexl-goto-address (let ((address (hexl-current-address)))
515 (if (> address hexl-max-address)
518 (setq address hexl-max-address))
520 (if (> address hexl-max-address)
523 (setq address hexl-max-address))
526 (if (> address hexl-max-address)
529 (setq address hexl-max-address))
540 (defun hexl-forward-short (arg)
541 "Move to right ARG shorts (left if ARG negative) in hexl-mode."
543 (hexl-backward-short (- arg)))
545 (defun hexl-backward-word (arg)
546 "Move to left ARG words (right if ARG negative) in hexl-mode."
548 (hexl-goto-address (let ((address (hexl-current-address)))
554 (if (> address hexl-max-address)
557 (setq address hexl-max-address))
559 (if (> address hexl-max-address)
562 (setq address hexl-max-address))
565 (if (> address hexl-max-address)
568 (setq address hexl-max-address))
579 (defun hexl-forward-word (arg)
580 "Move to right ARG words (left if ARG negative) in hexl-mode."
582 (hexl-backward-word (- arg)))
584 (defun hexl-previous-line (arg)
585 "Move vertically up ARG lines [16 bytes] (down if ARG negative) in hexl-mode.
588 (hexl-next-line (- arg)))
590 (defun hexl-next-line (arg)
591 "Move vertically down ARG lines [16 bytes] (up if ARG negative) in hexl-mode.
594 (hexl-goto-address (let ((address (+ (hexl-current-address) (* arg 16))))
596 (progn (message "Out of hexl region.")
598 (% (hexl-current-address) 16)))
599 (if (and (> address hexl-max-address)
600 (< (% hexl-max-address 16) (% address 16)))
601 (setq address hexl-max-address)
602 (if (> address hexl-max-address)
603 (progn (message "Out of hexl region.")
606 (+ (logand hexl-max-address -16)
607 (% (hexl-current-address) 16)))))))
610 (defun hexl-beginning-of-buffer (arg)
611 "Move to the beginning of the hexl buffer.
612 Leaves `hexl-mark' at previous position.
616 (hexl-goto-address (+ 0 (1- arg))))
618 (defun hexl-end-of-buffer (arg)
619 "Go to `hexl-max-address' minus ARG."
622 (hexl-goto-address (- hexl-max-address (1- arg))))
624 (defun hexl-beginning-of-line ()
625 "Goto beginning of line in hexl mode."
629 (defun hexl-end-of-line ()
630 "Goto end of line in hexl mode."
632 (hexl-goto-address (let ((address (logior (hexl-current-address) 15)))
633 (if (> address hexl-max-address)
634 (setq address hexl-max-address))
637 (defun hexl-scroll-down (arg)
638 "Scroll hexl buffer window upward ARG lines; or near full window if no ARG."
643 (hexl-scroll-up (- arg)))
645 (defun hexl-scroll-up (arg)
646 "Scroll hexl buffer window upward ARG lines; or near full window if no ARG.
653 (address (hexl-current-address))
659 ((and (> dest hexl-max-address)
660 (>= (% hexl-max-address 16) (% address 16)))
661 (setq dest (+ (logand hexl-max-address -16) (% address 16))))
662 ((> dest hexl-max-address)
663 (setq dest hexl-max-address))
667 (message "Out of hexl region."))
668 (hexl-goto-address dest)
671 (defun hexl-beginning-of-1k-page ()
674 (hexl-goto-address (logand (hexl-current-address) -1024)))
676 (defun hexl-end-of-1k-page ()
679 (hexl-goto-address (let ((address (logior (hexl-current-address) 1023)))
680 (if (> address hexl-max-address)
681 (setq address hexl-max-address))
684 (defun hexl-beginning-of-512b-page ()
687 (hexl-goto-address (logand (hexl-current-address) -512)))
689 (defun hexl-end-of-512b-page ()
692 (hexl-goto-address (let ((address (logior (hexl-current-address) 511)))
693 (if (> address hexl-max-address)
694 (setq address hexl-max-address))
697 (defun hexl-quoted-insert (arg)
703 (hexl-insert-multibyte-char (read-quoted-char) arg))
709 "Convert a binary buffer to hexl format.
713 (or (y-or-n-p "Converting to hexl format discards undo info; ok? ")
716 ;; Don't decode text in the ASCII part of `hexl' program output.
721 (expand-file-name hexl-program exec-directory)
729 (split-string hexl-options)))
730 (if (> (point) (hexl-address-to-marker hexl-max-address))
731 (hexl-goto-address hexl-max-address))))
734 "Convert a hexl format buffer to binary.
738 (or (y-or-n-p "Converting from hexl format discards undo info; ok? ")
745 (expand-file-name hexl-program exec-directory)
746 t t nil "-de" (split-string hexl-options))))
748 (defun hexl-char-after-point ()
750 (hexl-htoi (char-after (point))
753 (defun hexl-htoi (lh rh)
755 (+ (* (hexl-hex-char-to-integer lh) 16)
756 (hexl-hex-char-to-integer rh)))
758 (defun hexl-hex-char-to-integer (character)
767 (defun hexl-oct-char-to-integer (character)
773 (defun hexl-printable-character (ch)
775 (format "%c" (if hexl-iso
783 (defun hexl-insert-multibyte-char (ch num)
795 (hexl-insert-char ch num))
798 "0x%x -- invalid character code; use \\[hexl-insert-hex-string]"
818 "Can't encode `0x%x' with this buffer's coding system; try \\[hexl-insert-hex-string]"
822 (function (lambda (c) (hexl-insert-char c 1))) encoded)
825 (defun hexl-self-insert-command (arg)
832 (hexl-insert-multibyte-char last-command-char arg))
834 (defun hexl-insert-char (ch num)
835 "Insert the character CH NUM times in a hexl buffer.
840 (let ((address (hexl-current-address t)))
857 (insert (hexl-printable-character ch))
858 (or (eq address hexl-max-address)
860 (hexl-goto-address address)
870 (defun hexl-insert-hex-char (arg)
873 (let ((num (hexl-hex-string-to-integer (read-string "Hex number: "))))
876 (hexl-insert-multibyte-char num arg))))
878 (defun hexl-insert-hex-string (str arg)
887 (let ((num (hexl-hex-string-to-integer (substring str 0 1))))
892 (num (hexl-hex-string-to-integer (substring str idx nidx))))
899 (hexl-insert-char (car chars) 1)
903 (defun hexl-insert-decimal-char (arg)
909 (hexl-insert-multibyte-char num arg))))
911 (defun hexl-insert-octal-char (arg)
914 (let ((num (hexl-octal-string-to-integer (read-string "Octal Number: "))))
917 (hexl-insert-multibyte-char num arg))))
919 (defun hexl-follow-ascii (&optional arg)
924 Customize the variable `hexl-follow-ascii' to disable this feature."
928 (not hexl-ascii-overlay))))
932 (if (not hexl-ascii-overlay)
934 (setq hexl-ascii-overlay (make-overlay 1 1)
935 hexl-follow-ascii t)
936 (overlay-put hexl-ascii-overlay 'face 'highlight)
937 (add-hook 'post-command-hook 'hexl-follow-ascii-find nil t)))
939 (if hexl-ascii-overlay
941 (delete-overlay hexl-ascii-overlay)
942 (setq hexl-ascii-overlay nil
943 hexl-follow-ascii nil)
944 (remove-hook 'post-command-hook 'hexl-follow-ascii-find t)
947 (defun hexl-activate-ruler ()
950 (unless (boundp 'hexl-mode-old-ruler-function)
951 (set (make-local-variable 'hexl-mode-old-ruler-function)
954 'hexl-mode-ruler)
957 (defun hexl-follow-line ()
960 (unless (boundp 'hexl-mode-old-hl-line-range-function)
961 (set (make-local-variable 'hexl-mode-old-hl-line-range-function)
963 (unless (boundp 'hexl-mode-old-hl-line-face)
964 (set (make-local-variable 'hexl-mode-old-hl-line-face)
967 'hexl-highlight-line-range)
972 (defun hexl-highlight-line-range ()
980 (defun hexl-follow-ascii-find ()
984 (mod (hexl-current-address) 16))))
985 (move-overlay hexl-ascii-overlay pos (1+ pos))
988 (defun hexl-mode-ruler ()
989 "Return a string ruler for hexl mode."
990 (let* ((highlight (mod (hexl-current-address) 16))
1013 (if hexl-mode-map
1015 (setq hexl-mode-map (make-keymap))
1016 ;; Make all self-inserting keys go through hexl-self-insert-command,
1019 (define-key hexl-mode-map [remap self-insert-command] 'hexl-self-insert-command)
1021 (define-key hexl-mode-map "\C-m" 'hexl-self-insert-command)
1022 (define-key hexl-mode-map [left] 'hexl-backward-char)
1023 (define-key hexl-mode-map [right] 'hexl-forward-char)
1024 (define-key hexl-mode-map [up] 'hexl-previous-line)
1025 (define-key hexl-mode-map [down] 'hexl-next-line)
1026 (define-key hexl-mode-map [M-left] 'hexl-backward-short)
1027 (define-key hexl-mode-map [?\e left] 'hexl-backward-short)
1028 (define-key hexl-mode-map [M-right] 'hexl-forward-short)
1029 (define-key hexl-mode-map [?\e right] 'hexl-forward-short)
1030 (define-key hexl-mode-map [next] 'hexl-scroll-up)
1031 (define-key hexl-mode-map [prior] 'hexl-scroll-down)
1032 (define-key hexl-mode-map [home] 'hexl-beginning-of-line)
1033 (define-key hexl-mode-map [end] 'hexl-end-of-line)
1034 (define-key hexl-mode-map [C-home] 'hexl-beginning-of-buffer)
1035 (define-key hexl-mode-map [C-end] 'hexl-end-of-buffer)
1036 (define-key hexl-mode-map [deletechar] 'undefined)
1037 (define-key hexl-mode-map [deleteline] 'undefined)
1038 (define-key hexl-mode-map [insertline] 'undefined)
1039 (define-key hexl-mode-map [S-delete] 'undefined)
1040 (define-key hexl-mode-map "\177" 'undefined)
1042 (define-key hexl-mode-map "\C-a" 'hexl-beginning-of-line)
1043 (define-key hexl-mode-map "\C-b" 'hexl-backward-char)
1044 (define-key hexl-mode-map "\C-d" 'undefined)
1045 (define-key hexl-mode-map "\C-e" 'hexl-end-of-line)
1046 (define-key hexl-mode-map "\C-f" 'hexl-forward-char)
1050 (define-key hexl-mode-map (char-to-string help-char) 'undefined))
1052 (define-key hexl-mode-map "\C-k" 'undefined)
1053 (define-key hexl-mode-map "\C-n" 'hexl-next-line)
1054 (define-key hexl-mode-map "\C-o" 'undefined)
1055 (define-key hexl-mode-map "\C-p" 'hexl-previous-line)
1056 (define-key hexl-mode-map "\C-q" 'hexl-quoted-insert)
1057 (define-key hexl-mode-map "\C-t" 'undefined)
1058 (define-key hexl-mode-map "\C-v" 'hexl-scroll-up)
1059 (define-key hexl-mode-map "\C-w" 'undefined)
1060 (define-key hexl-mode-map "\C-y" 'undefined)
1062 (fset 'hexl-ESC-prefix (copy-keymap 'ESC-prefix))
1063 (define-key hexl-mode-map "\e" 'hexl-ESC-prefix)
1064 (define-key hexl-mode-map "\e\C-a" 'hexl-beginning-of-512b-page)
1065 (define-key hexl-mode-map "\e\C-b" 'hexl-backward-short)
1066 (define-key hexl-mode-map "\e\C-d" 'hexl-insert-decimal-char)
1067 (define-key hexl-mode-map "\e\C-e" 'hexl-end-of-512b-page)
1068 (define-key hexl-mode-map "\e\C-f" 'hexl-forward-short)
1069 (define-key hexl-mode-map "\e\C-i" 'undefined)
1070 (define-key hexl-mode-map "\e\C-j" 'undefined)
1071 (define-key hexl-mode-map "\e\C-k" 'undefined)
1072 (define-key hexl-mode-map "\e\C-o" 'hexl-insert-octal-char)
1073 (define-key hexl-mode-map "\e\C-q" 'undefined)
1074 (define-key hexl-mode-map "\e\C-t" 'undefined)
1075 (define-key hexl-mode-map "\e\C-x" 'hexl-insert-hex-char)
1076 (define-key hexl-mode-map "\eb" 'hexl-backward-word)
1077 (define-key hexl-mode-map "\ec" 'undefined)
1078 (define-key hexl-mode-map "\ed" 'undefined)
1079 (define-key hexl-mode-map "\ef" 'hexl-forward-word)
1080 (define-key hexl-mode-map "\eg" 'hexl-goto-hex-address)
1081 (define-key hexl-mode-map "\ei" 'undefined)
1082 (define-key hexl-mode-map "\ej" 'hexl-goto-address)
1083 (define-key hexl-mode-map "\ek" 'undefined)
1084 (define-key hexl-mode-map "\el" 'undefined)
1085 (define-key hexl-mode-map "\eq" 'undefined)
1086 (define-key hexl-mode-map "\es" 'undefined)
1087 (define-key hexl-mode-map "\et" 'undefined)
1088 (define-key hexl-mode-map "\eu" 'undefined)
1089 (define-key hexl-mode-map "\ev" 'hexl-scroll-down)
1090 (define-key hexl-mode-map "\ey" 'undefined)
1091 (define-key hexl-mode-map "\ez" 'undefined)
1092 (define-key hexl-mode-map "\e<" 'hexl-beginning-of-buffer)
1093 (define-key hexl-mode-map "\e>" 'hexl-end-of-buffer)
1095 (fset 'hexl-C-c-prefix (copy-keymap mode-specific-map))
1096 (define-key hexl-mode-map "\C-c" 'hexl-C-c-prefix)
1097 (define-key hexl-mode-map "\C-c\C-c" 'hexl-mode-exit)
1099 (fset 'hexl-C-x-prefix (copy-keymap 'Control-X-prefix))
1100 (define-key hexl-mode-map "\C-x" 'hexl-C-x-prefix)
1101 (define-key hexl-mode-map "\C-x[" 'hexl-beginning-of-1k-page)
1102 (define-key hexl-mode-map "\C-x]" 'hexl-end-of-1k-page)
1103 (define-key hexl-mode-map "\C-x\C-p" 'undefined)
1104 (define-key hexl-mode-map "\C-x\C-s" 'hexl-save-buffer)
1105 (define-key hexl-mode-map "\C-x\C-t" 'undefined))
1107 (provide 'hexl)
1110 ;;; hexl.el ends here