emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: upcase-region changes 'i' to 'P'


From: Richard M. Stallman
Subject: Re: upcase-region changes 'i' to 'P'
Date: Fri, 30 Sep 2005 13:33:05 -0400

      > This looks like it's in a mode designed for Turkish, turning i into
      > capital I-with-dot.  Meanwhile, capital I corresponds to lower-case
      > dotless i.
      > 
      > You must have done something that enabled this mode.  What was it?
      > (I am not sure how one is supposed to enable it.)

    The problem can be reproduced also if you do:

     env LANG=C EMACS_UNIBYTE=1 emacs 

I did some debugging and found that the problem
is called by this code

  if (NILP (up))
    {
      up = Fmake_char_table (Qcase_table, Qnil);
      map_char_table (set_identity, Qnil, table, table, up, 0, indices);
      map_char_table (shuffle, Qnil, table, table, up, 0, indices);
      XCHAR_TABLE (table)->extras[0] = up;

specifically the line that calls shuffle.  This occurs because the
downcase table has an entry for capital-I-with-dot, whose value is i.

This patch seems to fix it, but I am not sure it is entirely correct.

*** mule-cmds.el        24 Sep 2005 22:42:53 -0400      1.283
--- mule-cmds.el        29 Sep 2005 19:50:32 -0400      
***************
*** 1867,1873 ****
            (load syntax nil t))
        ;; No information for syntax and case.  Reset to the defaults.
        (let ((syntax-table (standard-syntax-table))
!             (case-table (standard-case-table))
              (ch (if (eq window-system 'pc) 128 160)))
          (while (< ch 256)
            (modify-syntax-entry ch " " syntax-table)
--- 1867,1873 ----
            (load syntax nil t))
        ;; No information for syntax and case.  Reset to the defaults.
        (let ((syntax-table (standard-syntax-table))
!             (case-table (make-char-table 'case-table))
              (ch (if (eq window-system 'pc) 128 160)))
          (while (< ch 256)
            (modify-syntax-entry ch " " syntax-table)




reply via email to

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