From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Old/unused display bits Date: Fri, 25 Jan 2013 15:48:18 +0200 Message-ID: <83a9rxl6fx.fsf@gnu.org> References: <510278F1.3040904@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1359121713 19165 80.91.229.3 (25 Jan 2013 13:48:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 25 Jan 2013 13:48:33 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Antipov , Kim Storm Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 25 14:48:52 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TyjeE-0005q6-Jq for ged-emacs-devel@m.gmane.org; Fri, 25 Jan 2013 14:48:50 +0100 Original-Received: from localhost ([::1]:56063 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tyjdx-0007K4-2f for ged-emacs-devel@m.gmane.org; Fri, 25 Jan 2013 08:48:33 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56494) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tyjdo-0007He-2B for emacs-devel@gnu.org; Fri, 25 Jan 2013 08:48:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tyjdg-00052i-Jy for emacs-devel@gnu.org; Fri, 25 Jan 2013 08:48:24 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:51382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tyjdg-0004zB-5v for emacs-devel@gnu.org; Fri, 25 Jan 2013 08:48:16 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MH600D00OEDZD00@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Fri, 25 Jan 2013 15:48:11 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MH600D07P0BZW30@a-mtaout22.012.net.il>; Fri, 25 Jan 2013 15:48:11 +0200 (IST) In-reply-to: <510278F1.3040904@yandex.ru> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.172 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:156630 Archived-At: > Date: Fri, 25 Jan 2013 16:22:09 +0400 > From: Dmitry Antipov > CC: Eli Zaretskii > > IIUC these bits are either the leftovers from old > code or has no real users; can we get rid of them? Kim, is there a reason to keep this? > === modified file 'src/dispnew.c' > --- src/dispnew.c 2013-01-23 20:07:28 +0000 > +++ src/dispnew.c 2013-01-25 10:49:31 +0000 > @@ -107,12 +107,6 @@ > static void adjust_frame_glyphs_for_window_redisplay (struct frame *); > static void adjust_frame_glyphs_for_frame_redisplay (struct frame *); > > - > -/* Redisplay preemption timers. */ > - > -static EMACS_TIME preemption_period; > -static EMACS_TIME preemption_next_check; > - > /* True upon entry to redisplay means do not assume anything about > current contents of actual terminal frame; clear and redraw it. */ > > @@ -122,9 +116,8 @@ > > bool display_completed; > > -Lisp_Object Qdisplay_table, Qredisplay_dont_pause; > +Lisp_Object Qdisplay_table; > > - > /* The currently selected frame. In a single-frame version, this > variable always equals the_only_frame. */ > > @@ -3078,23 +3071,10 @@ > bool paused_p; > struct window *root_window = XWINDOW (f->root_window); > > - if (redisplay_dont_pause) > - force_p = 1; > - else if (NILP (Vredisplay_preemption_period)) > - force_p = 1; > - else if (!force_p && NUMBERP (Vredisplay_preemption_period)) > + if (!force_p && detect_input_pending_ignore_squeezables ()) > { > - double p = XFLOATINT (Vredisplay_preemption_period); > - > - if (detect_input_pending_ignore_squeezables ()) > - { > - paused_p = 1; > - goto do_pause; > - } > - > - preemption_period = EMACS_TIME_FROM_DOUBLE (p); > - preemption_next_check = add_emacs_time (current_emacs_time (), > - preemption_period); > + paused_p = 1; > + goto do_pause; > } > > if (FRAME_WINDOW_P (f)) > @@ -3230,18 +3210,6 @@ > /* Record that this is not a frame-based redisplay. */ > set_frame_matrix_frame (NULL); > > - if (redisplay_dont_pause) > - force_p = 1; > - else if (NILP (Vredisplay_preemption_period)) > - force_p = 1; > - else if (!force_p && NUMBERP (Vredisplay_preemption_period)) > - { > - double p = XFLOATINT (Vredisplay_preemption_period); > - preemption_period = EMACS_TIME_FROM_DOUBLE (p); > - preemption_next_check = add_emacs_time (current_emacs_time (), > - preemption_period); > - } > - > /* Update W. */ > update_begin (f); > update_window (w, force_p); > @@ -3394,9 +3362,7 @@ > { > struct glyph_matrix *desired_matrix = w->desired_matrix; > bool paused_p; > -#if !PERIODIC_PREEMPTION_CHECKING > int preempt_count = baud_rate / 2400 + 1; > -#endif > struct redisplay_interface *rif = FRAME_RIF (XFRAME (WINDOW_FRAME (w))); > #ifdef GLYPH_DEBUG > /* Check that W's frame doesn't have glyph matrices. */ > @@ -3404,10 +3370,8 @@ > #endif > > /* Check pending input the first time so that we can quickly return. */ > -#if !PERIODIC_PREEMPTION_CHECKING > if (!force_p) > detect_input_pending_ignore_squeezables (); > -#endif > > /* If forced to complete the update, or if no input is pending, do > the update. */ > @@ -3418,9 +3382,7 @@ > struct glyph_row *header_line_row; > int yb; > bool changed_p = 0, mouse_face_overwritten_p = 0; > -#if ! PERIODIC_PREEMPTION_CHECKING > int n_updated = 0; > -#endif > > rif->update_window_begin_hook (w); > yb = window_text_bottom_y (w); > @@ -3484,22 +3446,8 @@ > detect_input_pending. If it's done too often, > scrolling large windows with repeated scroll-up > commands will too quickly pause redisplay. */ > -#if PERIODIC_PREEMPTION_CHECKING > - if (!force_p) > - { > - EMACS_TIME tm = current_emacs_time (); > - if (EMACS_TIME_LT (preemption_next_check, tm)) > - { > - preemption_next_check = add_emacs_time (tm, > - preemption_period); > - if (detect_input_pending_ignore_squeezables ()) > - break; > - } > - } > -#else > if (!force_p && ++n_updated % preempt_count == 0) > detect_input_pending_ignore_squeezables (); > -#endif > changed_p |= update_window_line (w, vpos, > &mouse_face_overwritten_p); > > @@ -4531,13 +4479,11 @@ > if (preempt_count <= 0) > preempt_count = 1; > > -#if !PERIODIC_PREEMPTION_CHECKING > if (!force_p && detect_input_pending_ignore_squeezables ()) > { > pause_p = 1; > goto do_pause; > } > -#endif > > /* If we cannot insert/delete lines, it's no use trying it. */ > if (!FRAME_LINE_INS_DEL_OK (f)) > @@ -4578,21 +4524,8 @@ > } > } > > -#if PERIODIC_PREEMPTION_CHECKING > - if (!force_p) > - { > - EMACS_TIME tm = current_emacs_time (); > - if (EMACS_TIME_LT (preemption_next_check, tm)) > - { > - preemption_next_check = add_emacs_time (tm, preemption_period); > - if (detect_input_pending_ignore_squeezables ()) > - break; > - } > - } > -#else > if (!force_p && (i - 1) % preempt_count == 0) > detect_input_pending_ignore_squeezables (); > -#endif > > update_frame_line (f, i); > } > @@ -4698,9 +4631,7 @@ > } > } > > -#if !PERIODIC_PREEMPTION_CHECKING > do_pause: > -#endif > > clear_desired_matrices (f); > return pause_p; > @@ -5893,33 +5824,19 @@ > > DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 1, 0, > doc: /* Perform redisplay. > -Optional arg FORCE, if non-nil, prevents redisplay from being > -preempted by arriving input, even if `redisplay-dont-pause' is nil. > -If `redisplay-dont-pause' is non-nil (the default), redisplay is never > -preempted by arriving input, so FORCE does nothing. > +Optional arg FORCE does nothing and used for backward compatibility. > > Return t if redisplay was performed, nil if redisplay was preempted > immediately by pending input. */) > (Lisp_Object force) > { > - ptrdiff_t count; > - > swallow_events (1); > - if ((detect_input_pending_run_timers (1) > - && NILP (force) && !redisplay_dont_pause) > - || !NILP (Vexecuting_kbd_macro)) > + if (detect_input_pending_run_timers (1) || !NILP (Vexecuting_kbd_macro)) > return Qnil; > - > - count = SPECPDL_INDEX (); > - if (!NILP (force) && !redisplay_dont_pause) > - specbind (Qredisplay_dont_pause, Qt); > redisplay_preserve_echo_area (2); > - unbind_to (count, Qnil); > return Qt; > } > > - > - > /*********************************************************************** > Other Lisp Functions > ***********************************************************************/ > @@ -6335,7 +6252,6 @@ > staticpro (&frame_and_buffer_state); > > DEFSYM (Qdisplay_table, "display-table"); > - DEFSYM (Qredisplay_dont_pause, "redisplay-dont-pause"); > > DEFVAR_INT ("baud-rate", baud_rate, > doc: /* The output baud rate of the terminal. > @@ -6406,19 +6322,6 @@ > See `buffer-display-table' for more information. */); > Vstandard_display_table = Qnil; > > - DEFVAR_BOOL ("redisplay-dont-pause", redisplay_dont_pause, > - doc: /* Non-nil means display update isn't paused when input is detected. */); > - redisplay_dont_pause = 1; > - > -#if PERIODIC_PREEMPTION_CHECKING > - DEFVAR_LISP ("redisplay-preemption-period", Vredisplay_preemption_period, > - doc: /* Period in seconds between checking for input during redisplay. > -This has an effect only if `redisplay-dont-pause' is nil; in that > -case, arriving input preempts redisplay until the input is processed. > -If the value is nil, redisplay is never preempted. */); > - Vredisplay_preemption_period = make_float (0.10); > -#endif > - > #ifdef CANNOT_DUMP > if (noninteractive) > #endif > > === modified file 'src/xdisp.c' > --- src/xdisp.c 2013-01-24 05:41:28 +0000 > +++ src/xdisp.c 2013-01-25 10:51:24 +0000 > @@ -10697,14 +10697,9 @@ > needs to run hooks. */ > && !NILP (Vrun_hooks)) > { > - /* Must update other windows. Likewise as in other > - cases, don't let this update be interrupted by > - pending input. */ > - ptrdiff_t count = SPECPDL_INDEX (); > - specbind (Qredisplay_dont_pause, Qt); > + /* Must update other windows. */ > windows_or_buffers_changed = 1; > redisplay_internal (); > - unbind_to (count, Qnil); > } > else if (FRAME_WINDOW_P (f) && n == 0) > { >