comparison src/redisplay.c @ 110:fe104dbd9147 r20-1b7

Import from CVS: tag r20-1b7
author cvs
date Mon, 13 Aug 2007 09:19:45 +0200
parents 360340f9fd5f
children 9f59509498e1
comparison
equal deleted inserted replaced
109:e183fc049578 110:fe104dbd9147
2425 bi_pos = bi_find_next_newline_no_quit (b, data.bi_bufpos, 1); 2425 bi_pos = bi_find_next_newline_no_quit (b, data.bi_bufpos, 1);
2426 2426
2427 /* If the cursor is past the truncation line then we 2427 /* If the cursor is past the truncation line then we
2428 make it appear on the truncation glyph. If we've hit 2428 make it appear on the truncation glyph. If we've hit
2429 the end of the buffer then we also make the cursor 2429 the end of the buffer then we also make the cursor
2430 appear unless eob is immediately preceeded by a 2430 appear unless eob is immediately preceded by a
2431 newline. In that case the cursor should actually 2431 newline. In that case the cursor should actually
2432 appear on the next line. */ 2432 appear on the next line. */
2433 if (data.cursor_type == CURSOR_ON 2433 if (data.cursor_type == CURSOR_ON
2434 && data.bi_cursor_bufpos >= data.bi_bufpos 2434 && data.bi_cursor_bufpos >= data.bi_bufpos
2435 && (data.bi_cursor_bufpos < bi_pos || 2435 && (data.bi_cursor_bufpos < bi_pos ||
4231 generated in the case where one didn't exist. */ 4231 generated in the case where one didn't exist. */
4232 yend = WINDOW_TEXT_BOTTOM (w); 4232 yend = WINDOW_TEXT_BOTTOM (w);
4233 4233
4234 bounds = calculate_display_line_boundaries (w, 0); 4234 bounds = calculate_display_line_boundaries (w, 0);
4235 4235
4236 /* 97/3/14 jhod: stuff added here to support pre-prompts (used for input systems) */
4236 if (MINI_WINDOW_P (w) 4237 if (MINI_WINDOW_P (w)
4237 && !NILP (Vminibuf_prompt) 4238 && (!NILP (Vminibuf_prompt) || !NILP (Vminibuf_preprompt))
4238 && !echo_area_active (f) 4239 && !echo_area_active (f)
4239 && start_pos == BUF_BEGV (b)) 4240 && start_pos == BUF_BEGV (b))
4240 { 4241 {
4241 struct prop_block pb; 4242 struct prop_block pb;
4243 Lisp_Object string;
4242 prop = Dynarr_new (struct prop_block); 4244 prop = Dynarr_new (struct prop_block);
4243 4245
4246 string = concat2(Vminibuf_preprompt, Vminibuf_prompt);
4244 pb.type = PROP_MINIBUF_PROMPT; 4247 pb.type = PROP_MINIBUF_PROMPT;
4245 pb.data.p_string.str = XSTRING_DATA (Vminibuf_prompt); 4248 pb.data.p_string.str = XSTRING_DATA(string);
4246 pb.data.p_string.len = XSTRING_LENGTH (Vminibuf_prompt); 4249 pb.data.p_string.len = XSTRING_LENGTH(string);
4247 Dynarr_add (prop, pb); 4250 Dynarr_add (prop, pb);
4248 } 4251 }
4249 else 4252 else
4250 prop = 0; 4253 prop = 0;
4251 4254
4326 if (start_pos > BUF_ZV (b)) 4329 if (start_pos > BUF_ZV (b))
4327 break; 4330 break;
4328 } 4331 }
4329 4332
4330 if (prop) 4333 if (prop)
4331 Dynarr_free (prop); 4334 Dynarr_free (prop);
4332 4335
4333 /* #### More not quite right, but close enough. */ 4336 /* #### More not quite right, but close enough. */
4334 /* #### Ben sez: apparently window_end_pos[] is measured 4337 /* #### Ben sez: apparently window_end_pos[] is measured
4335 as the number of characters between the window end and the 4338 as the number of characters between the window end and the
4336 end of the buffer? This seems rather weirdo. What's 4339 end of the buffer? This seems rather weirdo. What's
5740 5743
5741 #ifdef MULE 5744 #ifdef MULE
5742 /* print the file coding system */ 5745 /* print the file coding system */
5743 case 'C': 5746 case 'C':
5744 { 5747 {
5745 Lisp_Object codesys = b->file_coding_system; 5748 Lisp_Object codesys = b->buffer_file_coding_system;
5746 /* Be very careful here not to get an error. */ 5749 /* Be very careful here not to get an error. */
5747 if (NILP (codesys) || SYMBOLP (codesys) || CODING_SYSTEMP (codesys)) 5750 if (NILP (codesys) || SYMBOLP (codesys) || CODING_SYSTEMP (codesys))
5748 { 5751 {
5749 codesys = Ffind_coding_system (codesys); 5752 codesys = Ffind_coding_system (codesys);
5750 if (CODING_SYSTEMP (codesys)) 5753 if (CODING_SYSTEMP (codesys))