components/vim/vim72-patches/7.2.106
changeset 379 c6a17bba1da3
parent 378 f0b61ed1d10d
child 380 e92b3b4a1c66
equal deleted inserted replaced
378:f0b61ed1d10d 379:c6a17bba1da3
     1 To: [email protected]
       
     2 Subject: Patch 7.2.106
       
     3 Fcc: outbox
       
     4 From: Bram Moolenaar <[email protected]>
       
     5 Mime-Version: 1.0
       
     6 Content-Type: text/plain; charset=ISO-8859-1
       
     7 Content-Transfer-Encoding: 8bit
       
     8 ------------
       
     9 
       
    10 Patch 7.2.106
       
    11 Problem:    Endless loop when using "]s" in HTML when there are no
       
    12 	    misspellings. (Ingo Karkat)
       
    13 Solution:   Break the search loop.  Also fix pointer alignment for systems
       
    14 	    with pointers larger than int.
       
    15 Files:	    src/spell.c
       
    16 
       
    17 
       
    18 *** ../vim-7.2.105/src/spell.c	Tue Dec  9 22:34:02 2008
       
    19 --- src/spell.c	Wed Feb 11 17:54:50 2009
       
    20 ***************
       
    21 *** 2376,2382 ****
       
    22   
       
    23   	    /* If we are back at the starting line and there is no match then
       
    24   	     * give up. */
       
    25 ! 	    if (lnum == wp->w_cursor.lnum && !found_one)
       
    26   		break;
       
    27   
       
    28   	    /* Skip the characters at the start of the next line that were
       
    29 --- 2376,2382 ----
       
    30   
       
    31   	    /* If we are back at the starting line and there is no match then
       
    32   	     * give up. */
       
    33 ! 	    if (lnum == wp->w_cursor.lnum && (!found_one || wrapped))
       
    34   		break;
       
    35   
       
    36   	    /* Skip the characters at the start of the next line that were
       
    37 ***************
       
    38 *** 4956,4968 ****
       
    39    * Structure that is used to store the items in the word tree.  This avoids
       
    40    * the need to keep track of each allocated thing, everything is freed all at
       
    41    * once after ":mkspell" is done.
       
    42    */
       
    43   #define  SBLOCKSIZE 16000	/* size of sb_data */
       
    44   typedef struct sblock_S sblock_T;
       
    45   struct sblock_S
       
    46   {
       
    47 -     sblock_T	*sb_next;	/* next block in list */
       
    48       int		sb_used;	/* nr of bytes already in use */
       
    49       char_u	sb_data[1];	/* data, actually longer */
       
    50   };
       
    51   
       
    52 --- 4956,4971 ----
       
    53    * Structure that is used to store the items in the word tree.  This avoids
       
    54    * the need to keep track of each allocated thing, everything is freed all at
       
    55    * once after ":mkspell" is done.
       
    56 +  * Note: "sb_next" must be just before "sb_data" to make sure the alignment of
       
    57 +  * "sb_data" is correct for systems where pointers must be aligned on
       
    58 +  * pointer-size boundaries and sizeof(pointer) > sizeof(int) (e.g., Sparc).
       
    59    */
       
    60   #define  SBLOCKSIZE 16000	/* size of sb_data */
       
    61   typedef struct sblock_S sblock_T;
       
    62   struct sblock_S
       
    63   {
       
    64       int		sb_used;	/* nr of bytes already in use */
       
    65 +     sblock_T	*sb_next;	/* next block in list */
       
    66       char_u	sb_data[1];	/* data, actually longer */
       
    67   };
       
    68   
       
    69 ***************
       
    70 *** 15011,15017 ****
       
    71   
       
    72   	case 0:
       
    73   	    /*
       
    74 ! 	     * Lenghts are equal, thus changes must result in same length: An
       
    75   	     * insert is only possible in combination with a delete.
       
    76   	     * 1: check if for identical strings
       
    77   	     */
       
    78 --- 15014,15020 ----
       
    79   
       
    80   	case 0:
       
    81   	    /*
       
    82 ! 	     * Lengths are equal, thus changes must result in same length: An
       
    83   	     * insert is only possible in combination with a delete.
       
    84   	     * 1: check if for identical strings
       
    85   	     */
       
    86 *** ../vim-7.2.105/src/version.c	Wed Feb 11 16:45:56 2009
       
    87 --- src/version.c	Wed Feb 11 17:56:34 2009
       
    88 ***************
       
    89 *** 678,679 ****
       
    90 --- 678,681 ----
       
    91   {   /* Add new patch number below this line */
       
    92 + /**/
       
    93 +     106,
       
    94   /**/
       
    95 
       
    96 -- 
       
    97 If bankers can count, how come they have eight windows and
       
    98 only four tellers?
       
    99 
       
   100  /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
       
   101 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
       
   102 \\\        download, build and distribute -- http://www.A-A-P.org        ///
       
   103  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///