CVS update by aidan xemacs/src ...

xemacs-cvs at xemacs.org xemacs-cvs at xemacs.org
Wed Dec 6 16:28:56 EST 2006


  User: aidan   
  Date: 06/12/06 22:28:56

  Modified:    xemacs/src ChangeLog text.c
Log:
lisp/ChangeLog addition:

2006-12-04  Aidan Kehoe  <kehoea at parhasard.net>

	* simple.el (what-cursor-position):
	For non-ASCII characters, give details on what a character maps to
	in Unicode, and its Mule charsets and codes, instead of simply its
	integer code point in this XEmacs.

src/ChangeLog addition:

2006-12-04  Aidan Kehoe  <kehoea at parhasard.net>

	* text.c (Fsplit_char):
	Make split-char available on non-Mule builds, taking out a
	superfluous call to get-charset to make that possible.

Revision  Changes    Path
1.777     +7 -0      XEmacs/xemacs/lisp/ChangeLog

Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.776
retrieving revision 1.777
diff -u -p -r1.776 -r1.777
--- ChangeLog	2006/12/05 08:21:02	1.776
+++ ChangeLog	2006/12/06 21:28:47	1.777
@@ -1,3 +1,10 @@
+2006-12-06  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* simple.el (what-cursor-position):
+	For non-ASCII characters, give details on what a character maps to
+	in Unicode, and its Mule charsets and codes, instead of simply its
+	integer code point in this XEmacs.
+
 2006-11-30  Mike Sperber  <mike at xemacs.org>
 
 	* code-files.el (insert-file-contents): Call the file-name handler



1.57      +26 -15    XEmacs/xemacs/lisp/simple.el

Index: simple.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/simple.el,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -p -r1.56 -r1.57
--- simple.el	2006/11/01 21:35:36	1.56
+++ simple.el	2006/12/06 21:28:48	1.57
@@ -783,7 +783,10 @@ See also `line-number'."
 	(- (buffer-size) (forward-line (buffer-size)))))))
 
 (defun what-cursor-position ()
-  "Print info on cursor position (on screen and within buffer)."
+  "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 "_")
   (let* ((char (char-after (point))) ; XEmacs
@@ -798,21 +801,29 @@ See also `line-number'."
 	 (hscroll (if (= (window-hscroll) 0)
 		      ""
 		    (format " Hscroll=%d" (window-hscroll))))
-	 (col (+ (current-column) (if column-number-start-at-one 1 0))))
+	 (col (+ (current-column) (if column-number-start-at-one 1 0)))
+         (unicode (and char (encode-char char 'ucs)))
+         (unicode-string (and unicode (natnump unicode)
+                              (format (if (> unicode #xFFFF) "U+%06X" "U+%04X")
+                                      unicode)))
+         (narrowed-details (if (or (/= beg 1) (/= end (1+ total)))
+                               (format " <%d - %d>" beg end)
+                             "")))
+         
     (if (= pos end)
-	(if (or (/= beg 1) (/= end (1+ total)))
-	    (message "point=%d of %d(%d%%) <%d - %d>  column %d %s"
-		     pos total percent beg end col hscroll)
-	  (message "point=%d of %d(%d%%)  column %d %s"
-		   pos total percent col hscroll))
-      ;; XEmacs: don't use single-key-description
-      (if (or (/= beg 1) (/= end (1+ total)))
-	  (message "Char: %s (0%o, %d, 0x%x)  point=%d of %d(%d%%) <%d - %d>  column %d %s"
-		   (text-char-description char) char char char pos total
-		   percent beg end col hscroll)
-	(message "Char: %s (0%o, %d, 0x%x)  point=%d of %d(%d%%)  column %d %s"
-		 (text-char-description char) char char char pos total
-		 percent col hscroll)))))
+        (message "point=%d of %d(%d%%)%s column %d %s"
+                 pos total percent narrowed-details col hscroll)
+      ;; XEmacs: don't use single-key-description, treat non-ASCII
+      ;; characters differently.
+      (if (< char ?\x80)
+          (message "Char: %s (0%o, %d, %x) point=%d of %d(%d%%)%s column %d %s"
+                       (text-char-description char) char char char pos total
+                       percent narrowed-details col hscroll)
+        (message "Char: %s (%s %s) point=%d of %d(%d%%)%s column %d %s"
+                 (text-char-description char) unicode-string
+                 (mapconcat (lambda (arg) (format "%S" arg)) (split-char char) " ")
+                 pos total
+                 percent narrowed-details col hscroll)))))
 
 (defun fundamental-mode ()
   "Major mode not specialized for anything in particular.



1.1028    +6 -0      XEmacs/xemacs/src/ChangeLog

Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.1027
retrieving revision 1.1028
diff -u -p -r1.1027 -r1.1028
--- ChangeLog	2006/12/05 08:20:54	1.1027
+++ ChangeLog	2006/12/06 21:28:52	1.1028
@@ -1,3 +1,9 @@
+2006-12-06  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* text.c (Fsplit_char):
+	Make split-char available on non-Mule builds, taking out a
+	superfluous call to get-charset to make that possible. 
+
 2006-11-30  Mike Sperber  <mike at xemacs.org>
 
 	* fileio.c (Finsert_file_contents_internal): Don't call the



1.30      +4 -4      XEmacs/xemacs/src/text.c

Index: text.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/text.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -p -r1.29 -r1.30
--- text.c	2006/08/24 21:21:36	1.29
+++ text.c	2006/12/06 21:28:54	1.30
@@ -5000,6 +5000,8 @@ N defaults to 0 if omitted.
     invalid_constant ("Octet number must be 0 or 1", n);
 }
 
+#endif /* MULE */
+
 DEFUN ("split-char", Fsplit_char, 1, 1, 0, /*
 Return list of charset and one or two position-codes of CHAR.
 */
@@ -5016,7 +5018,7 @@ Return list of charset and one or two po
 
   BREAKUP_ICHAR (XCHAR (character), charset, c1, c2);
 
-  if (XCHARSET_DIMENSION (Fget_charset (charset)) == 2)
+  if (XCHARSET_DIMENSION (charset) == 2)
     {
       rc = list3 (XCHARSET_NAME (charset), make_int (c1), make_int (c2));
     }
@@ -5029,8 +5031,6 @@ Return list of charset and one or two po
   return rc;
 }
 
-#endif /* MULE */
-
 
 /************************************************************************/
 /*                     composite character functions                    */
@@ -5128,11 +5128,11 @@ void
 syms_of_text (void)
 {
   DEFSUBR (Fmake_char);
+  DEFSUBR (Fsplit_char);
 
 #ifdef MULE
   DEFSUBR (Fchar_charset);
   DEFSUBR (Fchar_octet);
-  DEFSUBR (Fsplit_char);
 
 #ifdef ENABLE_COMPOSITE_CHARS
   DEFSUBR (Fmake_composite_char);





More information about the XEmacs-CVS mailing list