diff lisp/simple.el @ 4468:a78d697ccd2c

Import and extend GNU's descr-text.el, supporting prefix argument for C-x = 2008-05-25 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el: New. Taken from GNU's GPLV2 version of 2007-02-14, with modifications for XEmacs support and extensions for Unihan.txt support and db/dbm caches. * simple.el (what-cursor-position): Support an optional prefix argument, as does GNU, calling #'describe-char to giving more detail on the character at point, notably from UnicodeData and (in our case, optionally) Unihan.txt. * syntax.el (syntax-after): Make this available for the sake of #'describe-char. * mule/mule-cmds.el (iso-2022-control-alist): Make this available, for the sake of #'encoded-string-description and #'describe-char. * mule/mule-cmds.el (encoded-string-description): Make this available, for the sake of #'describe-char. * unicode.el (unicode-error-default-translation-table): Make this a char table of type generic, not of type char. Makes it possible to have the relevant logic in #'describe-char reasonably clear; also, and this is undocumented, makes it much easier to implement #'frob-unicode-errors-region. I should document this, and revise #'frob-unicode-errors-region.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 25 May 2008 21:11:35 +0200
parents bea04dade8af
children 891381effa11
line wrap: on
line diff
--- a/lisp/simple.el	Wed May 21 21:09:20 2008 +0200
+++ b/lisp/simple.el	Sun May 25 21:11:35 2008 +0200
@@ -782,13 +782,16 @@
 		done)))
 	(- (buffer-size) (forward-line (buffer-size)))))))
 
-(defun what-cursor-position ()
+(defun what-cursor-position (&optional detail)
   "Print info on cursor position (on screen and within buffer).
 Also describe the character after point, giving its UCS code point and Mule
 charset and codes; for ASCII characters, give its code in octal, decimal and
-hex."
-  ;; XEmacs change
-  (interactive "_")
+hex.
+
+With prefix argument, show extended details about the character in a
+separate buffer.  See also the command `describe-char'."
+  ;; XEmacs change "_"
+  (interactive "_P")
   (let* ((char (char-after (point))) ; XEmacs
 	 (beg (point-min))
 	 (end (point-max))
@@ -813,6 +816,8 @@
     (if (= pos end)
         (message "point=%d of %d(%d%%)%s column %d %s"
                  pos total percent narrowed-details col hscroll)
+      (if detail
+          (describe-char (point)))
       ;; XEmacs: don't use single-key-description, treat non-ASCII
       ;; characters differently.
       (if (< char ?\x80)