+2004-03-04 Masatake YAMATO <jet@gyve.org>
+
+ * hexl.el (hexl-mode): Set `hexl-print-current-point-info'
+ as the callback function for eldoc.
+ (hexl-print-current-point-info): New function.
+ (hexl-current-address): print the address in both decimal
+ and hexadecimal format.
+
2004-03-04 Richard M. Stallman <rms@gnu.org>
* mail/rmail.el (rmail-convert-to-babyl-format):
;;; Code:
+(require 'eldoc)
+
;;
;; vars here
;;
(add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t)
+ ;; Set a callback function for eldoc.
+ (set (make-variable-buffer-local 'eldoc-print-current-symbol-info-function)
+ 'hexl-print-current-point-info)
+ (eldoc-add-command-completions "hexl-")
+ (eldoc-remove-command "hexl-save-buffer"
+ "hexl-current-address")
+
(if hexl-follow-ascii (hexl-follow-ascii 1)))
(run-hooks 'hexl-mode-hook))
(- current-column 41)
(/ (- current-column (/ current-column 5)) 2))))
(when (interactive-p)
- (message "Current address is %d" hexl-address))
+ (message "Current address is %d/0x%08x" hexl-address hexl-address))
hexl-address))
+(defun hexl-print-current-point-info ()
+ "Return current hexl-address in string.
+This function is indented to be used as eldoc callback."
+ (let ((addr (hexl-current-address)))
+ (format "Current address is %d/0x%08x" addr addr)))
+
(defun hexl-address-to-marker (address)
"Return buffer position for ADDRESS."
(interactive "nAddress: ")