diff options
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/src/buffer.c b/src/buffer.c index d5f9541301d..416ff7e3702 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -362,8 +362,6 @@ The value is never nil. */) | |||
| 362 | 362 | ||
| 363 | b = (struct buffer *) allocate_buffer (); | 363 | b = (struct buffer *) allocate_buffer (); |
| 364 | 364 | ||
| 365 | b->size = sizeof (struct buffer) / sizeof (EMACS_INT); | ||
| 366 | |||
| 367 | /* An ordinary buffer uses its own struct buffer_text. */ | 365 | /* An ordinary buffer uses its own struct buffer_text. */ |
| 368 | b->text = &b->own_text; | 366 | b->text = &b->own_text; |
| 369 | b->base_buffer = 0; | 367 | b->base_buffer = 0; |
| @@ -417,10 +415,7 @@ The value is never nil. */) | |||
| 417 | STRING_SET_INTERVALS (name, NULL_INTERVAL); | 415 | STRING_SET_INTERVALS (name, NULL_INTERVAL); |
| 418 | b->name = name; | 416 | b->name = name; |
| 419 | 417 | ||
| 420 | if (SREF (name, 0) != ' ') | 418 | b->undo_list = (SREF (name, 0) != ' ') ? Qnil : Qt; |
| 421 | b->undo_list = Qnil; | ||
| 422 | else | ||
| 423 | b->undo_list = Qt; | ||
| 424 | 419 | ||
| 425 | reset_buffer (b); | 420 | reset_buffer (b); |
| 426 | reset_buffer_local_variables (b, 1); | 421 | reset_buffer_local_variables (b, 1); |
| @@ -430,7 +425,6 @@ The value is never nil. */) | |||
| 430 | b->name = name; | 425 | b->name = name; |
| 431 | 426 | ||
| 432 | /* Put this in the alist of all live buffers. */ | 427 | /* Put this in the alist of all live buffers. */ |
| 433 | XSETPVECTYPE (b, PVEC_BUFFER); | ||
| 434 | XSETBUFFER (buf, b); | 428 | XSETBUFFER (buf, b); |
| 435 | Vbuffer_alist = nconc2 (Vbuffer_alist, Fcons (Fcons (name, buf), Qnil)); | 429 | Vbuffer_alist = nconc2 (Vbuffer_alist, Fcons (Fcons (name, buf), Qnil)); |
| 436 | 430 | ||
| @@ -568,13 +562,10 @@ CLONE nil means the indirect buffer's state is reset to default values. */) | |||
| 568 | error ("Empty string for buffer name is not allowed"); | 562 | error ("Empty string for buffer name is not allowed"); |
| 569 | 563 | ||
| 570 | b = (struct buffer *) allocate_buffer (); | 564 | b = (struct buffer *) allocate_buffer (); |
| 571 | b->size = sizeof (struct buffer) / sizeof (EMACS_INT); | ||
| 572 | XSETPVECTYPE (b, PVEC_BUFFER); | ||
| 573 | 565 | ||
| 574 | if (XBUFFER (base_buffer)->base_buffer) | 566 | b->base_buffer = (XBUFFER (base_buffer)->base_buffer |
| 575 | b->base_buffer = XBUFFER (base_buffer)->base_buffer; | 567 | ? XBUFFER (base_buffer)->base_buffer |
| 576 | else | 568 | : XBUFFER (base_buffer)); |
| 577 | b->base_buffer = XBUFFER (base_buffer); | ||
| 578 | 569 | ||
| 579 | /* Use the base buffer's text object. */ | 570 | /* Use the base buffer's text object. */ |
| 580 | b->text = b->base_buffer->text; | 571 | b->text = b->base_buffer->text; |
| @@ -1919,8 +1910,7 @@ set_buffer_internal_1 (b) | |||
| 1919 | for (tail = b->local_var_alist; CONSP (tail); tail = XCDR (tail)) | 1910 | for (tail = b->local_var_alist; CONSP (tail); tail = XCDR (tail)) |
| 1920 | { | 1911 | { |
| 1921 | valcontents = SYMBOL_VALUE (XCAR (XCAR (tail))); | 1912 | valcontents = SYMBOL_VALUE (XCAR (XCAR (tail))); |
| 1922 | if ((BUFFER_LOCAL_VALUEP (valcontents) | 1913 | if ((BUFFER_LOCAL_VALUEP (valcontents)) |
| 1923 | || SOME_BUFFER_LOCAL_VALUEP (valcontents)) | ||
| 1924 | && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue, | 1914 | && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue, |
| 1925 | (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem)))) | 1915 | (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem)))) |
| 1926 | /* Just reference the variable | 1916 | /* Just reference the variable |
| @@ -1934,8 +1924,7 @@ set_buffer_internal_1 (b) | |||
| 1934 | for (tail = old_buf->local_var_alist; CONSP (tail); tail = XCDR (tail)) | 1924 | for (tail = old_buf->local_var_alist; CONSP (tail); tail = XCDR (tail)) |
| 1935 | { | 1925 | { |
| 1936 | valcontents = SYMBOL_VALUE (XCAR (XCAR (tail))); | 1926 | valcontents = SYMBOL_VALUE (XCAR (XCAR (tail))); |
| 1937 | if ((BUFFER_LOCAL_VALUEP (valcontents) | 1927 | if ((BUFFER_LOCAL_VALUEP (valcontents)) |
| 1938 | || SOME_BUFFER_LOCAL_VALUEP (valcontents)) | ||
| 1939 | && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue, | 1928 | && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue, |
| 1940 | (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem)))) | 1929 | (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem)))) |
| 1941 | /* Just reference the variable | 1930 | /* Just reference the variable |
| @@ -2509,7 +2498,7 @@ the normal hook `change-major-mode-hook'. */) | |||
| 2509 | /* Any which are supposed to be permanent, | 2498 | /* Any which are supposed to be permanent, |
| 2510 | make local again, with the same values they had. */ | 2499 | make local again, with the same values they had. */ |
| 2511 | 2500 | ||
| 2512 | for (alist = oalist; !NILP (alist); alist = XCDR (alist)) | 2501 | for (alist = oalist; CONSP (alist); alist = XCDR (alist)) |
| 2513 | { | 2502 | { |
| 2514 | sym = XCAR (XCAR (alist)); | 2503 | sym = XCAR (XCAR (alist)); |
| 2515 | tem = Fget (sym, Qpermanent_local); | 2504 | tem = Fget (sym, Qpermanent_local); |
| @@ -2539,7 +2528,7 @@ swap_out_buffer_local_variables (b) | |||
| 2539 | XSETBUFFER (buffer, b); | 2528 | XSETBUFFER (buffer, b); |
| 2540 | oalist = b->local_var_alist; | 2529 | oalist = b->local_var_alist; |
| 2541 | 2530 | ||
| 2542 | for (alist = oalist; !NILP (alist); alist = XCDR (alist)) | 2531 | for (alist = oalist; CONSP (alist); alist = XCDR (alist)) |
| 2543 | { | 2532 | { |
| 2544 | sym = XCAR (XCAR (alist)); | 2533 | sym = XCAR (XCAR (alist)); |
| 2545 | 2534 | ||