Mercurial > emacs
comparison src/syntax.c @ 9333:925795f1a594
(Fmodify_syntax_entry): Don't use XFASTINT as an lvalue.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 04 Oct 1994 17:32:17 +0000 |
parents | 4be3f8f9f090 |
children | 0b9c70f56cf8 |
comparison
equal
deleted
inserted
replaced
9332:1ff5359ac932 | 9333:925795f1a594 |
---|---|
289 (c, newentry, syntax_table) | 289 (c, newentry, syntax_table) |
290 Lisp_Object c, newentry, syntax_table; | 290 Lisp_Object c, newentry, syntax_table; |
291 { | 291 { |
292 register unsigned char *p, match; | 292 register unsigned char *p, match; |
293 register enum syntaxcode code; | 293 register enum syntaxcode code; |
294 Lisp_Object val; | 294 int val; |
295 | 295 |
296 CHECK_NUMBER (c, 0); | 296 CHECK_NUMBER (c, 0); |
297 CHECK_STRING (newentry, 1); | 297 CHECK_STRING (newentry, 1); |
298 if (NILP (syntax_table)) | 298 if (NILP (syntax_table)) |
299 syntax_table = current_buffer->syntax_table; | 299 syntax_table = current_buffer->syntax_table; |
307 | 307 |
308 match = *p; | 308 match = *p; |
309 if (match) p++; | 309 if (match) p++; |
310 if (match == ' ') match = 0; | 310 if (match == ' ') match = 0; |
311 | 311 |
312 XSETFASTINT (val, (match << 8) + (int) code); | 312 val = (match << 8) + (int) code; |
313 while (*p) | 313 while (*p) |
314 switch (*p++) | 314 switch (*p++) |
315 { | 315 { |
316 case '1': | 316 case '1': |
317 XFASTINT (val) |= 1 << 16; | 317 val |= 1 << 16; |
318 break; | 318 break; |
319 | 319 |
320 case '2': | 320 case '2': |
321 XFASTINT (val) |= 1 << 17; | 321 val |= 1 << 17; |
322 break; | 322 break; |
323 | 323 |
324 case '3': | 324 case '3': |
325 XFASTINT (val) |= 1 << 18; | 325 val |= 1 << 18; |
326 break; | 326 break; |
327 | 327 |
328 case '4': | 328 case '4': |
329 XFASTINT (val) |= 1 << 19; | 329 val |= 1 << 19; |
330 break; | 330 break; |
331 | 331 |
332 case 'p': | 332 case 'p': |
333 XFASTINT (val) |= 1 << 20; | 333 val |= 1 << 20; |
334 break; | 334 break; |
335 | 335 |
336 case 'b': | 336 case 'b': |
337 XFASTINT (val) |= 1 << 21; | 337 val |= 1 << 21; |
338 break; | 338 break; |
339 } | 339 } |
340 | 340 |
341 XVECTOR (syntax_table)->contents[0xFF & XINT (c)] = val; | 341 XSETFASTINT (XVECTOR (syntax_table)->contents[0xFF & XINT (c)], val); |
342 | 342 |
343 return Qnil; | 343 return Qnil; |
344 } | 344 } |
345 | 345 |
346 /* Dump syntax table to buffer in human-readable format */ | 346 /* Dump syntax table to buffer in human-readable format */ |