From: Karoly Lorentey Date: Mon, 12 Jun 2006 07:27:12 +0000 (+0000) Subject: Merged from emacs@sv.gnu.org. X-Git-Tag: emacs-pretest-23.0.90~11236^2~141^2~35 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=476e9367ec1f440aa23904b7bc482ea4a3b8041c;p=emacs.git Merged from emacs@sv.gnu.org. Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-294 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-295 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-296 Update from CVS: admin/FOR-RELEASE: Update refcard section. * emacs@sv.gnu.org/emacs--devo--0--patch-297 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-298 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-299 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-300 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-301 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-302 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-303 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-304 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-103 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-104 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-570 --- 476e9367ec1f440aa23904b7bc482ea4a3b8041c diff --cc lisp/menu-bar.el index 9615e2e7ff1,cc1351b9032..598c18128c9 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@@ -935,19 -928,18 +928,18 @@@ mail status in mode line") :button `(:toggle . tooltip-mode))) (define-key menu-bar-showhide-menu [menu-bar-mode] - '(menu-item "Menu-bar" menu-bar-mode + '(menu-item "Menu-bar" toggle-menu-bar-mode-from-frame :help "Toggle menu-bar on/off" - :button (:toggle . menu-bar-mode))) + :button (:toggle . (> (frame-parameter nil 'menu-bar-lines) 0)))) (define-key menu-bar-showhide-menu [showhide-tool-bar] - (list 'menu-item "Tool-bar" 'tool-bar-mode - :help "Turn tool-bar on/off" + (list 'menu-item "Tool-bar" 'toggle-tool-bar-mode-from-frame + :help "Toggle tool-bar on/off" :visible `(display-graphic-p) - :button `(:toggle . tool-bar-mode))) + :button `(:toggle . (> (frame-parameter nil 'tool-bar-lines) 0)))) (define-key menu-bar-options-menu [showhide] - (list 'menu-item "Show/Hide" menu-bar-showhide-menu - :help "Toggle on/off various display features")) + (list 'menu-item "Show/Hide" menu-bar-showhide-menu)) (define-key menu-bar-options-menu [showhide-separator] '("--")) diff --cc src/process.c index de4dbd4a3ff,f2c2ddf3e14..965b33c52c3 --- a/src/process.c +++ b/src/process.c @@@ -6837,14 -6902,12 +6899,17 @@@ init_process ( process_output_skip = 0; #endif + /* Don't do this, it caused infinite select loops. The display + method should call add_keyboard_wait_descriptor on stdin if it + needs that. */ +#if 0 FD_SET (0, &input_wait_mask); +#endif Vprocess_alist = Qnil; + #ifdef SIGCHLD + deleted_pid_list = Qnil; + #endif for (i = 0; i < MAXDESC; i++) { chan_process[i] = Qnil; diff --cc src/sysdep.c index 6e09748bca9,307f69290d6..6d630c4832f --- a/src/sysdep.c +++ b/src/sysdep.c @@@ -242,11 -239,16 +242,11 @@@ static int baud_convert[] int emacs_ospeed; - void croak P_ ((char *)); -/* The file descriptor for Emacs's input terminal. - Under Unix, this is normally zero except when using X; - under VMS, we place the input channel number here. */ -int input_fd; - + void croak P_ ((char *)) NO_RETURN; #ifdef AIXHFT -void hft_init (); -void hft_reset (); +void hft_init P_ ((struct tty_display_info *)); +void hft_reset P_ ((struct tty_display_info *)); #endif /* Temporary used by `sigblock' when defined in terms of signprocmask. */ diff --cc src/xdisp.c index 32255f92da7,80237e89fa1..f87f38dc50e --- a/src/xdisp.c +++ b/src/xdisp.c @@@ -21341,12 -21376,17 +21390,17 @@@ erase_phys_cursor (w if (cursor_glyph == NULL) goto mark_cursor_off; - x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x); + width = cursor_glyph->pixel_width; + left_x = window_box_left_offset (w, TEXT_AREA); + x = w->phys_cursor.x; + if (x < left_x) + width -= left_x - x; + width = min (width, window_box_width (w, TEXT_AREA) - x); y = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, cursor_row->y)); - width = min (cursor_glyph->pixel_width, - window_box_width (w, TEXT_AREA) - w->phys_cursor.x); + x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, max (x, left_x)); - FRAME_RIF (f)->clear_frame_area (f, x, y, width, cursor_row->visible_height); + if (width > 0) - rif->clear_frame_area (f, x, y, width, cursor_row->visible_height); ++ FRAME_RIF (f)->clear_frame_area (f, x, y, width, cursor_row->visible_height); } /* Erase the cursor by redrawing the character underneath it. */