changeset 54275:f4b54db9c8ae

(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.
author Masatake YAMATO <jet@gyve.org>
date Thu, 04 Mar 2004 18:19:19 +0000
parents d41dd3d19ce4
children 0c512d4c08e1
files lisp/ChangeLog lisp/hexl.el
diffstat 2 files changed, 24 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Mar 04 17:25:52 2004 +0000
+++ b/lisp/ChangeLog	Thu Mar 04 18:19:19 2004 +0000
@@ -1,3 +1,11 @@
+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):
--- a/lisp/hexl.el	Thu Mar 04 17:25:52 2004 +0000
+++ b/lisp/hexl.el	Thu Mar 04 18:19:19 2004 +0000
@@ -42,6 +42,8 @@
 
 ;;; Code:
 
+(require 'eldoc)
+
 ;;
 ;; vars here
 ;;
@@ -236,6 +238,13 @@
 
     (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))
 
@@ -361,9 +370,15 @@
 		 (- 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: ")