emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/category.c


From: Dave Love
Subject: [Emacs-diffs] Changes to emacs/src/category.c
Date: Thu, 23 May 2002 14:44:45 -0400

Index: emacs/src/category.c
diff -c emacs/src/category.c:1.29 emacs/src/category.c:1.30
*** emacs/src/category.c:1.29   Mon Nov 19 17:46:42 2001
--- emacs/src/category.c        Wed Nov 28 15:44:42 2001
***************
*** 471,569 ****
    return Qnil;
  }
  
- /* Dump category table to buffer in human-readable format */
- 
- static void
- describe_category (value, args)
-     Lisp_Object value, args;
- {
-   Lisp_Object mnemonics;
- 
-   Findent_to (make_number (16), make_number (1));
- 
-   if (NILP (value))
-     {
-       insert_string ("default\n");
-       return;
-     }
- 
-   if (CHAR_TABLE_P (value))
-     {
-       insert_string ("deeper char-table ...\n");
-       return;
-     }
- 
-   if (!CATEGORY_SET_P (value))
-     {
-       insert_string ("invalid\n");
-       return;
-     }
- 
-   mnemonics = Fcategory_set_mnemonics (value);
-   insert_from_string (mnemonics, 0, 0, XSTRING (mnemonics)->size,
-                     STRING_BYTES (XSTRING (mnemonics)), 0);
-   insert_string ("\n");
-   return;
- }
- 
- static Lisp_Object
- describe_category_1 (vector)
-      Lisp_Object vector;
- {
-   struct buffer *old = current_buffer;
-   set_buffer_internal (XBUFFER (Vstandard_output));
-   describe_vector (vector, Qnil, Qnil, describe_category, 0, Qnil, Qnil,
-                  (int *)0, 0);
-   {
-     int i;
-     Lisp_Object docs = XCHAR_TABLE (vector)->extras[0];
-     Lisp_Object elt;
- 
-     if (!VECTORP (docs) || XVECTOR (docs)->size != 95)
-       {
-       insert_string ("Invalid first extra slot in this char table\n");
-       return Qnil;
-       }
-       
-     insert_string ("Meanings of mnemonice characters are:\n");
-     for (i = 0; i < 95; i++)
-       {
-       elt = XVECTOR (docs)->contents[i];
-       if (NILP (elt))
-         continue;
- 
-       insert_char (i + 32);
-       insert (": ", 2);
-       insert_from_string (elt, 0, 0, XSTRING (elt)->size,
-                           STRING_BYTES (XSTRING (elt)), 0);
-       insert ("\n", 1);
-       }
-   }
- 
-   while (! NILP (XCHAR_TABLE (vector)->parent))
-     {
-       vector = XCHAR_TABLE (vector)->parent;
-       insert_string ("\nThe parent category table is:");
-       describe_vector (vector, Qnil, Qnil, describe_category, 0, Qnil, Qnil,
-                      (int *) 0, 0);
-     }
- 
-   call0 (intern ("help-mode"));
-   set_buffer_internal (old);
-   return Qnil;
- }
- 
- DEFUN ("describe-categories", Fdescribe_categories, Sdescribe_categories, 0, 
0, "",
-        doc: /* Describe the category specifications in the current category 
table.
- The descriptions are inserted in a buffer, which is then displayed.  */)
-      ()
- {
-   internal_with_output_to_temp_buffer
-      ("*Help*", describe_category_1, current_buffer->category_table);
- 
-   return Qnil;
- }
- 
  /* Return 1 if there is a word boundary between two word-constituent
     characters C1 and C2 if they appear in this order, else return 0.
     Use the macro WORD_BOUNDARY_P instead of calling this function
--- 471,476 ----
***************
*** 699,705 ****
    defsubr (&Schar_category_set);
    defsubr (&Scategory_set_mnemonics);
    defsubr (&Smodify_category_entry);
-   defsubr (&Sdescribe_categories);
  
    category_table_version = 0;
  }
--- 606,611 ----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]