emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/charset.h


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/charset.h
Date: Mon, 01 Apr 2002 17:58:40 -0500

Index: emacs/src/charset.h
diff -c emacs/src/charset.h:1.65 emacs/src/charset.h:1.66
*** emacs/src/charset.h:1.65    Tue Jan  1 17:12:56 2002
--- emacs/src/charset.h Mon Apr  1 17:58:39 2002
***************
*** 675,687 ****
                                                                        \
      pos_byte--;                                                               
\
      if (pos_byte < GPT_BYTE)                                          \
!       p = BEG_ADDR + pos_byte - 1, p_min = BEG_ADDR;                  \
      else                                                              \
!       p = BEG_ADDR + GAP_SIZE + pos_byte - 1, p_min = GAP_END_ADDR;   \
      if (p > p_min && !CHAR_HEAD_P (*p))                                       
\
        {                                                                       
\
        unsigned char *pend = p--;                                      \
        int len, bytes;                                                 \
        while (p > p_min && !CHAR_HEAD_P (*p)) p--;                     \
        len = pend + 1 - p;                                             \
        PARSE_MULTIBYTE_SEQ (p, len, bytes);                            \
--- 675,689 ----
                                                                        \
      pos_byte--;                                                               
\
      if (pos_byte < GPT_BYTE)                                          \
!       p = BEG_ADDR + pos_byte - BEG_BYTE, p_min = BEG_ADDR;           \
      else                                                              \
!       p = BEG_ADDR + GAP_SIZE + pos_byte - BEG_BYTE, p_min = GAP_END_ADDR;\
      if (p > p_min && !CHAR_HEAD_P (*p))                                       
\
        {                                                                       
\
        unsigned char *pend = p--;                                      \
        int len, bytes;                                                 \
+         if (p_min < p - MAX_MULTIBYTE_LENGTH)                         \
+           p_min = p - MAX_MULTIBYTE_LENGTH;                           \
        while (p > p_min && !CHAR_HEAD_P (*p)) p--;                     \
        len = pend + 1 - p;                                             \
        PARSE_MULTIBYTE_SEQ (p, len, bytes);                            \
***************
*** 755,772 ****
      pos_byte--;                                                               
\
      if (pos_byte < BUF_GPT_BYTE (buf))                                        
\
        {                                                                       
\
!       p = BUF_BEG_ADDR (buf) + pos_byte - 1;                          \
        p_min = BUF_BEG_ADDR (buf);                                     \
        }                                                                       
\
      else                                                              \
        {                                                                       
\
!       p = BUF_BEG_ADDR (buf) + BUF_GAP_SIZE (buf) + pos_byte - 1;     \
        p_min = BUF_GAP_END_ADDR (buf);                                 \
        }                                                                       
\
      if (p > p_min && !CHAR_HEAD_P (*p))                                       
\
        {                                                                       
\
        unsigned char *pend = p--;                                      \
        int len, bytes;                                                 \
        while (p > p_min && !CHAR_HEAD_P (*p)) p--;                     \
        len = pend + 1 - p;                                             \
        PARSE_MULTIBYTE_SEQ (p, len, bytes);                            \
--- 757,776 ----
      pos_byte--;                                                               
\
      if (pos_byte < BUF_GPT_BYTE (buf))                                        
\
        {                                                                       
\
!       p = BUF_BEG_ADDR (buf) + pos_byte - BEG_BYTE;                   \
        p_min = BUF_BEG_ADDR (buf);                                     \
        }                                                                       
\
      else                                                              \
        {                                                                       
\
!       p = BUF_BEG_ADDR (buf) + BUF_GAP_SIZE (buf) + pos_byte - BEG_BYTE;\
        p_min = BUF_GAP_END_ADDR (buf);                                 \
        }                                                                       
\
      if (p > p_min && !CHAR_HEAD_P (*p))                                       
\
        {                                                                       
\
        unsigned char *pend = p--;                                      \
        int len, bytes;                                                 \
+         if (p_min < p - MAX_MULTIBYTE_LENGTH)                         \
+           p_min = p - MAX_MULTIBYTE_LENGTH;                           \
        while (p > p_min && !CHAR_HEAD_P (*p)) p--;                     \
        len = pend + 1 - p;                                             \
        PARSE_MULTIBYTE_SEQ (p, len, bytes);                            \



reply via email to

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