;ELC ;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:46:24 2003 ;;; from file /home/pot/gnu/emacs-pretest.new/lisp/hexl.el ;;; in Emacs version 21.3 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`hexl.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'hexl nil "Edit a file in a hex dump format using the hexl filter." :group 'data) #@157 The program that will hexlify and dehexlify its stdin. `hexl-program' will always be concatenated with `hexl-options' and "-de" when dehexlifying a buffer. (custom-declare-variable 'hexl-program '"hexl" '(#$ . 715) :type 'string :group 'hexl) #@98 If your emacs can handle ISO characters, this should be set to "-iso" otherwise it should be "". (custom-declare-variable 'hexl-iso '"" '(#$ . 964) :type 'string :group 'hexl) #@47 Options to hexl-program that suit your needs. (custom-declare-variable 'hexl-options '(format "-hex %s" hexl-iso) '(#$ . 1146) :type 'string :group 'hexl) #@41 The command to use to hexlify a buffer. (custom-declare-variable 'hexlify-command '(format "%s %s" (shell-quote-argument (expand-file-name hexl-program exec-directory)) hexl-options) '(#$ . 1307) :type 'string :group 'hexl) #@43 The command to use to unhexlify a buffer. (custom-declare-variable 'dehexlify-command '(format "%s -de %s" (shell-quote-argument (expand-file-name hexl-program exec-directory)) hexl-options) '(#$ . 1537) :type 'string :group 'hexl) #@71 If non-nil then highlight the ASCII character corresponding to point. (custom-declare-variable 'hexl-follow-ascii 't '(#$ . 1775) :type 'boolean :group 'hexl :version "20.3") #@34 Maximum offset into hexl buffer. (defvar hexl-max-address 0 (#$ . 1956)) (byte-code "\301B\302\301!\204\f\303\304B\305B\306B\307B\310B\311B\303\207" [current-load-list hexl-mode-map boundp nil hexl-mode-old-local-map hexl-mode-old-mode-name hexl-mode-old-major-mode hexl-mode-old-write-contents-hooks hexl-mode-old-require-final-newline hexl-mode-old-syntax-table] 2) #@73 Overlay used to highlight ASCII element corresponding to current point. (defvar hexl-ascii-overlay nil (#$ . 2346)) (byte-code "\300\301!\210\302\303\304\305#\207" [make-variable-buffer-local hexl-ascii-overlay put hexl-mode mode-class special] 4) #@3460 \A mode for editing binary files in hex dump format. This is not an ordinary major mode; it alters some aspects of the current mode's behavior, but not all; also, you can exit Hexl mode and return to the previous mode using `hexl-mode-exit'. This function automatically converts a buffer into the hexl format using the function `hexlify-buffer'. Each line in the buffer has an "address" (displayed in hexadecimal) representing the offset into the file that the characters on this line are at and 16 characters from the file (displayed as hexadecimal values grouped every 16 bits) and as their ASCII values. If any of the characters (displayed as ASCII characters) are unprintable (control or meta characters) they will be replaced as periods. If `hexl-mode' is invoked with an argument the buffer is assumed to be in hexl format. A sample format: HEX ADDR: 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f ASCII-TEXT -------- ---- ---- ---- ---- ---- ---- ---- ---- ---------------- 00000000: 5468 6973 2069 7320 6865 786c 2d6d 6f64 This is hexl-mod 00000010: 652e 2020 4561 6368 206c 696e 6520 7265 e. Each line re 00000020: 7072 6573 656e 7473 2031 3620 6279 7465 presents 16 byte 00000030: 7320 6173 2068 6578 6164 6563 696d 616c s as hexadecimal 00000040: 2041 5343 4949 0a61 6e64 2070 7269 6e74 ASCII.and print 00000050: 6162 6c65 2041 5343 4949 2063 6861 7261 able ASCII chara 00000060: 6374 6572 732e 2020 416e 7920 636f 6e74 cters. Any cont 00000070: 726f 6c20 6f72 206e 6f6e 2d41 5343 4949 rol or non-ASCII 00000080: 2063 6861 7261 6374 6572 730a 6172 6520 characters.are 00000090: 6469 7370 6c61 7965 6420 6173 2070 6572 displayed as per 000000a0: 696f 6473 2069 6e20 7468 6520 7072 696e iods in the prin 000000b0: 7461 626c 6520 6368 6172 6163 7465 7220 table character 000000c0: 7265 6769 6f6e 2e0a region.. Movement is as simple as movement in a normal emacs text buffer. Most cursor movement bindings are the same (ie. Use \[hexl-backward-char], \[hexl-forward-char], \[hexl-next-line], and \[hexl-previous-line] to move the cursor left, right, down, and up). Advanced cursor movement commands (ala \[hexl-beginning-of-line], \[hexl-end-of-line], \[hexl-beginning-of-buffer], and \[hexl-end-of-buffer]) are also supported. There are several ways to change text in hexl mode: ASCII characters (character between space (0x20) and tilde (0x7E)) are bound to self-insert so you can simply type the character and it will insert itself (actually overstrike) into the buffer. \[hexl-quoted-insert] followed by another keystroke allows you to insert the key even if it isn't bound to self-insert. An octal number can be supplied in place of another key to insert the octal number's ASCII representation. \[hexl-insert-hex-char] will insert a given hexadecimal value (if it is between 0 and 0xFF) into the buffer at the current point. \[hexl-insert-octal-char] will insert a given octal value (if it is between 0 and 0377) into the buffer at the current point. \[hexl-insert-decimal-char] will insert a given decimal value (if it is between 0 and 255) into the buffer at the current point. \[hexl-mode-exit] will exit hexl-mode. Note: saving the file with any of the usual Emacs commands will actually convert it back to binary format while saving. You can use \[hexl-find-file] to visit a file in Hexl mode. \[describe-bindings] for advanced commands. (defalias 'hexl-mode #[(&optional arg) "\306=\204\337\307 \310`S\311m\203o\204\nS \312=\2042 \2032\313 S\314\245\315_\316\\\202f\313 S\3170!\312=\203_\320ed\" \\\321d!\322=\204Q S\320e`\"\n\\n\204_\nS\323 \210\324\f!\210\325\326!\210 \327\n!\210,\325\330!\210\331 \3321!\210\325\333!\2102\3342\325\335!\210\306\325\336!\210\337 \340\341 !\210\325\342!\210#\"\325\343!\210\344\343\345\"\210\325\346!\210'&\325\347!\210\311'\350\351!\210\344\351\352\311\310$\210\350\353!\210\344\353\354\311\310$\210-\203\337\355\312!\210\356\357!\207" [major-mode max-address original-point inhibit-read-only modified arg hexl-mode buffer-modified-p t nil 1 buffer-size 68 16 15 coding-system-eol-type count-lines char-before 10 hexlify-buffer set-buffer-modified-p make-local-variable hexl-max-address hexl-goto-address hexl-mode-old-local-map current-local-map use-local-map hexl-mode-old-mode-name "Hexl" hexl-mode-old-major-mode hexl-mode-old-syntax-table syntax-table set-syntax-table standard-syntax-table hexl-mode-old-write-contents-hooks write-contents-hooks add-hook hexl-save-buffer hexl-mode-old-require-final-newline require-final-newline make-local-hook after-revert-hook hexl-after-revert-hook change-major-mode-hook hexl-maybe-dehexlify-buffer hexl-follow-ascii run-hooks hexl-mode-hook buffer-file-coding-system hexl-mode-map mode-name] 5 (#$ . 2602) "p"]) (defalias 'hexl-after-revert-hook #[nil "\301 S\302 \210\303\304!\207" [hexl-max-address buffer-size hexlify-buffer set-buffer-modified-p nil] 2]) (byte-code "\301B\302\301!\204\f\303\303\207" [current-load-list hexl-in-save-buffer boundp nil] 2) #@66 Save a hexl format buffer as binary in visited file if modified. (defalias 'hexl-save-buffer #[nil "?\205S\306\307 \203K\212\310\311!\312 \313 ed\314\211q\210\315 \n#\210 q\210\316 \210\317\320 \210)\307 ed|\210\315 \n#\210\321!\210 .\202P\322\323!\210\314!\210\317\207" [hexl-in-save-buffer modified end start file-name name set-buffer-modified-p buffer-modified-p generate-new-buffer " hexl" buffer-name buffer-file-name nil insert-buffer-substring dehexlify-buffer t save-buffer kill-buffer message "(No changes need to be saved)" buf] 8 (#$ . 7722) nil]) #@106 Edit file FILENAME in hexl-mode. Switch to a buffer visiting file FILENAME, creating one in none exists. (defalias 'hexl-find-file #[(filename) "\302!\210 \303=?\205 \303 \207" [filename major-mode find-file-literally hexl-mode] 2 (#$ . 8307) "fFilename: "]) #@79 Exit Hexl mode, returning to previous mode. With arg, don't unhexlify buffer. (defalias 'hexl-mode-exit #[(&optional arg) "\306=\204\n\204<\307 \310\311 T\312 \210\313\314\315\"\210\316 !\210 b\210\317\f!\306=\2038 \320e`\"Zo\2048 T b\210+\313\321\322\310#\210\313\323\324\310#\210\313\325\326\310#\210\327\f\330 !\210\331!!\210\"#\332 \207" [arg original-point inhibit-read-only modified buffer-file-coding-system hexl-ascii-overlay 1 buffer-modified-p t hexl-current-address dehexlify-buffer remove-hook write-contents-hooks hexl-save-buffer set-buffer-modified-p coding-system-eol-type count-lines after-revert-hook hexl-after-revert-hook change-major-mode-hook hexl-maybe-dehexlify-buffer post-command-hook hexl-follow-ascii-find nil use-local-map set-syntax-table force-mode-line-update hexl-mode-old-write-contents-hooks hexl-mode-old-require-final-newline require-final-newline hexl-mode-old-mode-name mode-name hexl-mode-old-local-map hexl-mode-old-syntax-table hexl-mode-old-major-mode major-mode] 4 (#$ . 8574) "p"]) #@72 Convert a hexl format buffer to binary. Ask the user for confirmation. (defalias 'hexl-maybe-dehexlify-buffer #[nil "\303\304!\205\305 \306\307 T\310 \210\311\312\313\"\210\314\n!\210b+\207" [original-point inhibit-read-only modified y-or-n-p "Convert contents back to binary format? " buffer-modified-p t hexl-current-address dehexlify-buffer remove-hook write-contents-hooks hexl-save-buffer set-buffer-modified-p] 3 (#$ . 9634)]) #@30 Return current hexl-address. (defalias 'hexl-current-address #[(&optional validate) "`\303\246\304Z\305\211\305W\203\n\203\306\307!\210\202\305`\303\245\310_ \311Y\203, \311Z\2023 \211\312\245Z\313\245\\t\203>\314\315\"\210*\207" [hexl-address current-column validate 68 11 0 error "Point is not on a character in the file" 16 41 5 2 message "Current address is %d"] 5 (#$ . 10079) nil]) #@37 Return buffer position for ADDRESS. (defalias 'hexl-address-to-marker #[(address) "\301\245\302_\301\246\303_\304\245\\\305\\\207" [address 16 68 5 2 11] 3 (#$ . 10488) "nAddress: "]) #@81 Goto hexl-mode (decimal) address ADDRESS. Signal error if ADDRESS out of range. (defalias 'hexl-goto-address #[(address) "\302W\204\f V\203\303\304!\210\305!b\207" [address hexl-max-address 0 error "Out of hexl region" hexl-address-to-marker] 2 (#$ . 10680) "nAddress: "]) #@96 Go to hexl-mode address (hex string) HEX-ADDRESS. Signal error if HEX-ADDRESS is out of range. (defalias 'hexl-goto-hex-address #[(hex-address) "\301\302!!\207" [hex-address hexl-goto-address hexl-hex-string-to-integer] 3 (#$ . 10965) "sHex Address: "]) #@40 Return decimal integer for HEX-STRING. (defalias 'hexl-hex-string-to-integer #[(hex-string) "\302 \303\232\204\304_\305\306 !!\\ \307\310O\211\202)\207" [hex-num hex-string 0 "" 16 hexl-hex-char-to-integer string-to-char 1 nil] 5 (#$ . 11226) "sHex number: "]) #@42 Return decimal integer for OCTAL-STRING. (defalias 'hexl-octal-string-to-integer #[(octal-string) "\302 \303\232\204\304_\305\306 !!\\ \307\310O\211\202)\207" [oct-num octal-string 0 "" 8 hexl-oct-char-to-integer string-to-char 1 nil] 5 (#$ . 11502) "sOctal number: "]) #@62 Move to left ARG bytes (right if ARG negative) in hexl-mode. (defalias 'hexl-backward-char #[(arg) "\301\302 Z!\207" [arg hexl-goto-address hexl-current-address] 3 (#$ . 11787) "p"]) #@59 Move right ARG bytes (left if ARG negative) in hexl-mode. (defalias 'hexl-forward-char #[(arg) "\301\302 \\!\207" [arg hexl-goto-address hexl-current-address] 3 (#$ . 11977) "p"]) #@63 Move to left ARG shorts (right if ARG negative) in hexl-mode. (defalias 'hexl-backward-short #[(arg) "\303\304  \305W\203d [\211\305V\203M\306\307\"\232\2043\nV\203+\310\311!\210\n\202F\306\307\"\202F\nV\203B\310\311!\210\n\202F\312\\ S\211\202\nV\203\\\310\311!\210\n\202\223\306\307\"\202\223 \305V\203\223\313\314\"\232\204{\313\314\"\202\214\305\232\204\210\312Z\202\214\310\315!\210 S\211\202e)!\207" [address arg hexl-max-address hexl-goto-address hexl-current-address 0 logior 3 message "End of buffer." 4 logand -4 "Beginning of buffer."] 6 (#$ . 12164) "p"]) #@60 Move right ARG shorts (left if ARG negative) in hexl-mode. (defalias 'hexl-forward-short #[(arg) "\301[!\207" [arg hexl-backward-short] 2 (#$ . 12783) "p"]) #@62 Move to left ARG words (right if ARG negative) in hexl-mode. (defalias 'hexl-backward-word #[(arg) "\303\304  \305W\203d [\211\305V\203M\306\307\"\232\2043\nV\203+\310\311!\210\n\202F\306\307\"\202F\nV\203B\310\311!\210\n\202F\312\\ S\211\202\nV\203\\\310\311!\210\n\202\223\306\307\"\202\223 \305V\203\223\313\314\"\232\204{\313\314\"\202\214\305\232\204\210\312Z\202\214\310\315!\210 S\211\202e)!\207" [address arg hexl-max-address hexl-goto-address hexl-current-address 0 logior 7 message "End of buffer." 8 logand -8 "Beginning of buffer."] 6 (#$ . 12947) "p"]) #@59 Move right ARG words (left if ARG negative) in hexl-mode. (defalias 'hexl-forward-word #[(arg) "\301[!\207" [arg hexl-backward-word] 2 (#$ . 13564) "p"]) #@153 Move vertically up ARG lines [16 bytes] (down if ARG negative) in hexl-mode. If there is byte at the target address move to the last byte in that line. (defalias 'hexl-previous-line #[(arg) "\301[!\207" [arg hexl-next-line] 2 (#$ . 13726) "p"]) #@156 Move vertically down ARG lines [16 bytes] (up if ARG negative) in hexl-mode. If there is no byte at the target address move to the last byte in that line. (defalias 'hexl-next-line #[(arg) "\303\304 \305_\\\306W\203 \306W\203 \307\310!\210\304 \305\246\202I \nV\2035\n\305\246 \305\246W\2035\n\202I \nV\203I\307\310!\210\311\n\312\"\304 \305\246\\ )!\207" [arg address hexl-max-address hexl-goto-address hexl-current-address 16 0 message "Out of hexl region." logand -16] 4 (#$ . 13979) "p"]) #@158 Move to the beginning of the hexl buffer. Leaves `hexl-mark' at previous position. With prefix arg N, puts point N bytes of the way from the true beginning. (defalias 'hexl-beginning-of-buffer #[(arg) "\301`!\210\302S\303\\!\207" [arg push-mark hexl-goto-address 0] 3 (#$ . 14493) "p"]) #@37 Go to `hexl-max-address' minus ARG. (defalias 'hexl-end-of-buffer #[(arg) "\302`!\210\303 SZ!\207" [hexl-max-address arg push-mark hexl-goto-address] 3 (#$ . 14787) "p"]) #@38 Goto beginning of line in hexl mode. (defalias 'hexl-beginning-of-line #[nil "`\300\245\300_\301\\b\207" [68 11] 2 (#$ . 14965) nil]) #@32 Goto end of line in hexl mode. (defalias 'hexl-end-of-line #[nil "\302\303\304 \305\"\211 V\203 )!\207" [address hexl-max-address hexl-goto-address logior hexl-current-address 15] 5 (#$ . 15105) nil]) #@76 Scroll hexl buffer window upward ARG lines; or near full window if no ARG. (defalias 'hexl-scroll-down #[(arg) "\204 \301 S\202\302!\303[!\207" [arg window-height prefix-numeric-value hexl-scroll-up] 2 (#$ . 15317) "P"]) #@150 Scroll hexl buffer window upward ARG lines; or near full window if no ARG. If there's no byte at the target address, move to the first or last line. (defalias 'hexl-scroll-up #[(arg) "\204 \305 S\202\306!\307_\310 \211 \\\211\fV\2036\f\307\246\n\307\246Y\2036\311\f\312\"\n\307\246\\\202K \fV\203A\f\202K \313W\203K\n\307\246 \n \\U\204W\314\315!\210\316 !\210\317\313!+\207" [arg movement address dest hexl-max-address window-height prefix-numeric-value 16 hexl-current-address logand -16 0 message "Out of hexl region." hexl-goto-address recenter] 4 (#$ . 15553) "P"]) #@33 Go to beginning of 1k boundary. (defalias 'hexl-beginning-of-1k-page #[nil "\300\301\302 \303\"!\207" [hexl-goto-address logand hexl-current-address -1024] 4 (#$ . 16151) nil]) #@27 Go to end of 1k boundary. (defalias 'hexl-end-of-1k-page #[nil "\302\303\304 \305\"\211 V\203 )!\207" [address hexl-max-address hexl-goto-address logior hexl-current-address 1023] 5 (#$ . 16334) nil]) #@39 Go to beginning of 512 byte boundary. (defalias 'hexl-beginning-of-512b-page #[nil "\300\301\302 \303\"!\207" [hexl-goto-address logand hexl-current-address -512] 4 (#$ . 16546) nil]) #@33 Go to end of 512 byte boundary. (defalias 'hexl-end-of-512b-page #[nil "\302\303\304 \305\"\211 V\203 )!\207" [address hexl-max-address hexl-goto-address logior hexl-current-address 511] 5 (#$ . 16736) nil]) #@205 Read next input character and insert it. Useful for inserting control characters and non-ASCII characters given their numerical code. You may also type octal digits, to insert a character with that code. (defalias 'hexl-quoted-insert #[(arg) "\301\302 \"\207" [arg hexl-insert-multibyte-char read-quoted-char] 3 (#$ . 16956) "p"]) #@86 Convert a binary buffer to hexl format. This discards the buffer's undo information. (defalias 'hexlify-buffer #[nil "\203\306\307!\204\310\311!\210\312\313 \314\315ed\f\314$\210`\316 !V\205(\317 !+\207" [buffer-undo-list buffer-file-coding-system coding-system-for-write coding-system-for-read hexlify-command hexl-max-address y-or-n-p "Converting to hexl format discards undo info; ok? " error "Aborted" nil raw-text t shell-command-on-region hexl-address-to-marker hexl-goto-address] 5 (#$ . 17294) nil]) #@86 Convert a hexl format buffer to binary. This discards the buffer's undo information. (defalias 'dehexlify-buffer #[nil "\203\305\306!\204\307\310!\210\311\312 \313\314ed\f\313$+\207" [buffer-undo-list buffer-file-coding-system coding-system-for-read coding-system-for-write dehexlify-command y-or-n-p "Converting from hexl format discards undo info; ok? " error "Aborted" nil raw-text t shell-command-on-region] 5 (#$ . 17818) nil]) #@44 Return char for ASCII hex digits at point. (defalias 'hexl-char-after-point #[nil "\300`f`Tf\"\207" [hexl-htoi] 3 (#$ . 18266)]) #@37 Hex (char) LH (char) RH to integer. (defalias 'hexl-htoi #[(lh rh) "\302!\303_\302 !\\\207" [lh rh hexl-hex-char-to-integer 16] 3 (#$ . 18401)]) #@60 Take a char and return its value as if it was a hex digit. (defalias 'hexl-hex-char-to-integer #[(character) "\302Y\203\303X\203\302Z\207\304\305\"\211\306Y\203' \307X\203' \310Z\202+\311\312 \")\207" [character ch 48 57 logior 32 97 102 87 error "Invalid hex digit `%c'"] 4 (#$ . 18553)]) #@62 Take a char and return its value as if it was a octal digit. (defalias 'hexl-oct-char-to-integer #[(character) "\301Y\203\302X\203\301Z\207\303\304\"\207" [character 48 55 error "Invalid octal digit `%c'"] 3 (#$ . 18861)]) #@47 Return a displayable string for character CH. (defalias 'hexl-printable-character #[(ch) "\302\303\203 \304W\204 \305Y\203 \306W\203\307\2021 \2021 \304W\204, \305Y\2030\307\2021 \"\207" [hexl-iso ch format "%c" 32 127 160 46] 4 (#$ . 19098)]) #@176 Insert a possibly multibyte character CH NUM times. Non-ASCII characters are first encoded with `buffer-file-coding-system', and their encoded form is inserted byte by byte. (defalias 'hexl-insert-multibyte-char #[(ch num) "\306! \203\307 !\310=\203\n\202 \311V\203)\312W\203)\313 \"\202}\f\314=\2036\315\316\"\202}\317 \"\320\321!!\322\211\204i\323\324\325#\326\327\330#!\203d\202i\315\331\"\210 \311V\205|\332\333\"\210 S\211\202j+*\207" [ch buffer-file-coding-system default-buffer-file-coding-system coding charset num char-charset coding-system-type t 0 256 hexl-insert-char unknown error "0x%x -- invalid character code; use \\[hexl-insert-hex-string]" encode-coding-char string-as-unibyte char-to-string nil mapconcat #[(c) "\301\302\"\207" [c format "%x"] 3] " " yes-or-no-p format "Insert char 0x%x's internal representation \"%s\"? " "Can't encode `0x%x' with this buffer's coding system; try \\[hexl-insert-hex-string]" mapc #[(c) "\301\302\"\207" [c hexl-insert-char 1] 3] internal-hex internal encoded] 6 (#$ . 19363)]) #@226 Insert this character. Interactively, with a numeric argument, insert this character that many times. Non-ASCII characters are first encoded with `buffer-file-coding-system', and their encoded form is inserted byte by byte. (defalias 'hexl-self-insert-command #[(arg) "\302 \"\207" [last-command-char arg hexl-insert-multibyte-char] 3 (#$ . 20452) "p"]) #@119 Insert the character CH NUM times in a hexl buffer. CH must be a unibyte character whose value is between 0 and 255. (defalias 'hexl-insert-char #[(ch num) "\306W\204\f\307V\203\310\311!\210\312\313!\n\306V\205\202 \314\245\315_ \314\246\316_\\ \314\246\316\245\\\317\\ \314\245\315_ \314\246\\\320\\\321`\fU\203D\313 b\210\322\316!\210\323\324\"c\210\fb\210\322\325!\210\326!c\210 =\204g T\327 !\210 \203z\330 \210\331u\210 \314\246u\210+\nS\211\202)\207" [ch address num at-ascii-position ascii-position hex-position 0 255 error "Invalid character 0x%x -- must be in the range [0..255]" hexl-current-address t 16 68 2 11 52 nil delete-char format "%02x" 1 hexl-printable-character hexl-goto-address beginning-of-line 51 hexl-max-address] 5 (#$ . 20815)]) #@70 Insert a character given by its hexadecimal code ARG times at point. (defalias 'hexl-insert-hex-char #[(arg) "\302\303\304!!\211\305W\203\306\307!\202\310 \")\207" [num arg hexl-hex-string-to-integer read-string "Hex number: " 0 error "Hex number out of range" hexl-insert-multibyte-char] 4 (#$ . 21601) "p"]) #@119 Insert hexadecimal string STR at point ARG times. Embedded whitespace, dashes, and periods in the string are ignored. (defalias 'hexl-insert-hex-string #[(str arg) "\306\307\310#\311G\312\313 \314\"\314=\203$\315\312\314O!\211 B\314)\n W\203?\n\316\\\315\n O!\211 B *\202$* \237\312V\205g \211\203]\317 @\314\"\210 A\211\204P)S\211\202E)\207" [str chars idx len num nidx replace-regexp-in-string "[- .]" "" nil 0 logand 1 hexl-hex-string-to-integer 2 hexl-insert-char arg] 5 (#$ . 21924) "sHex string: \np"]) #@66 Insert a character given by its decimal code ARG times at point. (defalias 'hexl-insert-decimal-char #[(arg) "\302\303\304!!\211\305W\203\306\307!\202\310 \")\207" [num arg string-to-int read-string "Decimal Number: " 0 error "Decimal number out of range" hexl-insert-multibyte-char] 4 (#$ . 22471) "p"]) #@64 Insert a character given by its octal code ARG times at point. (defalias 'hexl-insert-octal-char #[(arg) "\302\303\304!!\211\305W\203\306\307!\202\310 \")\207" [num arg hexl-octal-string-to-integer read-string "Octal Number: " 0 error "Decimal number out of range" hexl-insert-multibyte-char] 4 (#$ . 22788) "p"]) #@284 Toggle following ASCII in Hexl buffers. With prefix ARG, turn on following if and only if ARG is positive. When following is enabled, the ASCII character corresponding to the element under the point is highlighted. Customize the variable `hexl-follow-ascii' to disable this feature. (defalias 'hexl-follow-ascii #[(&optional arg) "\203\f\304!\305V\202 ?\306\307!\210\n\2032 ?\205C\310\311\211\"\312\313 \314\315#\210\316\307\317\320\312$\202C \205C\321 !\210\320\320\322\307\317\312#)\207" [arg hexl-ascii-overlay on-p hexl-follow-ascii prefix-numeric-value 0 make-local-hook post-command-hook make-overlay 1 t overlay-put face highlight add-hook hexl-follow-ascii-find nil delete-overlay remove-hook] 5 (#$ . 23115) "P"]) #@70 Find and highlight the ASCII element corresponding to current point. (defalias 'hexl-follow-ascii-find #[nil "`iZ\302\303 \304\"\\\305\\\306 \211T#)\207" [pos hexl-ascii-overlay mod hexl-current-address 16 51 move-overlay] 4 (#$ . 23858)]) (byte-code "\204I\303 \304\305\306\307 $\210\310\311\306#\210\310\312\313#\210\310\314\315#\210\310\316\317#\210\310\320\321#\210\310\322\323#\210\310\324\325#\210\310\326\327#\210\310\330\331#\210\310\332\333#\210\310\334\335#\210\310\336\337#\210\310\340\341#\210\310\342\343#\210\310\344\343#\210\310\345\343#\210\310\346\343#\210\310\347\343#\210\310\350\333#\210\310\351\313#\210\310\352\343#\210\310\353\335#\210\310\354\315#\210\355\356 !!\357=\204\253\310\356 !\343#\210\310\360\343#\210\310\361\321#\210\310\362\343#\210\310\363\317#\210\310\364\365#\210\310\366\343#\210\310\367\327#\210\310\370\343#\210\310\371\343#\210\372\373\374!M\210\310\375\372#\210\310\376\377#\210\310\201@\323#\210\310\201A\201B#\210\310\201C\201D#\210\310\201E\325#\210\310\201F\343#\210\310\201G\343#\210\310\201H\343#\210\310\201I\201J#\210\310\201K\343#\210\310\201L\343#\210\310\201M\201N#\210\310\201O\201P#\210\310\201Q\343#\210\310\201R\343#\210\310\201S\201T#\210\310\201U\201V#\210\310\201W\343#\210\310\201X\201Y#\210\310\201Z\343#\210\310\201[\343#\210\310\201\\\343#\210\310\201]\343#\210\310\201^\343#\210\310\201_\343#\210\310\201`\331#\210\310\201a\343#\210\310\201b\343#\210\310\201c\337#\210\310\201d\341#\210\201e\373\n!M\210\310\201f\201e#\210\310\201g\201h#\210\201i\373\201j!M\210\310\201k\201i#\210\310\201l\201m#\210\310\201n\201o#\210\310\201p\343#\210\310\201q\201r#\210\310\201s\343#\210\201t\201u!\207" [hexl-mode-map help-char mode-specific-map make-keymap substitute-key-definition self-insert-command hexl-self-insert-command current-global-map define-key " " [left] hexl-backward-char [right] hexl-forward-char [up] hexl-previous-line [down] hexl-next-line [M-left] hexl-backward-short [M-right] hexl-forward-short [next] hexl-scroll-up [prior] hexl-scroll-down [home] hexl-beginning-of-line [end] hexl-end-of-line [C-home] hexl-beginning-of-buffer [C-end] hexl-end-of-buffer [deletechar] undefined [deleteline] [insertline] [S-delete] "" "" "" "" "" "" key-binding char-to-string help-command " " "" "" "" "" hexl-quoted-insert "" "" "" "" hexl-ESC-prefix copy-keymap ESC-prefix "" "" hexl-beginning-of-512b-page "" "" hexl-insert-decimal-char "" hexl-end-of-512b-page "" " " "\n" " " "" hexl-insert-octal-char "" "" "" hexl-insert-hex-char "b" hexl-backward-word "c" "d" "f" hexl-forward-word "g" hexl-goto-hex-address "i" "j" hexl-goto-address "k" "l" "q" "s" "t" "u" "v" "y" "z" "<" ">" hexl-C-c-prefix "" "" hexl-mode-exit hexl-C-x-prefix Control-X-prefix "" "[" hexl-beginning-of-1k-page "]" hexl-end-of-1k-page "" "" hexl-save-buffer "" provide hexl] 5)