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 {