Mercurial > emacs
comparison src/dispnew.c @ 11411:91bcce2fd486
(Fframe_or_buffer_changed_p): Ignore buffers whose names start with space.
(init_desired_glyphs): New function.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 13 Apr 1995 07:47:27 +0000 |
parents | e6bdaaa6ce1b |
children | 38f3ac2845f7 |
comparison
equal
deleted
inserted
replaced
11410:9f1825e7fc8f | 11411:91bcce2fd486 |
---|---|
498 | 498 |
499 clear_frame_records (frame) | 499 clear_frame_records (frame) |
500 register FRAME_PTR frame; | 500 register FRAME_PTR frame; |
501 { | 501 { |
502 bzero (FRAME_CURRENT_GLYPHS (frame)->enable, FRAME_HEIGHT (frame)); | 502 bzero (FRAME_CURRENT_GLYPHS (frame)->enable, FRAME_HEIGHT (frame)); |
503 } | |
504 | |
505 /* Clear out all display lines for a coming redisplay. */ | |
506 | |
507 void | |
508 init_desired_glyphs (frame) | |
509 register FRAME_PTR frame; | |
510 { | |
511 register struct frame_glyphs *desired_glyphs = FRAME_DESIRED_GLYPHS (frame); | |
512 int vpos; | |
513 int height = FRAME_HEIGHT (frame); | |
514 | |
515 for (vpos = 0; vpos < height; vpos++) | |
516 desired_glyphs->enable[vpos] = 0; | |
503 } | 517 } |
504 | 518 |
505 /* Prepare to display on line VPOS starting at HPOS within it. */ | 519 /* Prepare to display on line VPOS starting at HPOS within it. */ |
506 | 520 |
507 void | 521 void |
1885 | 1899 |
1886 DEFUN ("frame-or-buffer-changed-p", Fframe_or_buffer_changed_p, | 1900 DEFUN ("frame-or-buffer-changed-p", Fframe_or_buffer_changed_p, |
1887 Sframe_or_buffer_changed_p, 0, 0, 0, | 1901 Sframe_or_buffer_changed_p, 0, 0, 0, |
1888 "Return non-nil if the frame and buffer state appears to have changed.\n\ | 1902 "Return non-nil if the frame and buffer state appears to have changed.\n\ |
1889 The state variable is an internal vector containing all frames and buffers,\n\ | 1903 The state variable is an internal vector containing all frames and buffers,\n\ |
1904 aside from buffers whose names start with space,\n\ | |
1890 along with the buffers' read-only and modified flags, which allows a fast\n\ | 1905 along with the buffers' read-only and modified flags, which allows a fast\n\ |
1891 check to see whether the menu bars might need to be recomputed.\n\ | 1906 check to see whether the menu bars might need to be recomputed.\n\ |
1892 If this function returns non-nil, it updates the internal vector to reflect\n\ | 1907 If this function returns non-nil, it updates the internal vector to reflect\n\ |
1893 the current state.\n") | 1908 the current state.\n") |
1894 () | 1909 () |
1905 because the last element of the vector is lambda | 1920 because the last element of the vector is lambda |
1906 and that will always cause a mismatch. */ | 1921 and that will always cause a mismatch. */ |
1907 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) | 1922 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) |
1908 { | 1923 { |
1909 buf = XCONS (XCONS (tail)->car)->cdr; | 1924 buf = XCONS (XCONS (tail)->car)->cdr; |
1925 /* Ignore buffers that aren't included in buffer lists. */ | |
1926 if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ') | |
1927 continue; | |
1910 if (!EQ (*vecp++, buf)) | 1928 if (!EQ (*vecp++, buf)) |
1911 goto changed; | 1929 goto changed; |
1912 if (!EQ (*vecp++, XBUFFER (buf)->read_only)) | 1930 if (!EQ (*vecp++, XBUFFER (buf)->read_only)) |
1913 goto changed; | 1931 goto changed; |
1914 if (!EQ (*vecp++, Fbuffer_modified_p (buf))) | 1932 if (!EQ (*vecp++, Fbuffer_modified_p (buf))) |
1932 FOR_EACH_FRAME (tail, frame) | 1950 FOR_EACH_FRAME (tail, frame) |
1933 *vecp++ = frame; | 1951 *vecp++ = frame; |
1934 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) | 1952 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) |
1935 { | 1953 { |
1936 buf = XCONS (XCONS (tail)->car)->cdr; | 1954 buf = XCONS (XCONS (tail)->car)->cdr; |
1955 /* Ignore buffers that aren't included in buffer lists. */ | |
1956 if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ') | |
1957 continue; | |
1937 *vecp++ = buf; | 1958 *vecp++ = buf; |
1938 *vecp++ = XBUFFER (buf)->read_only; | 1959 *vecp++ = XBUFFER (buf)->read_only; |
1939 *vecp++ = Fbuffer_modified_p (buf); | 1960 *vecp++ = Fbuffer_modified_p (buf); |
1940 } | 1961 } |
1941 /* If we left any slack in the vector, fill it up now. */ | 1962 /* If we left any slack in the vector, fill it up now. */ |
2288 | 2309 |
2289 /* This is just like wait_reading_process_input, except that | 2310 /* This is just like wait_reading_process_input, except that |
2290 it does the redisplay. | 2311 it does the redisplay. |
2291 | 2312 |
2292 It's also much like Fsit_for, except that it can be used for | 2313 It's also much like Fsit_for, except that it can be used for |
2293 waiting for input as well. One differnce is that sit_for | 2314 waiting for input as well. */ |
2294 does not call prepare_menu_bars; Fsit_for does call that. */ | |
2295 | 2315 |
2296 Lisp_Object | 2316 Lisp_Object |
2297 sit_for (sec, usec, reading, display) | 2317 sit_for (sec, usec, reading, display) |
2298 int sec, usec, reading, display; | 2318 int sec, usec, reading, display; |
2299 { | 2319 { |