From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 10 00:42:09 2016 Received: (at submit) by debbugs.gnu.org; 10 Mar 2016 05:42:09 +0000 Received: from localhost ([127.0.0.1]:42167 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adtMO-0002Ci-W5 for submit@debbugs.gnu.org; Thu, 10 Mar 2016 00:42:09 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37898) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adtMN-0002CM-CR for submit@debbugs.gnu.org; Thu, 10 Mar 2016 00:42:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adtMG-0006T3-5W for submit@debbugs.gnu.org; Thu, 10 Mar 2016 00:42:02 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: *** X-Spam-Status: No, score=3.7 required=5.0 tests=BAYES_50,FILL_THIS_FORM, FILL_THIS_FORM_LOAN,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:40353) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adtMG-0006Sy-1O for submit@debbugs.gnu.org; Thu, 10 Mar 2016 00:42:00 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57090) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adtMD-0007QI-U8 for bug-gnu-emacs@gnu.org; Thu, 10 Mar 2016 00:41:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adtMA-0006SL-Ig for bug-gnu-emacs@gnu.org; Thu, 10 Mar 2016 00:41:57 -0500 Received: from mail-qg0-x231.google.com ([2607:f8b0:400d:c04::231]:34094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adtMA-0006S5-At for bug-gnu-emacs@gnu.org; Thu, 10 Mar 2016 00:41:54 -0500 Received: by mail-qg0-x231.google.com with SMTP id w104so62154563qge.1 for ; Wed, 09 Mar 2016 21:41:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=from:content-transfer-encoding:date:subject:to:message-id :mime-version; bh=KZYmMrPcWzvJ+du80U0aJnZUeVWar6ZIAyejAGbhT9g=; b=ZFVnS27ZQqxaEZoTdeuYkuJZM/38ppcHl1/aj/FY7j7nqFG+NHn6Q7IHPGAitTyLar 103/22wWIZGOPk7PGafnYiIHXaDKO2CXm36yLxXNmABKbU7Cj7ig0t4riSONTgNTCle0 aKpSUI+yHTM/VtuD0qwkjcT7kqiKpi1VN2P0S6lOsJ6GCJ3nzj5AuAm7GVvrC2ktqlJd RS8mPQf+ZZNsWbJ/kCUfxyWend6lxxCzxBM6ylzyvvB3zRpwr7l5YvMCslh2eIF5VmqD lE8FZuuUl5wnoi5wU5/MRn6M21GB/VOjBwMNlrg8J6AQTyXwFAkdOjMA1Xx+KRZlfwc1 qasA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:content-transfer-encoding:date:subject:to :message-id:mime-version; bh=KZYmMrPcWzvJ+du80U0aJnZUeVWar6ZIAyejAGbhT9g=; b=JW0NmGZepqDFhidF640nHsAdjVxhw+9N8KEbsEbplRbLse28zZnEMOyiImCLMg0Wxv WqJp+8HnVx5dDh458rVI0mU9Q8WSL/l/OUz8Ox6vmNOHrSYp48A8vlGYGnoRNoF0BWWE kXbGvaIu0dNvfwrCqPjYd3H+3LUMfRjaRjBIV+A++oojFIRBBJ2KyjiKdDe4vuf4m3aE AFJkRY536HlFc1/COdovtWUiNTAV9NT7SMkdx18dktXOgA1ESUrzS7txlBI4LKyEF3fw 3Yf0viLnjgToFjF7fM/9iIMw2cDS/iY7hykI5q/yA1s0gc0dSbGpVmnicNoadcAC6Y4y l32Q== X-Gm-Message-State: AD7BkJKt8RxO0791x3JdCMWKupQtYC1L11Yb1oQOUITf2bOM32GnzCK195K4M3KU0XPnZg== X-Received: by 10.140.18.114 with SMTP id 105mr1783230qge.41.1457588513635; Wed, 09 Mar 2016 21:41:53 -0800 (PST) Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net. [66.31.203.101]) by smtp.gmail.com with ESMTPSA id v5sm1030928qka.46.2016.03.09.21.41.52 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 21:41:52 -0800 (PST) From: Ken Raeburn Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 10 Mar 2016 00:41:50 -0500 Subject: 25.0.92; CANNOT_DUMP build can't start in tty mode To: Bug-Gnu-Emacs Message-Id: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) X-Mailer: Apple Mail (2.3112) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) I=E2=80=99d mentioned this before but just want to make sure it = doesn=E2=80=99t fall off the radar=E2=80=A6 I=E2=80=99d previously assumed this wasn=E2=80=99t an important use case = at the moment, but the =E2=80=9Cnacl=E2=80=9D configuration sets = CANNOT_DUMP mode, and on any platform where address sanitization is = detected, the configure script will emit a warning message recommending = CANNOT_DUMP mode, so I=E2=80=99m not so sure. $ ../configure --prefix=3D`pwd`/Inst --enable-checking CANNOT_DUMP=3Dyes = --with-x-toolkit=3Dlucid $ make -j6 all && make install $ ./Inst/bin/emacs =E2=80=A6 works okay on X11; =E2=80=9Cloading=E2=80=9D messages are = displayed on stdout before frame is created $ ./Inst/bin/emacs -nw=20 Fatal error 6: Aborted Backtrace: ./Inst/bin/emacs[0x5437a2] ./Inst/bin/emacs[0x525874] ./Inst/bin/emacs[0x543833] [=E2=80=A6] (I rechecked with =E2=80=9C-Q -nw=E2=80=9D and got the same results.) GDB says: #0 terminate_due_to_signal (sig=3Dsig@entry=3D6, = backtrace_limit=3Dbacktrace_limit@entry=3D40) at ../../src/emacs.c:352 No locals. #1 0x0000000000543833 in emacs_abort () at ../../src/sysdep.c:2247 No locals. #2 0x00000000004d86da in bidi_initialize () at ../../src/bidi.c:1097 No locals. #3 0x00000000004dcddf in bidi_init_it (charpos=3Dcharpos@entry=3D1, = bytepos=3D1, frame_window_p=3D, = bidi_it=3Dbidi_it@entry=3D0x7fffffffd840) at ../../src/bidi.c:1145 No locals. #4 0x000000000044a906 in init_iterator (it=3D0x7fffffffcea0, = w=3D0xcfe5b0, charpos=3D1, bytepos=3D, row=3D, base_face_id=3DDEFAULT_FACE_ID) at ../../src/xdisp.c:2981 remapped_base_face_id =3D DEFAULT_FACE_ID #5 0x00000000004609f7 in resize_mini_window (w=3D0xcfe5b0, = exact_p=3D) at ../../src/xdisp.c:10937 total_height =3D 23 unit =3D 1 max_height =3D old_current_buffer =3D 0x0 it =3D { window =3D 13624757,=20 w =3D 0xcfe5b0,=20 f =3D 0xcfe1c0,=20 method =3D GET_FROM_BUFFER,=20 stop_charpos =3D 1,=20 prev_stop =3D 0,=20 base_level_stop =3D 0,=20 end_charpos =3D 76,=20 s =3D 0x0,=20 string_nchars =3D 0,=20 redisplay_end_trigger_charpos =3D 0,=20 multibyte_p =3D true,=20 header_line_p =3D false,=20 string_from_display_prop_p =3D false,=20 string_from_prefix_prop_p =3D false,=20 from_disp_prop_p =3D false,=20 ellipsis_p =3D false,=20 avoid_cursor_p =3D false,=20 dp =3D 0x0,=20 dpvec =3D 0x0,=20 dpend =3D 0x0,=20 dpvec_char_len =3D 0,=20 dpvec_face_id =3D 0,=20 saved_face_id =3D 0,=20 ctl_chars =3D {0 },=20 start =3D { pos =3D { charpos =3D 1,=20 bytepos =3D 1 },=20 overlay_string_index =3D -1,=20 string_pos =3D { charpos =3D -1,=20 bytepos =3D -1 },=20 dpvec_index =3D -1 },=20 current =3D { pos =3D { charpos =3D 1,=20 bytepos =3D 1 },=20 overlay_string_index =3D -1,=20 string_pos =3D { charpos =3D -1,=20 bytepos =3D -1 },=20 dpvec_index =3D -1 },=20 n_overlay_strings =3D 0,=20 overlay_strings_charpos =3D 0,=20 overlay_strings =3D {0 },=20 string_overlays =3D {0 },=20 string =3D 0,=20 from_overlay =3D 0,=20 stack =3D {{ string =3D 0,=20 string_nchars =3D 0,=20 end_charpos =3D 0,=20 stop_charpos =3D 0,=20 prev_stop =3D 0,=20 base_level_stop =3D 0,=20 cmp_it =3D { stop_pos =3D 0,=20 id =3D 0,=20 ch =3D 0,=20 rule_idx =3D 0,=20 lookback =3D 0,=20 nglyphs =3D 0,=20 reversed_p =3D false,=20 charpos =3D 0,=20 nchars =3D 0,=20 nbytes =3D 0,=20 from =3D 0,=20 to =3D 0,=20 width =3D 0 },=20 face_id =3D 0,=20 u =3D { image =3D { object =3D 0,=20 slice =3D { x =3D 0,=20 y =3D 0,=20 width =3D 0,=20 height =3D 0 },=20 image_id =3D 0 },=20 stretch =3D { object =3D 0 },=20 xwidget =3D { object =3D 0 } },=20 position =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 current =3D { pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 overlay_string_index =3D 0,=20 string_pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 dpvec_index =3D 0 },=20 from_overlay =3D 0,=20 area =3D LEFT_MARGIN_AREA,=20 method =3D GET_FROM_BUFFER,=20 paragraph_embedding =3D NEUTRAL_DIR,=20 multibyte_p =3D false,=20 string_from_display_prop_p =3D false,=20 string_from_prefix_prop_p =3D false,=20 display_ellipsis_p =3D false,=20 avoid_cursor_p =3D false,=20 bidi_p =3D false,=20 from_disp_prop_p =3D false,=20 line_wrap =3D TRUNCATE,=20 voffset =3D 0,=20 space_width =3D 0,=20 font_height =3D 0 }, { string =3D 0,=20 string_nchars =3D 0,=20 end_charpos =3D 0,=20 stop_charpos =3D 0,=20 prev_stop =3D 0,=20 base_level_stop =3D 0,=20 cmp_it =3D { stop_pos =3D 0,=20 id =3D 0,=20 ch =3D 0,=20 rule_idx =3D 0,=20 lookback =3D 0,=20 nglyphs =3D 0,=20 reversed_p =3D false,=20 charpos =3D 0,=20 nchars =3D 0,=20 nbytes =3D 0,=20 from =3D 0,=20 to =3D 0,=20 width =3D 0 },=20 face_id =3D 0,=20 u =3D { image =3D { object =3D 0,=20 slice =3D { x =3D 0,=20 y =3D 0,=20 width =3D 0,=20 height =3D 0 },=20 image_id =3D 0 },=20 stretch =3D { object =3D 0 },=20 xwidget =3D { object =3D 0 } },=20 position =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 current =3D { pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 overlay_string_index =3D 0,=20 string_pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 dpvec_index =3D 0 },=20 from_overlay =3D 0,=20 area =3D LEFT_MARGIN_AREA,=20 method =3D GET_FROM_BUFFER,=20 paragraph_embedding =3D NEUTRAL_DIR,=20 multibyte_p =3D false,=20 string_from_display_prop_p =3D false,=20 string_from_prefix_prop_p =3D false,=20 display_ellipsis_p =3D false,=20 avoid_cursor_p =3D false,=20 bidi_p =3D false,=20 from_disp_prop_p =3D false,=20 line_wrap =3D TRUNCATE,=20 voffset =3D 0,=20 space_width =3D 0,=20 font_height =3D 0 }, { string =3D 0,=20 string_nchars =3D 0,=20 end_charpos =3D 0,=20 stop_charpos =3D 0,=20 prev_stop =3D 0,=20 base_level_stop =3D 0,=20 cmp_it =3D { stop_pos =3D 0,=20 id =3D 0,=20 ch =3D 0,=20 rule_idx =3D 0,=20 lookback =3D 0,=20 nglyphs =3D 0,=20 reversed_p =3D false,=20 charpos =3D 0,=20 nchars =3D 0,=20 nbytes =3D 0,=20 from =3D 0,=20 to =3D 0,=20 width =3D 0 },=20 face_id =3D 0,=20 u =3D { image =3D { object =3D 0,=20 slice =3D { x =3D 0,=20 y =3D 0,=20 width =3D 0,=20 height =3D 0 },=20 image_id =3D 0 },=20 stretch =3D { object =3D 0 },=20 xwidget =3D { object =3D 0 } },=20 position =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 current =3D { pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 overlay_string_index =3D 0,=20 string_pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 dpvec_index =3D 0 },=20 from_overlay =3D 0,=20 area =3D LEFT_MARGIN_AREA,=20 method =3D GET_FROM_BUFFER,=20 paragraph_embedding =3D NEUTRAL_DIR,=20 multibyte_p =3D false,=20 string_from_display_prop_p =3D false,=20 string_from_prefix_prop_p =3D false,=20 display_ellipsis_p =3D false,=20 avoid_cursor_p =3D false,=20 bidi_p =3D false,=20 from_disp_prop_p =3D false,=20 line_wrap =3D TRUNCATE,=20 voffset =3D 0,=20 space_width =3D 0,=20 font_height =3D 0 }, { string =3D 0,=20 string_nchars =3D 0,=20 end_charpos =3D 0,=20 stop_charpos =3D 0,=20 prev_stop =3D 0,=20 base_level_stop =3D 0,=20 cmp_it =3D { stop_pos =3D 0,=20 id =3D 0,=20 ch =3D 0,=20 rule_idx =3D 0,=20 lookback =3D 0,=20 nglyphs =3D 0,=20 reversed_p =3D false,=20 charpos =3D 0,=20 nchars =3D 0,=20 nbytes =3D 0,=20 from =3D 0,=20 to =3D 0,=20 width =3D 0 },=20 face_id =3D 0,=20 u =3D { image =3D { object =3D 0,=20 slice =3D { x =3D 0,=20 y =3D 0,=20 width =3D 0,=20 height =3D 0 },=20 image_id =3D 0 },=20 stretch =3D { object =3D 0 },=20 xwidget =3D { object =3D 0 } },=20 position =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 current =3D { pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 overlay_string_index =3D 0,=20 string_pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 dpvec_index =3D 0 },=20 from_overlay =3D 0,=20 area =3D LEFT_MARGIN_AREA,=20 method =3D GET_FROM_BUFFER,=20 paragraph_embedding =3D NEUTRAL_DIR,=20 multibyte_p =3D false,=20 string_from_display_prop_p =3D false,=20 string_from_prefix_prop_p =3D false,=20 display_ellipsis_p =3D false,=20 avoid_cursor_p =3D false,=20 bidi_p =3D false,=20 from_disp_prop_p =3D false,=20 line_wrap =3D TRUNCATE,=20 voffset =3D 0,=20 space_width =3D 0,=20 font_height =3D 0 }, { string =3D 0,=20 string_nchars =3D 0,=20 end_charpos =3D 0,=20 stop_charpos =3D 0,=20 prev_stop =3D 0,=20 base_level_stop =3D 0,=20 cmp_it =3D { stop_pos =3D 0,=20 id =3D 0,=20 ch =3D 0,=20 rule_idx =3D 0,=20 lookback =3D 0,=20 nglyphs =3D 0,=20 reversed_p =3D false,=20 charpos =3D 0,=20 nchars =3D 0,=20 nbytes =3D 0,=20 from =3D 0,=20 to =3D 0,=20 width =3D 0 },=20 face_id =3D 0,=20 u =3D { image =3D { object =3D 0,=20 slice =3D { x =3D 0,=20 y =3D 0,=20 width =3D 0,=20 height =3D 0 },=20 image_id =3D 0 },=20 stretch =3D { object =3D 0 },=20 xwidget =3D { object =3D 0 } },=20 position =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 current =3D { pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 overlay_string_index =3D 0,=20 string_pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 dpvec_index =3D 0 },=20 from_overlay =3D 0,=20 area =3D LEFT_MARGIN_AREA,=20 method =3D GET_FROM_BUFFER,=20 paragraph_embedding =3D NEUTRAL_DIR,=20 multibyte_p =3D false,=20 string_from_display_prop_p =3D false,=20 string_from_prefix_prop_p =3D false,=20 display_ellipsis_p =3D false,=20 avoid_cursor_p =3D false,=20 bidi_p =3D false,=20 from_disp_prop_p =3D false,=20 line_wrap =3D TRUNCATE,=20 voffset =3D 0,=20 space_width =3D 0,=20 font_height =3D 0 }},=20 sp =3D 0,=20 selective =3D 0,=20 what =3D IT_CHARACTER,=20 face_id =3D 0,=20 selective_display_ellipsis_p =3D true,=20 ctl_arrow_p =3D true,=20 face_box_p =3D false,=20 start_of_box_run_p =3D false,=20 end_of_box_run_p =3D false,=20 overlay_strings_at_end_processed_p =3D false,=20 ignore_overlay_strings_at_pos_p =3D false,=20 glyph_not_available_p =3D false,=20 starts_in_middle_of_char_p =3D false,=20 face_before_selective_p =3D false,=20 constrain_row_ascent_descent_p =3D false,=20 line_wrap =3D WINDOW_WRAP,=20 base_face_id =3D 0,=20 c =3D 0,=20 len =3D 0,=20 cmp_it =3D { stop_pos =3D 0,=20 id =3D -1,=20 ch =3D 0,=20 rule_idx =3D 0,=20 lookback =3D 0,=20 nglyphs =3D 0,=20 reversed_p =3D false,=20 charpos =3D 0,=20 nchars =3D 0,=20 nbytes =3D 0,=20 from =3D 0,=20 to =3D 0,=20 width =3D 0 },=20 char_to_display =3D 0,=20 glyphless_method =3D GLYPHLESS_DISPLAY_THIN_SPACE,=20 image_id =3D 0,=20 xwidget =3D 0x0,=20 slice =3D { x =3D 0,=20 y =3D 0,=20 width =3D 0,=20 height =3D 0 },=20 space_width =3D 0,=20 voffset =3D 0,=20 tab_width =3D 8,=20 font_height =3D 0,=20 object =3D 0,=20 position =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 truncation_pixel_width =3D 0,=20 continuation_pixel_width =3D 1,=20 first_visible_x =3D 0,=20 last_visible_x =3D 79,=20 last_visible_y =3D 1,=20 extra_line_spacing =3D 0,=20 max_extra_line_spacing =3D 0,=20 override_ascent =3D -1,=20 override_descent =3D 0,=20 override_boff =3D 0,=20 glyph_row =3D 0x0,=20 area =3D TEXT_AREA,=20 nglyphs =3D 1,=20 pixel_width =3D 0,=20 ascent =3D 0,=20 descent =3D 0,=20 max_ascent =3D 0,=20 max_descent =3D 0,=20 phys_ascent =3D 0,=20 phys_descent =3D 0,=20 max_phys_ascent =3D 0,=20 max_phys_descent =3D 0,=20 current_x =3D 0,=20 continuation_lines_width =3D 0,=20 eol_pos =3D { charpos =3D 0,=20 bytepos =3D 0 },=20 current_y =3D 0,=20 first_vpos =3D 0,=20 vpos =3D 0,=20 hpos =3D 0,=20 left_user_fringe_bitmap =3D 0,=20 right_user_fringe_bitmap =3D 0,=20 left_user_fringe_face_id =3D 0,=20 right_user_fringe_face_id =3D 0,=20 bidi_p =3D true,=20 bidi_it =3D { bytepos =3D 0,=20 charpos =3D 0,=20 ch =3D 0,=20 nchars =3D 0,=20 ch_len =3D 0,=20 type =3D UNKNOWN_BT,=20 type_after_wn =3D UNKNOWN_BT,=20 orig_type =3D UNKNOWN_BT,=20 resolved_level =3D 0 '\000',=20 isolate_level =3D 0 '\000',=20 invalid_levels =3D 0,=20 invalid_isolates =3D 0,=20 prev =3D { charpos =3D 0,=20 type =3D UNKNOWN_BT,=20 orig_type =3D UNKNOWN_BT },=20 last_strong =3D { charpos =3D 0,=20 type =3D UNKNOWN_BT,=20 orig_type =3D UNKNOWN_BT },=20 next_for_neutral =3D { charpos =3D 0,=20 type =3D UNKNOWN_BT,=20 orig_type =3D UNKNOWN_BT },=20 prev_for_neutral =3D { charpos =3D 0,=20 type =3D UNKNOWN_BT,=20 orig_type =3D UNKNOWN_BT },=20 next_for_ws =3D { charpos =3D 0,=20 type =3D UNKNOWN_BT,=20 orig_type =3D UNKNOWN_BT },=20 bracket_pairing_pos =3D 0,=20 bracket_enclosed_type =3D UNKNOWN_BT,=20 next_en_pos =3D 0,=20 next_en_type =3D UNKNOWN_BT,=20 sos =3D NEUTRAL_DIR,=20 scan_dir =3D 0,=20 disp_pos =3D 0,=20 disp_prop =3D 0,=20 stack_idx =3D 0,=20 level_stack =3D {{ next_for_neutral_pos =3D 0,=20 next_for_neutral_type =3D 0,=20 last_strong_type =3D 0,=20 prev_for_neutral_type =3D 0,=20 level =3D 0 '\000',=20 flags =3D 0 '\000' } },=20 string =3D { lstring =3D 0,=20 s =3D 0x0,=20 schars =3D 0,=20 bufpos =3D 0,=20 from_disp_str =3D false,=20 unibyte =3D false },=20 w =3D 0xcfe5b0,=20 paragraph_dir =3D NEUTRAL_DIR,=20 separator_limit =3D 0,=20 first_elt =3D false,=20 new_paragraph =3D false,=20 frame_window_p =3D false },=20 paragraph_embedding =3D L2R } height =3D start =3D window_height_changed_p =3D false #6 0x0000000000434e42 in with_echo_area_buffer (w=3D0xcfe5b0, = which=3D, fn=3D0x460f90 , = a1=3D13624752, a2=3D44448) at ../../src/xdisp.c:10609 buffer =3D 13936277 this_one =3D the_other =3D clear_buffer_p =3D false rc =3D #7 0x0000000000466e15 in resize_echo_area_exactly () at = ../../src/xdisp.c:10857 resize_exactly =3D 0 resized_p =3D false #8 0x000000000053848e in command_loop_1 () at ../../src/keyboard.c:1275 prev_modiff =3D 0 prev_buffer =3D 0x0 #9 0x00000000005abb16 in internal_condition_case = (bfun=3Dbfun@entry=3D0x5377e0 , = handlers=3Dhandlers@entry=3D19056, hfun=3Dhfun@entry=3D0x52bf60 = ) at ../../src/eval.c:1309 val =3D 0 c =3D #10 0x0000000000525e3c in command_loop_2 (ignore=3Dignore@entry=3D0) at = ../../src/keyboard.c:1100 val =3D 0 #11 0x00000000005aba9b in internal_catch (tag=3Dtag@entry=3D45840, = func=3Dfunc@entry=3D0x525e20 , arg=3Darg@entry=3D0) at = ../../src/eval.c:1074 val =3D 0 c =3D #12 0x0000000000525df9 in command_loop () at ../../src/keyboard.c:1079 No locals. #13 0x000000000052baab in recursive_edit_1 () at = ../../src/keyboard.c:685 val =3D #14 0x000000000052be08 in Frecursive_edit () at ../../src/keyboard.c:756 buffer =3D #15 0x00000000004135f7 in main (argc=3D13632916, argv=3D0x7fffffffe598) = at ../../src/emacs.c:1605 dummy =3D 140737488348224 stack_bottom_variable =3D -1 '\377' skip_args =3D 1 rlim =3D { rlim_cur =3D 8720000,=20 rlim_max =3D 18446744073709551615 } junk =3D 0x0 dname_arg =3D 0x0 ch_to_dir =3D 0x0 The emacs_abort call comes from bidi_initialize because the = bidi_type_table result is nil. 1097 emacs_abort (); 1092 static void 1093 bidi_initialize (void) 1094 { 1095 bidi_type_table =3D uniprop_table (intern ("bidi-class")); 1096 if (NILP (bidi_type_table)) 1097 emacs_abort (); 1098 staticpro (&bidi_type_table); 1099=09 1100 bidi_mirror_table =3D uniprop_table (intern ("mirroring")); 1101 if (NILP (bidi_mirror_table)) From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 10 02:10:53 2016 Received: (at 22975) by debbugs.gnu.org; 10 Mar 2016 07:10:53 +0000 Received: from localhost ([127.0.0.1]:42196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adukG-0004NF-W8 for submit@debbugs.gnu.org; Thu, 10 Mar 2016 02:10:53 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59080) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adukF-0004N2-Km for 22975@debbugs.gnu.org; Thu, 10 Mar 2016 02:10:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aduk6-0005Og-DI for 22975@debbugs.gnu.org; Thu, 10 Mar 2016 02:10:46 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35503) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aduk6-0005Oc-AE; Thu, 10 Mar 2016 02:10:42 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4868 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aduk5-0001Hc-Fa; Thu, 10 Mar 2016 02:10:42 -0500 Date: Thu, 10 Mar 2016 09:10:54 +0200 Message-Id: <83h9gen6yp.fsf@gnu.org> From: Eli Zaretskii To: Ken Raeburn In-reply-to: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> (message from Ken Raeburn on Thu, 10 Mar 2016 00:41:50 -0500) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Ken Raeburn > Date: Thu, 10 Mar 2016 00:41:50 -0500 > > The emacs_abort call comes from bidi_initialize because the bidi_type_table result is nil. > > 1097 emacs_abort (); > 1092 static void > 1093 bidi_initialize (void) > 1094 { > 1095 bidi_type_table = uniprop_table (intern ("bidi-class")); > 1096 if (NILP (bidi_type_table)) > 1097 emacs_abort (); > 1098 staticpro (&bidi_type_table); > 1099 > 1100 bidi_mirror_table = uniprop_table (intern ("mirroring")); > 1101 if (NILP (bidi_mirror_table)) A build that CANNOT_DUMP should load loadup.el at startup. Does this build do it? When loadup.el is loaded it loads charprop.el. Does thi happen with this build? When charprop.el loads, it runs this code: (define-char-code-property 'bidi-class "uni-bidi.el" "Unicode bidi class. Property value is one of the following symbols: L, LRE, LRO, LRI, R, AL, RLE, RLO, RLI, FSI, PDF, PDI, EN, ES, ET, AN, CS, NSM, BN, B, S, WS, ON") When this code runs, it should load uni-bidi.el, which defines the char-table accessed in the above snippet. What I think happens in your case is that bidi_initialize is called _before_ all of the above happens, probably because Emacs wants to display some message in the echo area during loading loadup.el, or maybe even earlier. If so, the solution should be to disable bidi until loadup is done, and turn it on afterwards. One way of disabling bidi is to (setq-default bidi-display-reordering nil) (or its C equivalent) at the beginning of 'main', or maybe at the beginning of loadup.el (if you can detect CANNOT_DUMP from Lisp). Then turn it back on when loadup.el finishes by setting bidi-display-reordering to t. Can you try that? From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 10 02:39:19 2016 Received: (at 22975) by debbugs.gnu.org; 10 Mar 2016 07:39:19 +0000 Received: from localhost ([127.0.0.1]:42206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1advBn-00050n-BQ for submit@debbugs.gnu.org; Thu, 10 Mar 2016 02:39:19 -0500 Received: from eggs.gnu.org ([208.118.235.92]:36334) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1advBl-00050a-SY for 22975@debbugs.gnu.org; Thu, 10 Mar 2016 02:39:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1advBd-0003gn-KV for 22975@debbugs.gnu.org; Thu, 10 Mar 2016 02:39:12 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:36332) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1advBd-0003gi-Hx; Thu, 10 Mar 2016 02:39:09 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4902 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1advBc-0000kv-Uu; Thu, 10 Mar 2016 02:39:09 -0500 Date: Thu, 10 Mar 2016 09:39:22 +0200 Message-Id: <83egbin5n9.fsf@gnu.org> From: Eli Zaretskii To: raeburn@raeburn.org In-reply-to: <83h9gen6yp.fsf@gnu.org> (message from Eli Zaretskii on Thu, 10 Mar 2016 09:10:54 +0200) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Thu, 10 Mar 2016 09:10:54 +0200 > From: Eli Zaretskii > Cc: 22975@debbugs.gnu.org > > What I think happens in your case is that bidi_initialize is called > _before_ all of the above happens, probably because Emacs wants to > display some message in the echo area during loading loadup.el, or > maybe even earlier. Actually, "./temacs -Q" with a build that doesn't define CANNOT_DUMP, I should see the same problem. But in fact, I don't: the messages from loadup.el are all displayed to the terminal, which doesn't use bidi.c code, and the first time bidi_initialize is called is after loadup.el was loaded in its entirety, and Emacs proceeds to creating the first frame. So some other factor is at work here. Please tell whether loadup.el was already loaded at the point you got the abort, and if not, why is Emacs trying to resize the mini-window so early? From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 06:17:55 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 11:17:55 +0000 Received: from localhost ([127.0.0.1]:44344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeL4s-0007F2-Ut for submit@debbugs.gnu.org; Fri, 11 Mar 2016 06:17:55 -0500 Received: from mail-qg0-f51.google.com ([209.85.192.51]:35065) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeL4s-0007Eq-4t for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 06:17:54 -0500 Received: by mail-qg0-f51.google.com with SMTP id y89so94910410qge.2 for <22975@debbugs.gnu.org>; Fri, 11 Mar 2016 03:17:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ZNKnXzvj8mUGPAbgY/WqksAouw5MinimhIRlpcN+bA0=; b=j96thRWzosRnjsRZ0oAP7HIJcSUZszDjC50ENBlktDKGkkG7HBH5lvvWswUszL4Zs3 Kl4aaJ6CdUyOy8FmdE5gxBhwSs4+men8aA0QE3imcFxnlNOzlI9s2JbFsDuVzcfdV49Y wx8PC1u+A55jb1V7gyqMwgbjftniqXBs5dPY3MDzqhnVOwXMsWNPQcVxHSTl+f2N6tyR 4D/Mcoy65PnSRPYvUbaqMN6t7Wera73k+tQyJlfZmo3JO0QY0p4ffQD5OtaTX2IH4BgZ oDHBYYDdhXseTKLG+tt6TjN2V8MaBzCtIHWbtOvjAoR37wFO1euBmF9YzZGBJ/KNX0th qu8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ZNKnXzvj8mUGPAbgY/WqksAouw5MinimhIRlpcN+bA0=; b=Zgv/Jm22r0uKpIUT5biIKXttt7795MeSA0sm5tb5D4+BnvNa+k9tWbc0AqTd2/Yvjg be/aIXJXtr5u0nUkM3EvVgEKO8h61EYwsexoYfxlttau8eE1cE8Y79YC1zQS5CAO0K5L MdfqiKfVJzQYa10YYLfvvI1+Ek2dkb9WS2P5Dm+npPR634YSFOUlxAlpB40DmlD5pCYL mniynZrE1JzlQUWP4SaWVPs6KylSLNGq7EOWYv7VRhppKpZHB/c4barcW3KVBt4at6Z6 TI4u2e5EkPZbwkwDIgVv/nmt28TsOJS1Ron2mkYr97SdDSG/G3DzrVql7YHVGhZ2ZuVl ef5w== X-Gm-Message-State: AD7BkJLE9zKhirg0gSelxDGYmj/AlEGBkq6fsMLC5lOFJ7XsLKMJdjqA/8KFnDPWOde2yg== X-Received: by 10.140.158.135 with SMTP id e129mr11534292qhe.84.1457695068630; Fri, 11 Mar 2016 03:17:48 -0800 (PST) Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net. [66.31.203.101]) by smtp.gmail.com with ESMTPSA id 64sm3712706qhf.40.2016.03.11.03.17.47 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 11 Mar 2016 03:17:47 -0800 (PST) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: text/plain; charset=utf-8 From: Ken Raeburn In-Reply-To: <83egbin5n9.fsf@gnu.org> Date: Fri, 11 Mar 2016 06:17:45 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3112) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) It appears that Emacs tries to display the =E2=80=9CUsing load-path = =E2=80=A6=E2=80=9D message, calls echo_area_display, display_echo_area, = with_echo_area_buffer, display_echo_area_1, resize_mini_window, and = grow_mini_window, which then uses call3 (Qwindow_resize_root_window_vertically, =E2=80=A6) but since we haven=E2=80=99t loaded window.el yet, there=E2=80=99s no = function definition and we raise a signal, quitting out of loadup and = trying to display a message. As to why normal temacs doesn=E2=80=99t show the problem: The load path = displayed for a normal temacs contains one directory, but for a = CANNOT_DUMP emacs it contains several; in my tests, resize_mini_window = computed the height needed as one line for the former and six lines for = the latter, so only in the latter case did grow_mini_window need to get = called. If I mess around with installation prefix length, window size, and font = size, I can get the CANNOT_DUMP emacs to start properly (but with = unreadably tiny characters); and if I make my terminal window quite = narrow, I can get a normal temacs to get into some kind of error loop = (not the same failure mode but probably a similar root cause). So it=E2=80= =99s not just the CANNOT_DUMP setting that=E2=80=99s causing the = problem. Ken= From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 09:32:24 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 14:32:24 +0000 Received: from localhost ([127.0.0.1]:44418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeO76-0004rS-1g for submit@debbugs.gnu.org; Fri, 11 Mar 2016 09:32:24 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47700) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeO74-0004rA-2C for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 09:32:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aeO6t-0004Xl-8h for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 09:32:17 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46494) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeO6t-0004Xh-6B; Fri, 11 Mar 2016 09:32:11 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3744 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aeO6s-0000Jb-If; Fri, 11 Mar 2016 09:32:11 -0500 Date: Fri, 11 Mar 2016 16:31:52 +0200 Message-Id: <83oaaljdbb.fsf@gnu.org> From: Eli Zaretskii To: Ken Raeburn In-reply-to: <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> (message from Ken Raeburn on Fri, 11 Mar 2016 06:17:45 -0500) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Ken Raeburn > Date: Fri, 11 Mar 2016 06:17:45 -0500 > Cc: 22975@debbugs.gnu.org > > It appears that Emacs tries to display the “Using load-path …” message, calls echo_area_display, display_echo_area, with_echo_area_buffer, display_echo_area_1, resize_mini_window, and grow_mini_window, which then uses > call3 (Qwindow_resize_root_window_vertically, …) > but since we haven’t loaded window.el yet, there’s no function definition and we raise a signal, quitting out of loadup and trying to display a message. I'm not sure I follow: message calls message3_nolog, which should have done this: void message3_nolog (Lisp_Object m) { struct frame *sf = SELECTED_FRAME (); if (FRAME_INITIAL_P (sf)) message_to_stderr (m); Is FRAME_INITIAL_P not doing it job in this case? And just so I'm on the right page here: the "Loading foo..." messages that loadup.el displays are shown where in this case? written to stderr or displayed in the echo area? > As to why normal temacs doesn’t show the problem: The load path displayed for a normal temacs contains one directory, but for a CANNOT_DUMP emacs it contains several; in my tests, resize_mini_window computed the height needed as one line for the former and six lines for the latter, so only in the latter case did grow_mini_window need to get called. I think temacs should write these messages to stderr, so the whole resize_mini_window rigmarole shouldn't get called at all. What am I missing? > If I mess around with installation prefix length, window size, and font size, I can get the CANNOT_DUMP emacs to start properly (but with unreadably tiny characters); and if I make my terminal window quite narrow, I can get a normal temacs to get into some kind of error loop (not the same failure mode but probably a similar root cause). So it’s not just the CANNOT_DUMP setting that’s causing the problem. Error loop that displays what messages? From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 14:19:04 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 19:19:04 +0000 Received: from localhost ([127.0.0.1]:45424 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeSaW-000517-Bd for submit@debbugs.gnu.org; Fri, 11 Mar 2016 14:19:04 -0500 Received: from mail-qg0-f49.google.com ([209.85.192.49]:32810) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeSaV-00050e-BB for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 14:19:03 -0500 Received: by mail-qg0-f49.google.com with SMTP id t4so106396150qge.0 for <22975@debbugs.gnu.org>; Fri, 11 Mar 2016 11:19:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=xoD8lIoNckaUHyImK9gF62nwIIo3nfwhQYsCAfYWDc4=; b=POHH3u6Rht5po7tqhiVn3p3hOsXqb0RaMgf/PrmrLWqKhZgd0V7jdiLu6nvm/jFUt9 +CFfx3zYKQWTShgJAMSt2Zs0xD7VTXH9LxQ9/C9Wr+Frjmjs2uREaiVAW57aYMZneZSg XBJugvoYLMOSd/nx4AftEbK38fvS0nmLDA46LJwaqqgnSXkbGDj33S9oucI1+mBQV1Wr btW06s4RUFOw/LOxQxsPUYT3hzdgUcuTTGLFIB5irhIm6aR320P49/oiYthP80GrYHVr z2CmuvmeKqa83LCvKe9Bbo5i5sIzsbms/89rtT/WM1Y3CDLrTbuNE2twGhWqTNEJPEu8 XUyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=xoD8lIoNckaUHyImK9gF62nwIIo3nfwhQYsCAfYWDc4=; b=QyjuwS00QP7g8kNXyEIm3Jho4VuxDGrwMOAzLUdzopTYDSIz+rvdrGCZdXSeuJo54H GfeX3szaNQIGo+PuRk/h/NGRz/oz9wx+8zypWHQbb3zSLvsE+Sw/7xDJkpd5EfNzdJDV OyeCywWrVXSa/TsYwELa9NUhU6yHYeiXAiMJMgXg9DsXVx7IiDXM3e2M03A1YL/yg8dT 2B1yDSP5dGT82IkOSYX4YgGjX3QZ+Ys2cesQ9LiBEeTtW/C/crHxdMX5YiQ3qWiQgNy/ sqJ4JS0HyN6hprbR9ss/5OZbhgc+Fq28lAS9ssJ3EY+ZWcJ8Cpx/PD9PSEInCS55l3Ip Mipw== X-Gm-Message-State: AD7BkJLB6qVULUBXPGu4Po8YaqGfDRvoQ1hJ9IVds4tokHTNECd+c74xTmrfFo0sgQiT4A== X-Received: by 10.140.252.197 with SMTP id x188mr14808966qhc.81.1457723937946; Fri, 11 Mar 2016 11:18:57 -0800 (PST) Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net. [66.31.203.101]) by smtp.gmail.com with ESMTPSA id p80sm4593602qge.0.2016.03.11.11.18.56 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 11 Mar 2016 11:18:57 -0800 (PST) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: text/plain; charset=utf-8 From: Ken Raeburn In-Reply-To: <83oaaljdbb.fsf@gnu.org> Date: Fri, 11 Mar 2016 14:18:55 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3112) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > On Mar 11, 2016, at 09:31, Eli Zaretskii wrote: >=20 >> From: Ken Raeburn >> Date: Fri, 11 Mar 2016 06:17:45 -0500 >> Cc: 22975@debbugs.gnu.org >>=20 >> It appears that Emacs tries to display the =E2=80=9CUsing load-path = =E2=80=A6=E2=80=9D message, calls echo_area_display, display_echo_area, = with_echo_area_buffer, display_echo_area_1, resize_mini_window, and = grow_mini_window, which then uses >> call3 (Qwindow_resize_root_window_vertically, =E2=80=A6) >> but since we haven=E2=80=99t loaded window.el yet, there=E2=80=99s no = function definition and we raise a signal, quitting out of loadup and = trying to display a message. >=20 > I'm not sure I follow: message calls message3_nolog, which should have > done this: >=20 > void > message3_nolog (Lisp_Object m) > { > struct frame *sf =3D SELECTED_FRAME (); >=20 > if (FRAME_INITIAL_P (sf)) > message_to_stderr (m); >=20 > Is FRAME_INITIAL_P not doing it job in this case? With =E2=80=9C-nw=E2=80=9D, sf->output_method is output_termcap. It=E2=80=99= s cleared the window and drawn a line of dashes near the bottom, and = messages are displayed on the bottom line (when it=E2=80=99s not = crashing). Without =E2=80=9C-nw=E2=80=9D, sf->output_method is output_initial and = messages are printed to stderr line by line until the X frame opens. > And just so I'm on the right page here: the "Loading foo..." messages > that loadup.el displays are shown where in this case? written to > stderr or displayed in the echo area? In the echo area. >=20 >> As to why normal temacs doesn=E2=80=99t show the problem: The load = path displayed for a normal temacs contains one directory, but for a = CANNOT_DUMP emacs it contains several; in my tests, resize_mini_window = computed the height needed as one line for the former and six lines for = the latter, so only in the latter case did grow_mini_window need to get = called. >=20 > I think temacs should write these messages to stderr, so the whole > resize_mini_window rigmarole shouldn't get called at all. What am I > missing? In init_display we call init_tty and then update the frame=E2=80=99s = output_method. Under X11, the X frame creation happens much later. >=20 >> If I mess around with installation prefix length, window size, and = font size, I can get the CANNOT_DUMP emacs to start properly (but with = unreadably tiny characters); and if I make my terminal window quite = narrow, I can get a normal temacs to get into some kind of error loop = (not the same failure mode but probably a similar root cause). So it=E2=80= =99s not just the CANNOT_DUMP setting that=E2=80=99s causing the = problem. >=20 > Error loop that displays what messages? *Tries* to display=E2=80=A6 =46rom the stack trace, it looks like it=E2=80= =99s throwing an error that window=E2=80=94-resize-root-window-vertically = isn=E2=80=99t defined, then back at the top level we notice we=E2=80=99re = displaying a message, so we call resize_echo_area_exactly, which decides = to resize, which tries to call window=E2=80=94resize-root-window-verticall= y, etc. Ken= From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 14:48:01 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 19:48:01 +0000 Received: from localhost ([127.0.0.1]:45434 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeT2X-0005ey-4I for submit@debbugs.gnu.org; Fri, 11 Mar 2016 14:48:01 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52315) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeT2V-0005el-89 for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 14:47:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aeT2L-0002hK-Ib for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 14:47:53 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:52672) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeT2L-0002hG-Ej; Fri, 11 Mar 2016 14:47:49 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3974 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aeT2K-0005gz-P1; Fri, 11 Mar 2016 14:47:49 -0500 Date: Fri, 11 Mar 2016 21:47:17 +0200 Message-Id: <83bn6kiypm.fsf@gnu.org> From: Eli Zaretskii To: Ken Raeburn In-reply-to: <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> (message from Ken Raeburn on Fri, 11 Mar 2016 14:18:55 -0500) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Ken Raeburn > Date: Fri, 11 Mar 2016 14:18:55 -0500 > Cc: 22975@debbugs.gnu.org > > > On Mar 11, 2016, at 09:31, Eli Zaretskii wrote: > > > >> From: Ken Raeburn > >> Date: Fri, 11 Mar 2016 06:17:45 -0500 > >> Cc: 22975@debbugs.gnu.org > >> > >> It appears that Emacs tries to display the “Using load-path …” message, calls echo_area_display, display_echo_area, with_echo_area_buffer, display_echo_area_1, resize_mini_window, and grow_mini_window, which then uses > >> call3 (Qwindow_resize_root_window_vertically, …) > >> but since we haven’t loaded window.el yet, there’s no function definition and we raise a signal, quitting out of loadup and trying to display a message. > > > > I'm not sure I follow: message calls message3_nolog, which should have > > done this: > > > > void > > message3_nolog (Lisp_Object m) > > { > > struct frame *sf = SELECTED_FRAME (); > > > > if (FRAME_INITIAL_P (sf)) > > message_to_stderr (m); > > > > Is FRAME_INITIAL_P not doing it job in this case? > > With “-nw”, sf->output_method is output_termcap. It’s cleared the window and drawn a line of dashes near the bottom, and messages are displayed on the bottom line (when it’s not crashing). > > Without “-nw”, sf->output_method is output_initial and messages are printed to stderr line by line until the X frame opens. > > > And just so I'm on the right page here: the "Loading foo..." messages > > that loadup.el displays are shown where in this case? written to > > stderr or displayed in the echo area? > > In the echo area. > > > > >> As to why normal temacs doesn’t show the problem: The load path displayed for a normal temacs contains one directory, but for a CANNOT_DUMP emacs it contains several; in my tests, resize_mini_window computed the height needed as one line for the former and six lines for the latter, so only in the latter case did grow_mini_window need to get called. > > > > I think temacs should write these messages to stderr, so the whole > > resize_mini_window rigmarole shouldn't get called at all. What am I > > missing? > > In init_display we call init_tty and then update the frame’s output_method. Under X11, the X frame creation happens much later. OK, I see. So now it's crystal clear that bidi-display-reordering should be bound to nil until loadup finishes, otherwise we are playing with fire. Is there a way to know that the build CANNOT_DUMP from Lisp? > > Error loop that displays what messages? > > *Tries* to display… From the stack trace, it looks like it’s throwing an error that window—-resize-root-window-vertically isn’t defined, then back at the top level we notice we’re displaying a message, so we call resize_echo_area_exactly, which decides to resize, which tries to call window—resize-root-window-vertically, etc. Right, all is clear now. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 15:50:17 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 20:50:17 +0000 Received: from localhost ([127.0.0.1]:45480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeU0n-0007Cu-4R for submit@debbugs.gnu.org; Fri, 11 Mar 2016 15:50:17 -0500 Received: from mail-qg0-f45.google.com ([209.85.192.45]:36667) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeU0l-0007Ci-VA for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 15:50:16 -0500 Received: by mail-qg0-f45.google.com with SMTP id u110so108507735qge.3 for <22975@debbugs.gnu.org>; Fri, 11 Mar 2016 12:50:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=l+GJ5RHNtTiym0Hpzs0lEoaCfPTkOfAzqJZm/cGYuu0=; b=viFKC1gCl2n8I+FQR7yUmQvPd7s77YlYAxXoLWwHzl1CUUr0gDro1zBe18oEu2WCFk pCUq8wlC8o5e9OTqoftnPU38K7+qasaLJ2vxdxgHGQxmFoe2R8x2kX15YX1DY3sNcEyf ThdFpdWv8VyrscHOLMlkTqpYLPlW0dhF4mg6r0txBzkDYMtaHv9BWhXr030nUq4+qE91 TpGW+tsO/b0us7JYAwARmIGH8XeZkMj1EMpJsFEsMq6JPenPo7vjslpmpkW0X4IgJVCF KbrrM0bO5Qw5/tCn1PwOpMEr4iRERO4cUSuWxVdDCtnFQH2V3owRZ55pcP/UTY3D64KY 9O5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=l+GJ5RHNtTiym0Hpzs0lEoaCfPTkOfAzqJZm/cGYuu0=; b=Z7VVqLdo+CVOgufK+UKDLCVUGw6+551lz4vXMOdVOSQvHHptldqjbTF1GdXdYxR0fm k1e9/D+N8uv5d9cK6Tjw2Z77+eDrTuHHmK9iuyiOIFHaTNNFHKvxPn38dNxzLjRtNeKr 6J0GJh6LhWlz175SGokpp0wvUnnr5Wapa23QJZFUnIXFIyiSwTVhCrwEHaSEjiWmHkdk YXffeMP8+Rexc94/B6ia9iqLTakfuwmldecC5Ke0w6kyhAuNzceF99sY2ldLPOn3Ne/h 5bt+af6DoVbFr/WTwY427HDrYo4E4s5wJG/KAnlcily7Hk/fTHvOqmwteleDdmLcMnn7 1A8g== X-Gm-Message-State: AD7BkJJ8X1Ado/0yY+IAKBWKfBVQBaxqdYnwLqYFaFxA5wuWXpBP9o8vknH34k8Cj03Ycg== X-Received: by 10.140.201.209 with SMTP id w200mr15362039qha.57.1457729410346; Fri, 11 Mar 2016 12:50:10 -0800 (PST) Received: from [10.1.12.69] (vpn.permabit.com. [66.202.84.2]) by smtp.gmail.com with ESMTPSA id i14sm4771522qkh.6.2016.03.11.12.50.08 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 11 Mar 2016 12:50:08 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode From: Kenneth Raeburn X-Mailer: iPhone Mail (13D15) In-Reply-To: <83bn6kiypm.fsf@gnu.org> Date: Fri, 11 Mar 2016 15:50:08 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: <49B8443F-2416-44A5-BE6B-A25D690E8CF5@raeburn.org> References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> To: Eli Zaretskii X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) loadup.el has code testing (fboundp 'dump-emacs), it's not bound if CANNOT_D= UMP is defined. Ken On Mar 11, 2016, at 14:47, Eli Zaretskii wrote: >> From: Ken Raeburn >> Date: Fri, 11 Mar 2016 14:18:55 -0500 >> Cc: 22975@debbugs.gnu.org >>=20 >>>> On Mar 11, 2016, at 09:31, Eli Zaretskii wrote: >>>>=20 >>>> From: Ken Raeburn >>>> Date: Fri, 11 Mar 2016 06:17:45 -0500 >>>> Cc: 22975@debbugs.gnu.org >>>>=20 >>>> It appears that Emacs tries to display the =E2=80=9CUsing load-path =E2= =80=A6=E2=80=9D message, calls echo_area_display, display_echo_area, with_ec= ho_area_buffer, display_echo_area_1, resize_mini_window, and grow_mini_windo= w, which then uses >>>> call3 (Qwindow_resize_root_window_vertically, =E2=80=A6) >>>> but since we haven=E2=80=99t loaded window.el yet, there=E2=80=99s no f= unction definition and we raise a signal, quitting out of loadup and trying t= o display a message. >>>=20 >>> I'm not sure I follow: message calls message3_nolog, which should have >>> done this: >>>=20 >>> void >>> message3_nolog (Lisp_Object m) >>> { >>> struct frame *sf =3D SELECTED_FRAME (); >>>=20 >>> if (FRAME_INITIAL_P (sf)) >>> message_to_stderr (m); >>>=20 >>> Is FRAME_INITIAL_P not doing it job in this case? >>=20 >> With =E2=80=9C-nw=E2=80=9D, sf->output_method is output_termcap. It=E2=80= =99s cleared the window and drawn a line of dashes near the bottom, and mess= ages are displayed on the bottom line (when it=E2=80=99s not crashing). >>=20 >> Without =E2=80=9C-nw=E2=80=9D, sf->output_method is output_initial and me= ssages are printed to stderr line by line until the X frame opens. >>=20 >>> And just so I'm on the right page here: the "Loading foo..." messages >>> that loadup.el displays are shown where in this case? written to >>> stderr or displayed in the echo area? >>=20 >> In the echo area. >>=20 >>>=20 >>>> As to why normal temacs doesn=E2=80=99t show the problem: The load path= displayed for a normal temacs contains one directory, but for a CANNOT_DUMP= emacs it contains several; in my tests, resize_mini_window computed the hei= ght needed as one line for the former and six lines for the latter, so only i= n the latter case did grow_mini_window need to get called. >>>=20 >>> I think temacs should write these messages to stderr, so the whole >>> resize_mini_window rigmarole shouldn't get called at all. What am I >>> missing? >>=20 >> In init_display we call init_tty and then update the frame=E2=80=99s outp= ut_method. Under X11, the X frame creation happens much later. >=20 > OK, I see. So now it's crystal clear that bidi-display-reordering > should be bound to nil until loadup finishes, otherwise we are > playing with fire. >=20 > Is there a way to know that the build CANNOT_DUMP from Lisp? >=20 >>> Error loop that displays what messages? >>=20 >> *Tries* to display=E2=80=A6 =46rom the stack trace, it looks like it=E2=80= =99s throwing an error that window=E2=80=94-resize-root-window-vertically is= n=E2=80=99t defined, then back at the top level we notice we=E2=80=99re disp= laying a message, so we call resize_echo_area_exactly, which decides to resi= ze, which tries to call window=E2=80=94resize-root-window-vertically, etc. >=20 > Right, all is clear now. >=20 > Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 15:51:09 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 20:51:09 +0000 Received: from localhost ([127.0.0.1]:45484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeU1d-0007EP-GA for submit@debbugs.gnu.org; Fri, 11 Mar 2016 15:51:09 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:54366) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeU1b-0007EF-Ii for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 15:51:08 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3qMK6y0s0Vz3hkrW; Fri, 11 Mar 2016 21:51:06 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3qMK6x6pp0zvhMt; Fri, 11 Mar 2016 21:51:05 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id BGHiiHcz2S4j; Fri, 11 Mar 2016 21:51:05 +0100 (CET) X-Auth-Info: Aj+Q21VKKO6wV/0Gj9P/lIMUz7IoQpjnQPXyZXFXnoeOKHOx/w25xJgE65laTWwo Received: from igel.home (ppp-93-104-184-213.dynamic.mnet-online.de [93.104.184.213]) by mail.mnet-online.de (Postfix) with ESMTPA; Fri, 11 Mar 2016 21:51:05 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id C36F02C2D76; Fri, 11 Mar 2016 21:51:04 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> X-Yow: LIFE is a never-ending INFORMERCIAL! Date: Fri, 11 Mar 2016 21:51:04 +0100 In-Reply-To: <83bn6kiypm.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 11 Mar 2016 21:47:17 +0200") Message-ID: <8737rwyc07.fsf@linux-m68k.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.92 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, Ken Raeburn X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii writes: > OK, I see. So now it's crystal clear that bidi-display-reordering > should be bound to nil until loadup finishes, otherwise we are > playing with fire. > > Is there a way to know that the build CANNOT_DUMP from Lisp? Would it be wrong to do this always? In temacs that is preparing to dump the value of bidi-display-reordering should make no difference. (A emacs that CANNOT_DUMP doesn't have dump-emacs.) Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 11 16:07:11 2016 Received: (at 22975) by debbugs.gnu.org; 11 Mar 2016 21:07:11 +0000 Received: from localhost ([127.0.0.1]:45507 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeUH9-0007fS-H0 for submit@debbugs.gnu.org; Fri, 11 Mar 2016 16:07:11 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41862) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeUH8-0007fH-Ts for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 16:07:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aeUGz-00082Z-L8 for 22975@debbugs.gnu.org; Fri, 11 Mar 2016 16:07:05 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53932) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeUGz-00082V-Ho; Fri, 11 Mar 2016 16:07:01 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4129 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aeUGy-0004Da-Pq; Fri, 11 Mar 2016 16:07:01 -0500 Date: Fri, 11 Mar 2016 23:06:25 +0200 Message-Id: <83y49ohgha.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-reply-to: <8737rwyc07.fsf@linux-m68k.org> (message from Andreas Schwab on Fri, 11 Mar 2016 21:51:04 +0100) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Andreas Schwab > Cc: Ken Raeburn , 22975@debbugs.gnu.org > Date: Fri, 11 Mar 2016 21:51:04 +0100 > > Eli Zaretskii writes: > > > OK, I see. So now it's crystal clear that bidi-display-reordering > > should be bound to nil until loadup finishes, otherwise we are > > playing with fire. > > > > Is there a way to know that the build CANNOT_DUMP from Lisp? > > Would it be wrong to do this always? I didn't mean to say it wasn't; the above 2 questions are 2 separate issues. > In temacs that is preparing to dump the value of > bidi-display-reordering should make no difference. You are right about -batch, but when temacs is run with -nw, we will probably want to turn reordering on as soon as we can, because some file or directory name, or maybe some message displayed during loading, might require reordering. (Being able to run "./temacs -nw" is an important capability for debugging problems that happen due to dumping.) In fact, turning reordering off will display load path incorrectly, if it includes R2L characters, but I see no way around that (and I think when we display that, we don't yet have encoding and decoding of file names set up, so we cannot reorder anyway). > (A emacs that CANNOT_DUMP doesn't have dump-emacs.) Right, thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 12 05:01:46 2016 Received: (at 22975) by debbugs.gnu.org; 12 Mar 2016 10:01:46 +0000 Received: from localhost ([127.0.0.1]:45732 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aegMj-0001Dm-UN for submit@debbugs.gnu.org; Sat, 12 Mar 2016 05:01:46 -0500 Received: from eggs.gnu.org ([208.118.235.92]:53751) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aegMi-0001DZ-Gt for 22975@debbugs.gnu.org; Sat, 12 Mar 2016 05:01:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aegMZ-0007Qr-6m for 22975@debbugs.gnu.org; Sat, 12 Mar 2016 05:01:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40143) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aegMZ-0007Qn-3U; Sat, 12 Mar 2016 05:01:35 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1197 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aegMY-0006fd-A3; Sat, 12 Mar 2016 05:01:34 -0500 Date: Sat, 12 Mar 2016 12:01:00 +0200 Message-Id: <83d1r0ggmb.fsf@gnu.org> From: Eli Zaretskii To: raeburn@raeburn.org In-reply-to: <83y49ohgha.fsf@gnu.org> (message from Eli Zaretskii on Fri, 11 Mar 2016 23:06:25 +0200) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Fri, 11 Mar 2016 23:06:25 +0200 > From: Eli Zaretskii > Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org > > > From: Andreas Schwab > > Cc: Ken Raeburn , 22975@debbugs.gnu.org > > Date: Fri, 11 Mar 2016 21:51:04 +0100 > > > > Eli Zaretskii writes: > > > > > OK, I see. So now it's crystal clear that bidi-display-reordering > > > should be bound to nil until loadup finishes, otherwise we are > > > playing with fire. > > > > > > Is there a way to know that the build CANNOT_DUMP from Lisp? > > > > Would it be wrong to do this always? > > I didn't mean to say it wasn't; the above 2 questions are 2 separate > issues. It turns out we already had protection for this: xdisp.c was looking at the value of purify-flag to decide when it is safe to perform bidi reordering. That protection was added to fix bug#9963. However, a change in Dec 2013 made purify-flag be nil on systems that CANNOT_DUMP when they process loadup.el, so that protection was lost on those systems. I've now added a special variable for this purpose, and changed the display engine to use it instead of purify-flag. Ken, could you please see if the latest emacs-25 branch resolves the original problem you reported? If Emacs succeeds to start in tty mode after these changes, please type "C-h H" and see if the Arabic and Hebrew greetings are displayed correctly reordered (moving cursor with C-f across those parts should move right-to-left when point is inside those words). Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 12 20:21:45 2016 Received: (at 22975) by debbugs.gnu.org; 13 Mar 2016 01:21:45 +0000 Received: from localhost ([127.0.0.1]:46528 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeuj3-0007aO-1o for submit@debbugs.gnu.org; Sat, 12 Mar 2016 20:21:45 -0500 Received: from mail-qk0-f169.google.com ([209.85.220.169]:33165) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aeuj1-0007aC-Ga for 22975@debbugs.gnu.org; Sat, 12 Mar 2016 20:21:43 -0500 Received: by mail-qk0-f169.google.com with SMTP id s5so62466614qkd.0 for <22975@debbugs.gnu.org>; Sat, 12 Mar 2016 17:21:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=hjzGznDcv5OPye2IwkQU1VC2KFDDiSzOtD+1LD48LQI=; b=CsM10iOgrd00/PW0rWYh1auuWCHydn6/0cAEswYWFSBS+srYPm3qtolLz4YaEa19ar u3adOU3vc1ExDYQZ5Hh0RbPFD8ZWbHtJzjZbGJQ6eZo+8brRUMI8R6gkxgeoqKjr0+IJ 8tgI57A+dT7N/MtuPgZ9r3YbKc8y2BiiX6mvmN77K+hmGlP3ERCe97Vkk8+w4jQJai7p p7OmOj82OP8EuE7b1+NwgMTsn3Gsv5CCkqAazM5VINW2n3KCxAtIRSZlfggOfwuvj4DC rK2YGGYCepzvc0ae2mhPNR69uT4iwPW+hHvc4GaM5MhSGjbLkm7nl+hZqR8NeDYEW0NK Rs0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=hjzGznDcv5OPye2IwkQU1VC2KFDDiSzOtD+1LD48LQI=; b=ifztn0goetDgj5Pv2VweI8JiRU4Ir1M8Qvm6oXzkRwi4u19IIbe7n8I7pdo6NQvTN3 k5RBHQ3UJ/Bux+Z7RFuxxP9l/ikSX93YtT2IjAqInFkraE8NcwODZ5Kohy/yfynw9aqu 8EfVhHXB0rLF9tME2d8+kfWtKuVIZx3gv6Yc/w0W3zr/kBkcdNqzwG6tNzUXGC7bQFNU NM2vHh1D3zLgmyCNuflnAIkAVnatekqGWhFOD4QkeEwfS9VgwyZ2yMo+NsBJyza9EihK ggOCvTHjf61UM9yGuVp3b914XBgvLtrmgPbXL8wHjjFQ33Dc70T1aaAvXkzK3teUVEwd GhBA== X-Gm-Message-State: AD7BkJK2b+yocgFN+B/RRXM4EHUznGLBDqNX4xjzrRtnMDkkpS1IBsDIjYU55HDgRTZRkQ== X-Received: by 10.55.33.102 with SMTP id h99mr21183099qkh.18.1457832098092; Sat, 12 Mar 2016 17:21:38 -0800 (PST) Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net. [66.31.203.101]) by smtp.gmail.com with ESMTPSA id o67sm7165874qho.12.2016.03.12.17.21.36 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 12 Mar 2016 17:21:37 -0800 (PST) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: text/plain; charset=utf-8 From: Ken Raeburn In-Reply-To: <83d1r0ggmb.fsf@gnu.org> Date: Sat, 12 Mar 2016 20:21:35 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3112) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > It turns out we already had protection for this: xdisp.c was looking > at the value of purify-flag to decide when it is safe to perform bidi > reordering. That protection was added to fix bug#9963. >=20 > However, a change in Dec 2013 made purify-flag be nil on systems that > CANNOT_DUMP when they process loadup.el, so that protection was lost > on those systems. >=20 > I've now added a special variable for this purpose, and changed the > display engine to use it instead of purify-flag. Ken, could you > please see if the latest emacs-25 branch resolves the original problem > you reported? If Emacs succeeds to start in tty mode after these > changes, please type "C-h H" and see if the Arabic and Hebrew > greetings are displayed correctly reordered (moving cursor with C-f > across those parts should move right-to-left when point is inside > those words). In X11 mode, both the normal and CANNOT_DUMP versions seem to work fine = now, and the cursor motion with C-f in the hello buffer is as you = describe. In tty mode, the normal version starts fine, and the cursor motion is = mostly as you describe, though the Arabic and Hebrew text don=E2=80=99t = look the same in the terminal emulator (Mac terminal emulator running = ssh to a GNU/Linux box running Emacs) as in the X11 window. Instead, it = looks like, for example, everything after =E2=80=9CHebrew (=E2=80=9D on = that line is reversed from the X11 display, and the =E2=80=9C)=E2=80=9D = replaced with =E2=80=9C(=E2=80=9D. Also, the cursor positioning as I = hit C-f or C-b doesn=E2=80=99t quite line up with where the characters = are; I think it may be lining up with where it thinks they=E2=80=99d be = if they were laid out as in the X11 display. So it moves over = whitespace here, skips a character there=E2=80=A6 In tty mode, the CANNOT_DUMP version get stuck in a loop at startup = complaining that internal-echo-keystrokes-prefix isn=E2=80=99t defined. = If I set a breakpoint on Fsignal, it=E2=80=99s first complaining about = window--resize-root-window-vertically when trying to display the long = load path, presumably terminating the processing of loadup.el; the = second time it=E2=80=99s internal-timer-start-idle, then = internal-echo-keystrokes-prefix, and then we just seem to stick with = that one from then on. So, at least the abort=E2=80=99s gone; that=E2=80=99s something=E2=80=A6. = :-) Obviously the long message lines need to be handled, or at least need to = not cause us to error out of the startup. Maybe C or Lisp could define = a simple, dumb version of window--resize-root-window-vertically that = gets us past this point? That might be cheaper than testing on every = call to verify that the function has been defined so that we can fall = back to some other behavior in this rare case. Given how much even basic operation depends on various bits of Lisp code = being available, I=E2=80=99m starting to think that if loadup.el cannot = load successfully (with the possible exception of site initialization = files), maybe Emacs should just refuse to start, instead of continuing = on to the top level loop. Ken= From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 08:08:19 2016 Received: (at 22975) by debbugs.gnu.org; 13 Mar 2016 12:08:19 +0000 Received: from localhost ([127.0.0.1]:46656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1af4ol-0001e1-IA for submit@debbugs.gnu.org; Sun, 13 Mar 2016 08:08:19 -0400 Received: from mout.gmx.net ([212.227.15.18]:58670) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1af4oj-0001dm-Lo for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 08:08:18 -0400 Received: from [192.168.1.101] ([212.95.7.69]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0LgqQQ-1a15h92vG2-00oDyW; Sun, 13 Mar 2016 13:08:09 +0100 Message-ID: <56E55826.9010802@gmx.at> Date: Sun, 13 Mar 2016 13:08:06 +0100 From: martin rudalics MIME-Version: 1.0 To: Ken Raeburn , Eli Zaretskii Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:mkZMxMKzXZAaKnukyt4uvvtJHa1BkGHuIci076EURtwnrmNXM2l YqxhltbitcDLn0q02ULUq//sTKqM3UK6zxPmmbTGTU5DHQExoFo7P7ZTorR1g8UF3KAArSz 1dIUps60VwNtmEGnROTvGCn6jaGWuiamBEFlLmbMd/f54rJnwEJkV4IKxm30petFV8fQ4or sdC4f78bcDME6bKn+Z2fg== X-UI-Out-Filterresults: notjunk:1;V01:K0:Wn4SIQ3e5+A=:cawk2/9yXUAnDk6hZHCmgG yYhYtG+x3wc3qoirMvzNT3mcHUAyFEnyPBpjEiUpxrxer9slMC5hF1Hh0APf3xwlOgT53L+zA 0hIsgsRM2KEts9RWo1kbKn86BVCVszhB0/nJd+MI+xGIk7+3BfH7sSVpP6JPzp8R24JNfhqC9 QkHKpxJh88tTokowATwZ94/dzXpSsWZkuBWLi2FTTT+G4HgdbtTjCbPWlgqBnD1PGskKLPHFG B6+Ggz4Lm9T2QD52iqAj5lUeIGASX4BLOejY3S1387sARuYlM1WTCqSOQh13x9vIoRH6GiC41 9RoAl4OQ7BbFPCWrTcCz0+ICr97doh2ySAtPrPgINapj0WKg8zD/yGuZ3Pz/HvjsuKY7D/k6t /pZLgkhyBlBdjPQjPlWppYwvCC8r3bLuvGlCZWf/HUeTvZHkiDkeme5G4ZwgXcWfE3EOv2lFo LcBiDK60xIGlpW36by9vhX2EordQzrZRReoM5Tnf8ewRk/KatbL142AgMwHlCeBmredt6dxIR YkaMGPOgD2HzKiD1X6FVPFKjNQZaSqRhlJkeZTiDrwM5qCBfIyfvU42+yuh8tKX+Gqv7oU/uZ xk2szWNjTP8neBWtT3rDvEJERdYozt2iaG0Qpc4A1oGI5I9sEXKug3tvAPVznmrcTwseSEFBd a064GWZo0AY1J1CBjPF8X8hJkcXSlQdzoYjjB1ZBIgqRFqECuENln2Hz3nAoVnDdRGhkjUbFb cQxFoEl7fxYNYsY1PoxJf/Kv6ug/rRvqY8771CB32BxrnngV+qSbrDbDy/fKY+jF4QKTx7xjB OR7para X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > In tty mode, the CANNOT_DUMP version get stuck in a loop at startup > complaining that internal-echo-keystrokes-prefix isn=E2=80=99t defined= =2E If I > set a breakpoint on Fsignal, it=E2=80=99s first complaining about > window--resize-root-window-vertically when trying to display the long > load path, presumably terminating the processing of loadup.el; Can you please try adding a placeholder function like Paul did with Fframe_windows_min_size and Fwindow__sanitize_window_sizes. Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 12:46:33 2016 Received: (at 22975) by debbugs.gnu.org; 13 Mar 2016 16:46:33 +0000 Received: from localhost ([127.0.0.1]:47145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1af9A1-0008DY-7p for submit@debbugs.gnu.org; Sun, 13 Mar 2016 12:46:33 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40054) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1af9A0-0008DN-3s for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 12:46:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1af99q-0004sM-Qu for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 12:46:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40896) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1af99q-0004s9-NC; Sun, 13 Mar 2016 12:46:22 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4523 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1af99p-0007Im-NR; Sun, 13 Mar 2016 12:46:22 -0400 Date: Sun, 13 Mar 2016 18:45:51 +0200 Message-Id: <837fh6fhs0.fsf@gnu.org> From: Eli Zaretskii To: Ken Raeburn In-reply-to: (message from Ken Raeburn on Sat, 12 Mar 2016 20:21:35 -0500) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Ken Raeburn > Date: Sat, 12 Mar 2016 20:21:35 -0500 > Cc: schwab@linux-m68k.org, > 22975@debbugs.gnu.org > > In X11 mode, both the normal and CANNOT_DUMP versions seem to work fine now, and the cursor motion with C-f in the hello buffer is as you describe. That's a start. > In tty mode, the normal version starts fine, and the cursor motion is mostly as you describe, though the Arabic and Hebrew text don’t look the same in the terminal emulator (Mac terminal emulator running ssh to a GNU/Linux box running Emacs) as in the X11 window. Instead, it looks like, for example, everything after “Hebrew (” on that line is reversed from the X11 display, and the “)” replaced with “(”. Also, the cursor positioning as I hit C-f or C-b doesn’t quite line up with where the characters are; I think it may be lining up with where it thinks they’d be if they were laid out as in the X11 display. So it moves over whitespace here, skips a character there… Can you show a screenshot? It sounds like your terminal emulator is trying its own reordering of bidi text. Can you find some setting to disable that? In any case, this is unrelated to the issue at hand. > In tty mode, the CANNOT_DUMP version get stuck in a loop at startup complaining that internal-echo-keystrokes-prefix isn’t defined. If I set a breakpoint on Fsignal, it’s first complaining about window--resize-root-window-vertically when trying to display the long load path, presumably terminating the processing of loadup.el; the second time it’s internal-timer-start-idle, then internal-echo-keystrokes-prefix, and then we just seem to stick with that one from then on. Please show a full C backtrace from each one of the calls to Fsignal, so we could see what code calls these functions. > Obviously the long message lines need to be handled, or at least need to not cause us to error out of the startup. Maybe C or Lisp could define a simple, dumb version of window--resize-root-window-vertically that gets us past this point? That might be cheaper than testing on every call to verify that the function has been defined so that we can fall back to some other behavior in this rare case. Let's defer this discussion till after we see the backtraces. In general, the above is the price we pay for moving more basic stuff to Lisp. But I very much doubt that these problem cannot have some simple solution. Whether dumb versions in C are it, I don't know: it depends on who calls them and what does that code expect from the call. > Given how much even basic operation depends on various bits of Lisp code being available, I’m starting to think that if loadup.el cannot load successfully (with the possible exception of site initialization files), maybe Emacs should just refuse to start, instead of continuing on to the top level loop. No, I don't think so: aborting will remove the error messages and other phenomena that are needed to debug these problems. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 12:47:15 2016 Received: (at 22975) by debbugs.gnu.org; 13 Mar 2016 16:47:15 +0000 Received: from localhost ([127.0.0.1]:47149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1af9Ah-0008Et-Jr for submit@debbugs.gnu.org; Sun, 13 Mar 2016 12:47:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40155) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1af9Ag-0008Ef-DU for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 12:47:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1af9Aa-0005H1-Kv for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 12:47:09 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40905) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1af9AW-0005Gc-Af; Sun, 13 Mar 2016 12:47:04 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4527 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1af9AV-0007Ln-Ac; Sun, 13 Mar 2016 12:47:03 -0400 Date: Sun, 13 Mar 2016 18:46:33 +0200 Message-Id: <8360wqfhqu.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <56E55826.9010802@gmx.at> (message from martin rudalics on Sun, 13 Mar 2016 13:08:06 +0100) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <56E55826.9010802@gmx.at> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Sun, 13 Mar 2016 13:08:06 +0100 > From: martin rudalics > CC: 22975@debbugs.gnu.org, schwab@linux-m68k.org > > > In tty mode, the CANNOT_DUMP version get stuck in a loop at startup > > complaining that internal-echo-keystrokes-prefix isn’t defined. If I > > set a breakpoint on Fsignal, it’s first complaining about > > window--resize-root-window-vertically when trying to display the long > > load path, presumably terminating the processing of loadup.el; > > Can you please try adding a placeholder function like Paul did with > Fframe_windows_min_size and Fwindow__sanitize_window_sizes. How can we know what these placeholders should do, without seeing which code calls them? From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 16:09:41 2016 Received: (at 22975) by debbugs.gnu.org; 13 Mar 2016 20:09:41 +0000 Received: from localhost ([127.0.0.1]:47188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afCKb-0004SV-J1 for submit@debbugs.gnu.org; Sun, 13 Mar 2016 16:09:41 -0400 Received: from mout.gmx.net ([212.227.17.22]:50219) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afCKZ-0004SG-Tw for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 16:09:40 -0400 Received: from [192.168.1.100] ([212.95.7.49]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0Mam2Q-1aQH0T2LbG-00KRfR; Sun, 13 Mar 2016 21:09:31 +0100 Message-ID: <56E5C8F6.2000909@gmx.at> Date: Sun, 13 Mar 2016 21:09:26 +0100 From: martin rudalics MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <56E55826.9010802@gmx.at> <8360wqfhqu.fsf@gnu.org> In-Reply-To: <8360wqfhqu.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:7Sh8j4vm9r93BGCWTfJaJS4myTDT5BtJjf/7JIbWyB58pDhz+eE rv5BBuOIS4GuVYTc1FDqCE1G5O7XnpMBrseZRV5/6t4w1oH/9vczsT6XFrm0Dedmfs3sSc4 +Fpy2lGG5H6Pr93HwCIBSC3HbhAUYlzgW9ej7VElYu0TOPCu6Flij+QXwpeL0X/+jsVBY+Y wuS+zFJYbjW/15KldeMjw== X-UI-Out-Filterresults: notjunk:1;V01:K0:d/08D1sJvLo=:E+luLsLnx0GV6ZY/zlhYCP 4BhRIQ3xhQkeDQkEoxmAifYC+B+IxprAlfTzGNo2E8QDRi6YHSPWIzr6SViv8XxRp/IRt1H6V 6Z7M79gRg1nC7JB4v6z+PO6rLl0WbQ1DM0UK26+4Jiq9yoKVYN1pg8v70DZk5klMTC66mxK5T pY34VsZioa79acqk60YoLOc616ky01OThjdw45xHlrjQoW65Tw0u4RToIRpIaFIarn2A3b0uQ 1EqJpyLJmqwrRXl+5Az5JM1wQxKd6Xa9TSJ5VwycG+NNAIZLOQF81kTHr+9nPJ6fQrH/44zHg 08skfDMMxi54Zj15qj57psSNlEIQvINr/R9RclXJwmiRShtlomV+QVn9i8YH0WgpfLI/bBh30 MlB06/fKrYN/Ishg8AWiYmKwGIKA/WsZ0hFMuoyXHbCjz/vyoV6GcN/U17lOFnCtYaZi5VYx6 ms1a4TBhrUbNCLjGUrlITR82Aa58DF52RcNyLAuvPcDbiYgDSAd7MZvrSqOUIMSrml9w0AvtQ A1GwwDvLOY3yYyRaaRABLYU68bRjfrFfwwkMlWKSFNLEHY13Lu5lABmjgctB/Fe7vYVDyuiXf Q6vRCsRu9LKQbDGh/1nVZuOmsoP1D2UXfxrGGqcnKqs6dAwtheyy/LmBUOz6eVn/ItOIxJP+O 9G6l0yhcBe5drKOT38KEKiS3OkHCZhDpgqlsd+yFAGK/iAF+XFzXX6IFUHzO7rOyzxfCzrcQT BkvrAN/QdAKFbbTlkx6XfreF4i4HyyURm0x0b3TvjS1zDeQhJIa3SfU1EWCjvnNEN84hoBJK4 dcNmepXAHBwC9NJOBB3OeSFEJ5f0w== X-Spam-Score: -0.1 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) >> > In tty mode, the CANNOT_DUMP version get stuck in a loop at start= up >> > complaining that internal-echo-keystrokes-prefix isn=E2=80=99t de= fined. If I >> > set a breakpoint on Fsignal, it=E2=80=99s first complaining about= >> > window--resize-root-window-vertically when trying to display the = long >> > load path, presumably terminating the processing of loadup.el; >> >> Can you please try adding a placeholder function like Paul did with >> Fframe_windows_min_size and Fwindow__sanitize_window_sizes. > > How can we know what these placeholders should do, without seeing > which code calls them? The idea was that if Ken's assumption is right that complaining about window--resize-root-window-vertically terminates the processing of loadup.el, then such a placeholder function (that would do nothing) would have allowed it to proceed ... martin From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 16:32:16 2016 Received: (at 22975) by debbugs.gnu.org; 13 Mar 2016 20:32:17 +0000 Received: from localhost ([127.0.0.1]:47198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afCgS-00057S-Kn for submit@debbugs.gnu.org; Sun, 13 Mar 2016 16:32:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57832) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afCgQ-00057D-4A for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 16:32:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afCgK-000893-0z for 22975@debbugs.gnu.org; Sun, 13 Mar 2016 16:32:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44907) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afCgF-00088g-DV; Sun, 13 Mar 2016 16:32:03 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4843 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1afCgE-0002Me-7A; Sun, 13 Mar 2016 16:32:02 -0400 Date: Sun, 13 Mar 2016 22:31:32 +0200 Message-Id: <83fuvudsrf.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <56E5C8F6.2000909@gmx.at> (message from martin rudalics on Sun, 13 Mar 2016 21:09:26 +0100) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <56E55826.9010802@gmx.at> <8360wqfhqu.fsf@gnu.org> <56E5C8F6.2000909@gmx.at> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Sun, 13 Mar 2016 21:09:26 +0100 > From: martin rudalics > CC: raeburn@raeburn.org, 22975@debbugs.gnu.org, schwab@linux-m68k.org > > >> > In tty mode, the CANNOT_DUMP version get stuck in a loop at startup > >> > complaining that internal-echo-keystrokes-prefix isn’t defined. If I > >> > set a breakpoint on Fsignal, it’s first complaining about > >> > window--resize-root-window-vertically when trying to display the long > >> > load path, presumably terminating the processing of loadup.el; > >> > >> Can you please try adding a placeholder function like Paul did with > >> Fframe_windows_min_size and Fwindow__sanitize_window_sizes. > > > > How can we know what these placeholders should do, without seeing > > which code calls them? > > The idea was that if Ken's assumption is right that complaining about > window--resize-root-window-vertically terminates the processing of > loadup.el, then such a placeholder function (that would do nothing) > would have allowed it to proceed ... But the return value might need to be something specific to steer the rest of execution where we want it. For example, grow_mini_window does this: if (delta > 0) { root = FRAME_ROOT_WINDOW (f); r = XWINDOW (root); height = call3 (Qwindow_resize_root_window_vertically, root, make_number (- delta), pixelwise ? Qt : Qnil); if (INTEGERP (height) && window_resize_check (r, false)) { block_input (); window_resize_apply (r, false); which means we need the placeholder return nil to do what we want. If it returns something else, who knows what will happen next? IOW, we need to study the actual calls to know what to do in the placeholders. The same examination could tell us how to avoid the calls to those functions altogether. E.g., binding resize-mini-windows to nil around the code that runs loadup.el would prevent the call to grow_mini_window in the first place. Maybe that's better, I didn't yet make up my mind. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 03:17:18 2016 Received: (at 22975) by debbugs.gnu.org; 14 Mar 2016 07:17:18 +0000 Received: from localhost ([127.0.0.1]:47370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afMkf-0003OI-Sf for submit@debbugs.gnu.org; Mon, 14 Mar 2016 03:17:17 -0400 Received: from mail-qg0-f50.google.com ([209.85.192.50]:32853) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afMke-0003O1-El for 22975@debbugs.gnu.org; Mon, 14 Mar 2016 03:17:16 -0400 Received: by mail-qg0-f50.google.com with SMTP id t4so146675465qge.0 for <22975@debbugs.gnu.org>; Mon, 14 Mar 2016 00:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=P14lQ9l9GVVSbzSanQ0HJPcJLC0/Y1SXkmyGnTf0WRY=; b=AuXFQuFd2XpYdPZhp1CeEYHhf0GJkalEQOQfrDaaK9jO2sRRSsUlCeJ5v0CnLrWn9B t+bFKTFcyalXhr6nkq9vNhpsTRcmAOM04qt+rvlwWQQ01i1LW7b6VzWDUk52bo89GjHL rpIbBNX5XZtlze6KE7M+PAtY4H8trJ1llwZSbQTRbWGKbBWZ3dquUALsjOIqCd75Vhdx PJi548CIBfPNUlMhWrnOygjO0dMCea4nEjluVHYXmLHJadkq+o5Ag7qzOIfyr7UA0O6O l8olgyloGRDY2fvw8w0ENXtqZjAbfafyhfVceqfKvsq6ND3VJ91EscizRjV7C82y3lQ4 jj8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=P14lQ9l9GVVSbzSanQ0HJPcJLC0/Y1SXkmyGnTf0WRY=; b=hx+gkVeliah09fCft6C4bLgAwPYLrKm1kBqSIRR+OIsNVDLOvvxXXWajHXo/9gcVKa /GITP5Xe74C5S8LCfVCn6tBrWOZXeAXUTbojYwtb6xx4RK0itJ/7O1A8xqiADdF0M3Ua DEArYvjbn6f1DRTiCHVZzQ9vEM0flL/2gPxsPc0gAmLz3BDJ0FdvE7eoSf222RkbxAo2 BgbB+JzUCWCKPhJfIpuTVDYUN2tIJtMd9cevbREwcPPuiQ4GdQIrQLgJRRbdNsfp6Voq v6L9vr8x3lg03ai+4f+Z0hfk3Kg2Bl0G4TI92xc52UH3P1ITkBy0ie4FUjvve7xYEVNY 9V0Q== X-Gm-Message-State: AD7BkJKrV7E7F6u5v+1Ai+gomxCwjem//7xeVSVbdnifSy3KIW4Q1Nrf9652JFiLP1CPVA== X-Received: by 10.140.170.70 with SMTP id q67mr30430516qhq.8.1457939831016; Mon, 14 Mar 2016 00:17:11 -0700 (PDT) Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net. [66.31.203.101]) by smtp.gmail.com with ESMTPSA id a129sm9794000qkb.45.2016.03.14.00.17.09 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 14 Mar 2016 00:17:09 -0700 (PDT) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_532A48FF-F028-4560-BA0E-DDE75496AE7A" From: Ken Raeburn In-Reply-To: <837fh6fhs0.fsf@gnu.org> Date: Mon, 14 Mar 2016 03:17:07 -0400 Message-Id: References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <837fh6fhs0.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3112) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, Andreas Schwab X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --Apple-Mail=_532A48FF-F028-4560-BA0E-DDE75496AE7A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >> In tty mode, the normal version starts fine, and the cursor motion is = mostly as you describe, though the Arabic and Hebrew text don=E2=80=99t = look the same in the terminal emulator (Mac terminal emulator running = ssh to a GNU/Linux box running Emacs) as in the X11 window. Instead, it = looks like, for example, everything after =E2=80=9CHebrew (=E2=80=9D on = that line is reversed from the X11 display, and the =E2=80=9C)=E2=80=9D = replaced with =E2=80=9C(=E2=80=9D. Also, the cursor positioning as I = hit C-f or C-b doesn=E2=80=99t quite line up with where the characters = are; I think it may be lining up with where it thinks they=E2=80=99d be = if they were laid out as in the X11 display. So it moves over = whitespace here, skips a character there=E2=80=A6 >=20 > Can you show a screenshot? >=20 > It sounds like your terminal emulator is trying its own reordering of > bidi text. Can you find some setting to disable that? I can=E2=80=99t find an option to change it in the Mac terminal = emulator. I hope the attached image doesn=E2=80=99t make for headaches = in the bug tracker=E2=80=A6. If I start a standard X.org xterm from the remote system and run emacs = -nw in that window, the Hebrew line looks like it does on the X11 = display; Arabic seems to be missing font support. > In any case, this is unrelated to the issue at hand. >=20 >> In tty mode, the CANNOT_DUMP version get stuck in a loop at startup = complaining that internal-echo-keystrokes-prefix isn=E2=80=99t defined. = If I set a breakpoint on Fsignal, it=E2=80=99s first complaining about = window--resize-root-window-vertically when trying to display the long = load path, presumably terminating the processing of loadup.el; the = second time it=E2=80=99s internal-timer-start-idle, then = internal-echo-keystrokes-prefix, and then we just seem to stick with = that one from then on. >=20 > Please show a full C backtrace from each one of the calls to Fsignal, > so we could see what code calls these functions. #0 Fsignal (error_symbol=3Derror_symbol@entry=3D49392, data=3D12582931) at ../../src/eval.c:1464 #1 0x0000000000552fd9 in xsignal = (error_symbol=3Derror_symbol@entry=3D49392,=20 data=3D) at ../../src/eval.c:1577 #2 0x0000000000553007 in xsignal1 (error_symbol=3D49392, arg=3D) at ../../src/eval.c:1592 #3 0x0000000000552612 in Ffuncall (nargs=3D49392, nargs@entry=3D4, = args=3D0x0) at ../../src/eval.c:2746 #4 0x0000000000554204 in call3 (fn=3Dfn@entry=3D50592, = arg1=3Darg1@entry=3D12481485,=20 arg2=3D, arg3=3D) at = ../../src/eval.c:2568 #5 0x0000000000472717 in grow_mini_window (w=3D0xbe75b0, = delta=3D,=20 pixelwise=3D) at ../../src/window.c:4501 #6 0x000000000044bd32 in resize_mini_window (w=3Dw@entry=3D0xbe75b0,=20 exact_p=3Dexact_p@entry=3Dfalse) at ../../src/xdisp.c:10985 #7 0x000000000044bd8e in display_echo_area_1 (a1=3D12481968, = a2=3D) at ../../src/xdisp.c:10831 #8 0x000000000042b8f6 in with_echo_area_buffer (w=3Dw@entry=3D0xbe75b0,=20= which=3Dwhich@entry=3D0, fn=3Dfn@entry=3D0x44bd50 = ,=20 a1=3Da1@entry=3D12481968, a2=3Da2@entry=3D0) at = ../../src/xdisp.c:10609 #9 0x000000000044f46b in display_echo_area (w=3D0xbe75b0) at ../../src/xdisp.c:10797 #10 echo_area_display (update_frame_p=3Dupdate_frame_p@entry=3Dtrue) at ../../src/xdisp.c:11298 #11 0x000000000044f76a in message3_nolog (m=3Dm@entry=3D12803636) at ../../src/xdisp.c:10311 #12 0x000000000044f8b1 in message3 (m=3Dm@entry=3D12803636) at ../../src/xdisp.c:10240 #13 0x000000000054c31c in Fmessage (nargs=3D, = args=3D) at ../../src/editfns.c:3686 #14 0x0000000000551ff0 in eval_sub (form=3Dform@entry=3D12584899) at ../../src/eval.c:2137 #15 0x000000000057475f in readevalloop (readcharfun=3D24528, = stream=3D0xbed7f0,=20 sourcename=3D12773572, printflag=3Dfalse, unibyte=3D, = readfun=3D0,=20 start=3D0, end=3D0) at ../../src/lread.c:1923 #16 0x0000000000574dec in Fload (file=3D49392, noerror=3D0, nomessage=3D0,= =20 nosuffix=3D12773572, must_suffix=3D0) at ../../src/lread.c:1331 #17 0x0000000000551e89 in eval_sub (form=3Dform@entry=3D12586851) at ../../src/eval.c:2180 #18 0x00000000005550a1 in Feval (form=3D12586851, lexical=3D) at ../../src/eval.c:1988 #19 0x0000000000551286 in internal_condition_case ( bfun=3Dbfun@entry=3D0x4e1fa0 , = handlers=3Dhandlers@entry=3D19056,=20 hfun=3Dhfun@entry=3D0x4e67e0 ) at ../../src/eval.c:1309 #20 0x00000000004e45cc in top_level_1 (ignore=3Dignore@entry=3D0) at ../../src/keyboard.c:1117 #21 0x000000000055120b in internal_catch (tag=3Dtag@entry=3D45840,=20 func=3Dfunc@entry=3D0x4e4570 , arg=3Darg@entry=3D0) at ../../src/eval.c:1074 #22 0x00000000004e1f38 in command_loop () at ../../src/keyboard.c:1078 #23 0x00000000004e63eb in recursive_edit_1 () at = ../../src/keyboard.c:685 #24 0x00000000004e6710 in Frecursive_edit () at ../../src/keyboard.c:756 #25 0x0000000000412244 in main (argc=3D3, argv=3D0x7fffffffe5b8) at ../../src/emacs.c:1605 Lisp Backtrace: "window--resize-root-window-vertically" (0xffffc8e8) "message" (0xffffdfa0) "load" (0xffffe2f0) ---------------- #0 Fsignal (error_symbol=3Derror_symbol@entry=3D49392, data=3D12582483) at ../../src/eval.c:1464 #1 0x0000000000552fd9 in xsignal = (error_symbol=3Derror_symbol@entry=3D49392,=20 data=3D) at ../../src/eval.c:1577 #2 0x0000000000553007 in xsignal1 (error_symbol=3D49392, arg=3D) at ../../src/eval.c:1592 #3 0x0000000000552612 in Ffuncall (nargs=3D49392, nargs@entry=3D1, = args=3D0x0) at ../../src/eval.c:2746 #4 0x00000000005529b8 in call0 (fn=3D525424) at ../../src/eval.c:2544 #5 0x00000000004e4636 in timer_start_idle () at = ../../src/keyboard.c:4242 #6 0x00000000004ed07c in timer_start_idle () at = ../../src/keyboard.c:4077 #7 read_char (commandflag=3D49392, commandflag@entry=3D1, map=3D12582483,= =20 map@entry=3D12582211, prev_event=3D24, used_mouse_menu=3D0x250,=20 used_mouse_menu@entry=3D0x7fffffffe18b, end_time=3D0xc2cf88, = end_time@entry=3D0x0) at ../../src/keyboard.c:2600 #8 0x00000000004edef6 in read_key_sequence ( keybuf=3Dkeybuf@entry=3D0x7fffffffe260, prompt=3Dprompt@entry=3D0,=20= dont_downcase_last=3Ddont_downcase_last@entry=3Dfalse,=20 can_return_switch_frame=3Dcan_return_switch_frame@entry=3Dtrue,=20 fix_current_buffer=3Dfix_current_buffer@entry=3Dtrue,=20 prevent_redisplay=3Dprevent_redisplay@entry=3Dfalse, bufsize=3D30) at ../../src/keyboard.c:9054 #9 0x00000000004ef9f6 in command_loop_1 () at ../../src/keyboard.c:1358 #10 0x0000000000551286 in internal_condition_case ( bfun=3Dbfun@entry=3D0x4ef800 , = handlers=3Dhandlers@entry=3D19056,=20 hfun=3Dhfun@entry=3D0x4e67e0 ) at ../../src/eval.c:1309 #11 0x00000000004e1f8c in command_loop_2 (ignore=3Dignore@entry=3D0) at ../../src/keyboard.c:1100 #12 0x000000000055120b in internal_catch (tag=3Dtag@entry=3D45840,=20 func=3Dfunc@entry=3D0x4e1f70 , arg=3Darg@entry=3D0) at ../../src/eval.c:1074 #13 0x00000000004e1f49 in command_loop () at ../../src/keyboard.c:1079 #14 0x00000000004e63eb in recursive_edit_1 () at = ../../src/keyboard.c:685 #15 0x00000000004e6710 in Frecursive_edit () at ../../src/keyboard.c:756 #16 0x0000000000412244 in main (argc=3D3, argv=3D0x7fffffffe5b8) at ../../src/emacs.c:1605 Lisp Backtrace: "internal-timer-start-idle" (0xffffdb10) ---------------- #0 Fsignal (error_symbol=3Derror_symbol@entry=3D49392, data=3D12826339) at ../../src/eval.c:1464 #1 0x0000000000552fd9 in xsignal = (error_symbol=3Derror_symbol@entry=3D49392,=20 data=3D) at ../../src/eval.c:1577 #2 0x0000000000553007 in xsignal1 (error_symbol=3D49392, arg=3D) at ../../src/eval.c:1592 #3 0x0000000000552612 in Ffuncall (nargs=3D49392, nargs@entry=3D1, = args=3D0x0) at ../../src/eval.c:2746 #4 0x00000000005529b8 in call0 (fn=3D28368) at ../../src/eval.c:2544 #5 0x00000000004ed2fe in read_char (commandflag=3D49392, = commandflag@entry=3D1,=20 map=3D12826339, map@entry=3D12826307, prev_event=3D15, = used_mouse_menu=3D0x2e0,=20 used_mouse_menu@entry=3D0x7fffffffe18b, end_time=3D0x3, = end_time@entry=3D0x0) at ../../src/keyboard.c:2609 #6 0x00000000004edef6 in read_key_sequence ( keybuf=3Dkeybuf@entry=3D0x7fffffffe260, prompt=3Dprompt@entry=3D0,=20= dont_downcase_last=3Ddont_downcase_last@entry=3Dfalse,=20 can_return_switch_frame=3Dcan_return_switch_frame@entry=3Dtrue,=20 fix_current_buffer=3Dfix_current_buffer@entry=3Dtrue,=20 prevent_redisplay=3Dprevent_redisplay@entry=3Dfalse, bufsize=3D30) at ../../src/keyboard.c:9054 #7 0x00000000004ef9f6 in command_loop_1 () at ../../src/keyboard.c:1358 #8 0x0000000000551286 in internal_condition_case ( bfun=3Dbfun@entry=3D0x4ef800 , = handlers=3Dhandlers@entry=3D19056,=20 hfun=3Dhfun@entry=3D0x4e67e0 ) at ../../src/eval.c:1309 #9 0x00000000004e1f8c in command_loop_2 (ignore=3Dignore@entry=3D0) at ../../src/keyboard.c:1100 #10 0x000000000055120b in internal_catch (tag=3Dtag@entry=3D45840,=20 func=3Dfunc@entry=3D0x4e1f70 , arg=3Darg@entry=3D0) at ../../src/eval.c:1074 #11 0x00000000004e1f49 in command_loop () at ../../src/keyboard.c:1079 #12 0x00000000004e63eb in recursive_edit_1 () at = ../../src/keyboard.c:685 #13 0x00000000004e6710 in Frecursive_edit () at ../../src/keyboard.c:756 #14 0x0000000000412244 in main (argc=3D3, argv=3D0x7fffffffe5b8) at ../../src/emacs.c:1605 Lisp Backtrace: "internal-echo-keystrokes-prefix" (0xffffdb30) >=20 >> Obviously the long message lines need to be handled, or at least need = to not cause us to error out of the startup. Maybe C or Lisp could = define a simple, dumb version of window--resize-root-window-vertically = that gets us past this point? That might be cheaper than testing on = every call to verify that the function has been defined so that we can = fall back to some other behavior in this rare case. >=20 > Let's defer this discussion till after we see the backtraces. >=20 > In general, the above is the price we pay for moving more basic stuff > to Lisp. But I very much doubt that these problem cannot have some > simple solution. Whether dumb versions in C are it, I don't know: it > depends on who calls them and what does that code expect from the > call. After glancing at the code you and Martin discussed, as a quick = experiment, I did try adding: (fset 'window--resize-root-window-vertically '(lambda (&rest ignored))) to loadup.el before it prints the load path, and the CANNOT_DUMP emacs = seems to have started up okay=E2=80=A6 as long as I didn=E2=80=99t make = the window so narrow that the =E2=80=9CLoading loadup=E2=80=9D message = itself was too wide and required wrapping. Since the Lisp files can't = control things any earlier than that, I think the stub version, if we = use one, ought to be in C. >> Given how much even basic operation depends on various bits of Lisp = code being available, I=E2=80=99m starting to think that if loadup.el = cannot load successfully (with the possible exception of site = initialization files), maybe Emacs should just refuse to start, instead = of continuing on to the top level loop. >=20 > No, I don't think so: aborting will remove the error messages and > other phenomena that are needed to debug these problems. I=E2=80=99d assume we=E2=80=99d print out error messages when quitting. = But if we want to keep Emacs running enough to interactively pull out = other information, it looks like we=E2=80=99re going to have to have = stub versions of a few more routines.= --Apple-Mail=_532A48FF-F028-4560-BA0E-DDE75496AE7A Content-Type: multipart/related; type="text/html"; boundary="Apple-Mail=_5F9FA953-04A6-4FEE-AB48-FFCBAB844EA6" --Apple-Mail=_5F9FA953-04A6-4FEE-AB48-FFCBAB844EA6 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
In tty mode, the normal = version starts fine, and the cursor motion is mostly as you = describe, though the Arabic and Hebrew text don=E2=80=99t look the = same in the terminal emulator (Mac terminal emulator running ssh to = a GNU/Linux box running Emacs) as in the X11 window.  Instead, it = looks like, for example, everything after =E2=80=9CHebrew (=E2=80=9D = on that line is reversed from the X11 display, and the =E2=80=9C)=E2=80= =9D replaced with =E2=80=9C(=E2=80=9D.  Also, the cursor = positioning as I hit C-f or C-b doesn=E2=80=99t quite line up with = where the characters are; I think it may be lining up with where it = thinks they=E2=80=99d be if they were laid out as in the X11 = display.  So it moves over whitespace here, skips a character = there=E2=80=A6

Can you show a = screenshot?

It sounds like your terminal = emulator is trying its own reordering of
bidi text. =  Can you find some setting to disable that?

I can=E2=80=99t find an option to change it in the Mac = terminal emulator.  I hope the attached image doesn=E2=80=99t make = for headaches in the bug tracker=E2=80=A6.



If I start a standard X.org xterm from the remote system = and run emacs -nw in that window, the Hebrew line looks like it does on = the X11 display; Arabic seems to be missing font support.

In any case, this is unrelated to the issue at hand.

In tty = mode, the CANNOT_DUMP version get stuck in a loop at startup complaining = that internal-echo-keystrokes-prefix isn=E2=80=99t defined.  If I = set a breakpoint on Fsignal, it=E2=80=99s first complaining about = window--resize-root-window-vertically when trying to display the long = load path, presumably terminating the processing of loadup.el; the = second time it=E2=80=99s internal-timer-start-idle, then = internal-echo-keystrokes-prefix, and then we just seem to stick with = that one from then on.

Please show a full C backtrace from each one of the calls to = Fsignal,
so we could see what code calls these = functions.

#0  Fsignal = (error_symbol=3Derror_symbol@entry=3D49392, data=3D12582931)
    at ../../src/eval.c:1464
#1 =  0x0000000000552fd9 in xsignal = (error_symbol=3Derror_symbol@entry=3D49392, 
  =   data=3D<optimized out>) at ../../src/eval.c:1577
#2  0x0000000000553007 in xsignal1 (error_symbol=3D49392, = arg=3D<optimized out>)
    at = ../../src/eval.c:1592
#3  0x0000000000552612 in = Ffuncall (nargs=3D49392, nargs@entry=3D4, args=3D0x0)
 =   at ../../src/eval.c:2746
#4 =  0x0000000000554204 in call3 (fn=3Dfn@entry=3D50592, = arg1=3Darg1@entry=3D12481485, 
    = arg2=3D<optimized out>, arg3=3D<optimized out>) at = ../../src/eval.c:2568
#5  0x0000000000472717 in = grow_mini_window (w=3D0xbe75b0, delta=3D<optimized out>, 
    pixelwise=3D<optimized out>) at = ../../src/window.c:4501
#6  0x000000000044bd32 in = resize_mini_window (w=3Dw@entry=3D0xbe75b0, 
  =   exact_p=3Dexact_p@entry=3Dfalse) at ../../src/xdisp.c:10985
#7  0x000000000044bd8e in display_echo_area_1 = (a1=3D12481968, a2=3D<optimized out>)
    = at ../../src/xdisp.c:10831
#8  0x000000000042b8f6 in = with_echo_area_buffer (w=3Dw@entry=3D0xbe75b0, 
  =   which=3Dwhich@entry=3D0, fn=3Dfn@entry=3D0x44bd50 = <display_echo_area_1>, 
    = a1=3Da1@entry=3D12481968, a2=3Da2@entry=3D0) at = ../../src/xdisp.c:10609
#9  0x000000000044f46b in = display_echo_area (w=3D0xbe75b0)
    at = ../../src/xdisp.c:10797
#10 echo_area_display = (update_frame_p=3Dupdate_frame_p@entry=3Dtrue)
  =   at ../../src/xdisp.c:11298
#11 0x000000000044f76a = in message3_nolog (m=3Dm@entry=3D12803636)
    = at ../../src/xdisp.c:10311
#12 0x000000000044f8b1 in = message3 (m=3Dm@entry=3D12803636)
    at = ../../src/xdisp.c:10240
#13 0x000000000054c31c in Fmessage = (nargs=3D<optimized out>, args=3D<optimized out>)
    at ../../src/editfns.c:3686
#14 = 0x0000000000551ff0 in eval_sub (form=3Dform@entry=3D12584899)
    at ../../src/eval.c:2137
#15 = 0x000000000057475f in readevalloop (readcharfun=3D24528, = stream=3D0xbed7f0, 
    = sourcename=3D12773572, printflag=3Dfalse, unibyte=3D<optimized = out>, readfun=3D0, 
    start=3D0, = end=3D0) at ../../src/lread.c:1923
#16 0x0000000000574dec = in Fload (file=3D49392, noerror=3D0, nomessage=3D0, 
    nosuffix=3D12773572, must_suffix=3D0) at = ../../src/lread.c:1331
#17 0x0000000000551e89 in eval_sub = (form=3Dform@entry=3D12586851)
    at = ../../src/eval.c:2180
#18 0x00000000005550a1 in Feval = (form=3D12586851, lexical=3D<optimized out>)
  =   at ../../src/eval.c:1988
#19 0x0000000000551286 in = internal_condition_case (
    = bfun=3Dbfun@entry=3D0x4e1fa0 <top_level_2>, = handlers=3Dhandlers@entry=3D19056, 
    = hfun=3Dhfun@entry=3D0x4e67e0 <cmd_error>) at = ../../src/eval.c:1309
#20 0x00000000004e45cc in = top_level_1 (ignore=3Dignore@entry=3D0)
    at = ../../src/keyboard.c:1117
#21 0x000000000055120b in = internal_catch (tag=3Dtag@entry=3D45840, 
  =   func=3Dfunc@entry=3D0x4e4570 <top_level_1>, = arg=3Darg@entry=3D0)
    at = ../../src/eval.c:1074
#22 0x00000000004e1f38 in = command_loop () at ../../src/keyboard.c:1078
#23 = 0x00000000004e63eb in recursive_edit_1 () at ../../src/keyboard.c:685
#24 0x00000000004e6710 in Frecursive_edit () at = ../../src/keyboard.c:756
#25 0x0000000000412244 in main = (argc=3D3, argv=3D0x7fffffffe5b8)
    at = ../../src/emacs.c:1605

Lisp Backtrace:
"window--resize-root-window-vertically" (0xffffc8e8)
"message" (0xffffdfa0)
"load" (0xffffe2f0)

----------------

#0=  Fsignal (error_symbol=3Derror_symbol@entry=3D49392, = data=3D12582483)
    at ../../src/eval.c:1464
#1  0x0000000000552fd9 in xsignal = (error_symbol=3Derror_symbol@entry=3D49392, 
  =   data=3D<optimized out>) at ../../src/eval.c:1577
#2  0x0000000000553007 in xsignal1 (error_symbol=3D49392, = arg=3D<optimized out>)
    at = ../../src/eval.c:1592
#3  0x0000000000552612 in = Ffuncall (nargs=3D49392, nargs@entry=3D1, args=3D0x0)
 =   at ../../src/eval.c:2746
#4 =  0x00000000005529b8 in call0 (fn=3D525424) at = ../../src/eval.c:2544
#5  0x00000000004e4636 in = timer_start_idle () at ../../src/keyboard.c:4242
#6 =  0x00000000004ed07c in timer_start_idle () at = ../../src/keyboard.c:4077
#7  read_char = (commandflag=3D49392, commandflag@entry=3D1, map=3D12582483, 
    map@entry=3D12582211, prev_event=3D24, = used_mouse_menu=3D0x250, 
    = used_mouse_menu@entry=3D0x7fffffffe18b, end_time=3D0xc2cf88, = end_time@entry=3D0x0)
    at = ../../src/keyboard.c:2600
#8  0x00000000004edef6 in = read_key_sequence (
    = keybuf=3Dkeybuf@entry=3D0x7fffffffe260, prompt=3Dprompt@entry=3D0,     = dont_downcase_last=3Ddont_downcase_last@entry=3Dfalse, 
    = can_return_switch_frame=3Dcan_return_switch_frame@entry=3Dtrue, 
    = fix_current_buffer=3Dfix_current_buffer@entry=3Dtrue, 
    = prevent_redisplay=3Dprevent_redisplay@entry=3Dfalse, bufsize=3D30)
    at ../../src/keyboard.c:9054
#9 =  0x00000000004ef9f6 in command_loop_1 () at = ../../src/keyboard.c:1358
#10 0x0000000000551286 in = internal_condition_case (
    = bfun=3Dbfun@entry=3D0x4ef800 <command_loop_1>, = handlers=3Dhandlers@entry=3D19056, 
    = hfun=3Dhfun@entry=3D0x4e67e0 <cmd_error>) at = ../../src/eval.c:1309
#11 0x00000000004e1f8c in = command_loop_2 (ignore=3Dignore@entry=3D0)
    = at ../../src/keyboard.c:1100
#12 0x000000000055120b in = internal_catch (tag=3Dtag@entry=3D45840, 
  =   func=3Dfunc@entry=3D0x4e1f70 <command_loop_2>, = arg=3Darg@entry=3D0)
    at = ../../src/eval.c:1074
#13 0x00000000004e1f49 in = command_loop () at ../../src/keyboard.c:1079
#14 = 0x00000000004e63eb in recursive_edit_1 () at ../../src/keyboard.c:685
#15 0x00000000004e6710 in Frecursive_edit () at = ../../src/keyboard.c:756
#16 0x0000000000412244 in main = (argc=3D3, argv=3D0x7fffffffe5b8)
    at = ../../src/emacs.c:1605

Lisp Backtrace:
"internal-timer-start-idle" (0xffffdb10)

----------------

#0 =  Fsignal (error_symbol=3Derror_symbol@entry=3D49392, = data=3D12826339)
    at ../../src/eval.c:1464
#1  0x0000000000552fd9 in xsignal = (error_symbol=3Derror_symbol@entry=3D49392, 
  =   data=3D<optimized out>) at ../../src/eval.c:1577
#2  0x0000000000553007 in xsignal1 (error_symbol=3D49392, = arg=3D<optimized out>)
    at = ../../src/eval.c:1592
#3  0x0000000000552612 in = Ffuncall (nargs=3D49392, nargs@entry=3D1, args=3D0x0)
 =   at ../../src/eval.c:2746
#4 =  0x00000000005529b8 in call0 (fn=3D28368) at = ../../src/eval.c:2544
#5  0x00000000004ed2fe in = read_char (commandflag=3D49392, commandflag@entry=3D1, 
    map=3D12826339, map@entry=3D12826307, = prev_event=3D15, used_mouse_menu=3D0x2e0, 
  =   used_mouse_menu@entry=3D0x7fffffffe18b, end_time=3D0x3, = end_time@entry=3D0x0)
    at = ../../src/keyboard.c:2609
#6  0x00000000004edef6 in = read_key_sequence (
    = keybuf=3Dkeybuf@entry=3D0x7fffffffe260, prompt=3Dprompt@entry=3D0,     = dont_downcase_last=3Ddont_downcase_last@entry=3Dfalse, 
    = can_return_switch_frame=3Dcan_return_switch_frame@entry=3Dtrue, 
    = fix_current_buffer=3Dfix_current_buffer@entry=3Dtrue, 
    = prevent_redisplay=3Dprevent_redisplay@entry=3Dfalse, bufsize=3D30)
    at ../../src/keyboard.c:9054
#7 =  0x00000000004ef9f6 in command_loop_1 () at = ../../src/keyboard.c:1358
#8  0x0000000000551286 in = internal_condition_case (
    = bfun=3Dbfun@entry=3D0x4ef800 <command_loop_1>, = handlers=3Dhandlers@entry=3D19056, 
    = hfun=3Dhfun@entry=3D0x4e67e0 <cmd_error>) at = ../../src/eval.c:1309
#9  0x00000000004e1f8c in = command_loop_2 (ignore=3Dignore@entry=3D0)
    = at ../../src/keyboard.c:1100
#10 0x000000000055120b in = internal_catch (tag=3Dtag@entry=3D45840, 
  =   func=3Dfunc@entry=3D0x4e1f70 <command_loop_2>, = arg=3Darg@entry=3D0)
    at = ../../src/eval.c:1074
#11 0x00000000004e1f49 in = command_loop () at ../../src/keyboard.c:1079
#12 = 0x00000000004e63eb in recursive_edit_1 () at ../../src/keyboard.c:685
#13 0x00000000004e6710 in Frecursive_edit () at = ../../src/keyboard.c:756
#14 0x0000000000412244 in main = (argc=3D3, argv=3D0x7fffffffe5b8)
    at = ../../src/emacs.c:1605

Lisp Backtrace:
"internal-echo-keystrokes-prefix" (0xffffdb30)



Obviously the long message lines need to be = handled, or at least need to not cause us to error out of the = startup.  Maybe C or Lisp could define a simple, dumb version of = window--resize-root-window-vertically that gets us past this point? =  That might be cheaper than testing on every call to verify = that the function has been defined so that we can fall back to some = other behavior in this rare case.

Let's defer this discussion till after we see the = backtraces.

In general, the above is the = price we pay for moving more basic stuff
to Lisp. =  But I very much doubt that these problem cannot have some
simple solution.  Whether dumb versions in C are it, I = don't know: it
depends on who calls them and what does = that code expect from the
call.

After = glancing at the code you and Martin discussed, as a quick experiment, I = did try adding:

(fset 'window--resize-root-window-vertically '(lambda = (&rest ignored)))

to loadup.el before = it prints the load path, and the CANNOT_DUMP emacs seems to have started = up okay=E2=80=A6 as long as I didn=E2=80=99t make the window so narrow = that the =E2=80=9CLoading loadup=E2=80=9D message itself was too wide = and required wrapping.  Since the Lisp files can't control things = any earlier than that, I think the stub version, if we use one, ought to = be in C.

Given how much even = basic operation depends on various bits of Lisp code being available, = I=E2=80=99m starting to think that if loadup.el cannot load = successfully (with the possible exception of site initialization = files), maybe Emacs should just refuse to start, instead of continuing = on to the top level loop.

No, I don't think so: aborting will remove the error messages = and
other phenomena that are needed to debug these = problems.

I=E2=80=99d assume we=E2=80=99d print = out error messages when quitting.  But if we want to keep Emacs = running enough to interactively pull out other information, it looks = like we=E2=80=99re going to have to have stub versions of a few more = routines.
= --Apple-Mail=_5F9FA953-04A6-4FEE-AB48-FFCBAB844EA6 Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="Screen Shot 2016-03-14 at 01.30.15.png" Content-Type: image/png; name="Screen Shot 2016-03-14 at 01.30.15.png" Content-Id: <8755667F-2F96-4328-A718-037DE213A270> iVBORw0KGgoAAAANSUhEUgAAAkEAAAHgCAYAAACirLl7AAAAAXNSR0IArs4c6QAAQABJREFUeAHs XQd4XMXVPatVb5asYkuWbbn3XrCNjbEpNr0TAoTeCQR+AknoJYGEkAYhAUKH0IspBhdcwQb3gnvv RVaxetmV9J/zViM/rXfVLEOAN/pW0+/MnDdv5s6dO/MAxzgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4 CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgI OAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgIOAg4CDgI/CAQcP0gavn9VtLB6PvF 3yndQcBBwEHAQaD5CFQ3P+uPP+dPfYL/qbf/x9/DnRY6CDgIOAg4CDSEwE+WUfqpMAE/lXY21NGd eAcBBwEHAQcBB4HGIvCjZ45+LMzBj6Udje2YTjoHAQcBBwEHAQeB7xuBHzyT9ENnHn5o9f+h1ff7 fsGc8h0EHAQcBH6KCPzQmIsfWn1r+9QPcVL+Pur8fZRZ+5Ach4OAg4CDgIOAg0AzEPg+mJPvo8xm QOPL8kOa3I92XY82/WY/JCejg4CDgIOAg4CDQAsjcLSZlaNNv0Xg+CFM/EejjkeDZos8EIeIg4CD gIOAg4CDwPeEwNFgXI4GzRaD53+ZGWjJurUkLX/wjyZt/7Icv4OAg4CDgIOAg4AdgaPJZLQk7Zak ZW//Ebn/FyfwlqjT/wqNI3o4TmYHAQcBBwEHAQeBFkKgJZiQ/xUaLQQJ0BLMQktV5kjrciT5jyTv kbb/+yz7SOvu5HcQcBBwEHAQODIEWoKxaG4NjqTsI8mr+h5p/ua2uU6+/5UJ+Ejq0dS8TU1fBzB6 jjS/Pz3H7yDgIOAg4CDgINBSCBwpc9HU/E1Nb2/nkeS102m2+/ue0I+k/KbkPVppmw18IzM2pd6N JOkkcxBwEHAQcBD4jhH43id7W3ubUpejldZWHcvZlHL88x6R//ucZJtbdmPztXQ6O9CNpW3P47gd BBwEHAQcBBwEjiYCzWEmGpunpdP549BY+v75jsj/fU3mzS23oXwNxQuslkrTWOAbU15jaTnpHAQc BBwEHAR+Wgi0JHPQGFotkaYxNAI9xebmC0SrUWHfxwTdnDIbylNffH1xBqTGpFHaxqYzdB3bQcBB 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 SUVORK5CYII= --Apple-Mail=_5F9FA953-04A6-4FEE-AB48-FFCBAB844EA6-- --Apple-Mail=_532A48FF-F028-4560-BA0E-DDE75496AE7A-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 03:42:56 2016 Received: (at 22975) by debbugs.gnu.org; 14 Mar 2016 07:42:56 +0000 Received: from localhost ([127.0.0.1]:47382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afN9U-00040e-7B for submit@debbugs.gnu.org; Mon, 14 Mar 2016 03:42:56 -0400 Received: from mout.gmx.net ([212.227.17.20]:51191) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1afN9S-000408-3z for 22975@debbugs.gnu.org; Mon, 14 Mar 2016 03:42:54 -0400 Received: from [192.168.1.100] ([212.95.7.73]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0M5r89-1ZvWj10Ayf-00xtve; Mon, 14 Mar 2016 08:42:46 +0100 Message-ID: <56E66B6F.1050103@gmx.at> Date: Mon, 14 Mar 2016 08:42:39 +0100 From: martin rudalics MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <56E55826.9010802@gmx.at> <8360wqfhqu.fsf@gnu.org> <56E5C8F6.2000909@gmx.at> <83fuvudsrf.fsf@gnu.org> In-Reply-To: <83fuvudsrf.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:zjbA6e29PTsZFtUhkFEIqdmUKg3jU9D9Dg6d2uPydWy03rsasFG Wr2bPQC4d23pju5TQUha8uZIc4obXLa9m51URQyWZmCDQ7bhRXsUI8tG+3jR13Jj6tHcpkG 2eAMb9C5lW6zktB+uqmOerOkpb2xQKMFA/Z1JgD4Xw8LCV5xTte6Qv2PqfpiDF8RcdRp6ox 88TgW7aJzICTu4J0T0JZA== X-UI-Out-Filterresults: notjunk:1;V01:K0:xzvVTmSmJ70=:LVRCSBCTjJQpZRLrlP3Lk8 VjnMd/5uF+Cp6QXWiqQXsy1aNwIDTRHqIPl9yADhaRUrBMzrSJWJzQvvbU0oTeAhvtQKaNDk0 jhcZPS2mxWUKuXAELS4cEAeh2kjYhyU/LRKnYLwsmn54K0FmY774kUeuwbaB5fEN/uzFNmbGq nZB/sunPR+4uLNYH1TyThpBNbRG7GZBnZ8i7eIVtt/qS2ngd6Cmz7Ce/6loJTr7mdMThC5gUu sPT0v6qCqwxykXQFg3/LdO7l8LDFK9fbHkKkfAGrnJpQKw5VEGT0DB9SIhtxXphkX4odJVBnR FO3oIIOewWwfrGQ8f0vMC5nIRl+NyB4mSMRIPqWI71r2T0Wb7HWWdsn0mKTypUsmCOX+4tE5z GsdhMCY8V79ebXsz8J99voFBE5/WCtwDawQPtxbY+vXBV4Kf46zqy/Jwr5DaFHouRM7IeoBd1 JgKt3X/V31HPAqmKdBOI88Cr8XguaAzYSt6IlqHnIGUKkdLvRpL5Hj73462jSm+g5d+EvkAo8 +wrAdRQLOms1fncIwfOjBD2mZu56A2pGl5AQ0TIwYGlG70ckAGMUYUdPSk8xCgVk+r9iRkc2V 84CoaEo2mWahG/d/opxPQsq1wNBz6IkfTDvWSFu6TaBb53rIa1G5xawAWIMYR62Jjbzvfh14E yzqPg3aJNzt6bT7w21VMyPytPMwnTAmZGVV4+MJ6D/Brkd13cgUS3/qBf5SrZrCQC1XtEEyzb NDPZzw4KxH5pIuKdC8w6I94ne7ZRVraJIMj1caUpnLyIi2AIdf0ahwkcn8fZzMuOXlDr10RI0 rbmIRpvxtgNWMW4pYGVOVFKD8bEtw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > But the return value might need to be something specific to steer the > rest of execution where we want it. For example, grow_mini_window > does this: > > if (delta > 0) > { > root = FRAME_ROOT_WINDOW (f); > r = XWINDOW (root); > height = call3 (Qwindow_resize_root_window_vertically, > root, make_number (- delta), pixelwise ? Qt : Qnil); > if (INTEGERP (height) && window_resize_check (r, false)) > { > block_input (); > window_resize_apply (r, false); > > which means we need the placeholder return nil to do what we want. If > it returns something else, who knows what will happen next? If it doesn't return an integer, this check if (INTEGERP (height) && window_resize_check (r, false)) will fail and nothing will happen. > IOW, we need to study the actual calls to know what to do in the > placeholders. The same examination could tell us how to avoid the > calls to those functions altogether. E.g., binding > resize-mini-windows to nil around the code that runs loadup.el would > prevent the call to grow_mini_window in the first place. Maybe that's > better, I didn't yet make up my mind. This would be probably better. Mine was just a proposal to work around the current situation without any definitive fix. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 13:42:01 2016 Received: (at 22975) by debbugs.gnu.org; 14 Mar 2016 17:42:01 +0000 Received: from localhost ([127.0.0.1]:48129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afWVE-0005cp-Qf for submit@debbugs.gnu.org; Mon, 14 Mar 2016 13:42:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37135) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afWVC-0005cd-JY for 22975@debbugs.gnu.org; Mon, 14 Mar 2016 13:41:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afWV4-0001si-5h for 22975@debbugs.gnu.org; Mon, 14 Mar 2016 13:41:53 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35742) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afWV4-0001se-3P; Mon, 14 Mar 2016 13:41:50 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2588 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1afWV1-0003MA-NE; Mon, 14 Mar 2016 13:41:49 -0400 Date: Mon, 14 Mar 2016 19:41:16 +0200 Message-Id: <83pouxc5z7.fsf@gnu.org> From: Eli Zaretskii To: Ken Raeburn In-reply-to: (message from Ken Raeburn on Mon, 14 Mar 2016 03:17:07 -0400) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <837fh6fhs0.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Ken Raeburn > Date: Mon, 14 Mar 2016 03:17:07 -0400 > Cc: Andreas Schwab , > 22975@debbugs.gnu.org > > > It sounds like your terminal emulator is trying its own reordering of > > bidi text. Can you find some setting to disable that? > > I can’t find an option to change it in the Mac terminal emulator. I hope the attached image doesn’t make for headaches in the bug tracker…. Thanks. It does indeed reorder on its own (and doesn't do a very good job at that). So this is unrelated. > If I start a standard X.org xterm from the remote system and run emacs -nw in that window, the Hebrew line looks like it does on the X11 display; Arabic seems to be missing font support. Right. > > Please show a full C backtrace from each one of the calls to Fsignal, > > so we could see what code calls these functions. > > #0 Fsignal (error_symbol=error_symbol@entry=49392, data=12582931) > at ../../src/eval.c:1464 > #1 0x0000000000552fd9 in xsignal (error_symbol=error_symbol@entry=49392, > data=) at ../../src/eval.c:1577 > #2 0x0000000000553007 in xsignal1 (error_symbol=49392, arg=) > at ../../src/eval.c:1592 > #3 0x0000000000552612 in Ffuncall (nargs=49392, nargs@entry=4, args=0x0) > at ../../src/eval.c:2746 > #4 0x0000000000554204 in call3 (fn=fn@entry=50592, arg1=arg1@entry=12481485, > arg2=, arg3=) at ../../src/eval.c:2568 > #5 0x0000000000472717 in grow_mini_window (w=0xbe75b0, delta=, > pixelwise=) at ../../src/window.c:4501 > #6 0x000000000044bd32 in resize_mini_window (w=w@entry=0xbe75b0, > exact_p=exact_p@entry=false) at ../../src/xdisp.c:10985 > #7 0x000000000044bd8e in display_echo_area_1 (a1=12481968, a2=) > at ../../src/xdisp.c:10831 > #8 0x000000000042b8f6 in with_echo_area_buffer (w=w@entry=0xbe75b0, > which=which@entry=0, fn=fn@entry=0x44bd50 , > a1=a1@entry=12481968, a2=a2@entry=0) at ../../src/xdisp.c:10609 > #9 0x000000000044f46b in display_echo_area (w=0xbe75b0) > at ../../src/xdisp.c:10797 > #10 echo_area_display (update_frame_p=update_frame_p@entry=true) > at ../../src/xdisp.c:11298 > #11 0x000000000044f76a in message3_nolog (m=m@entry=12803636) > at ../../src/xdisp.c:10311 > #12 0x000000000044f8b1 in message3 (m=m@entry=12803636) > at ../../src/xdisp.c:10240 > #13 0x000000000054c31c in Fmessage (nargs=, args=) > at ../../src/editfns.c:3686 OK, this is the message call. Please see if the patch below solves this. The other two errors come from the command loop, they are caused by the fact that calling message signaled an error, and that interrupted the rest of loadup.el loading. So Emacs now enters the command loop with most of its support code absent. If the patch below solves the error in calling message, it should also prevent these other 2 errors. diff --git a/lisp/loadup.el b/lisp/loadup.el index bd47bed..21c64a8 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -117,6 +117,10 @@ (load "format") (load "bindings") (load "window") ; Needed here for `replace-buffer-in-windows'. +;; We are now capable of resizing the mini-windows, so give the +;; variable its advertised default value (it starts as nil, see +;; xdisp.c). +(setq resize-mini-windows 'grow-only) (setq load-source-file-function 'load-with-code-conversion) (load "files") diff --git a/src/xdisp.c b/src/xdisp.c index ce992d4..edefe32 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -31598,7 +31598,12 @@ A value of t means resize them to fit the text displayed in them. A value of `grow-only', the default, means let mini-windows grow only; they return to their normal size when the minibuffer is closed, or the echo area becomes empty. */); - Vresize_mini_windows = Qgrow_only; + /* Contrary to the doc string, we initialize this to nil, so that + loading loadup.el won't try to resize windows before loading + window.el, where some functions we need to call for this live. + We assign the 'grow-only' value right after loading window.el + during loadup. */ + Vresize_mini_windows = Qnil; DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist, doc: /* Alist specifying how to blink the cursor off. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 23:33:43 2016 Received: (at 22975) by debbugs.gnu.org; 15 Mar 2016 03:33:43 +0000 Received: from localhost ([127.0.0.1]:48360 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1affjq-0001Xp-St for submit@debbugs.gnu.org; Mon, 14 Mar 2016 23:33:43 -0400 Received: from mail-qg0-f47.google.com ([209.85.192.47]:36203) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1affjp-0001Xc-D1 for 22975@debbugs.gnu.org; Mon, 14 Mar 2016 23:33:41 -0400 Received: by mail-qg0-f47.google.com with SMTP id u110so4240047qge.3 for <22975@debbugs.gnu.org>; Mon, 14 Mar 2016 20:33:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=bDxFHuZhrZTESXEf5QdFWdq9FDpoPabSvDMwDGptG4Y=; b=uD4aeyRSLFpmwoh7E8UuPHFC98ZA00PH5/NZzX0Qnj12KfLjGIDMrnebo7P00K52Rq k85yXcIC+2mAFWPkz/yHhgMZU+s8eWWgJ5lQ2FchfZ8swK8hEwJgemgKmGI5wkYHhRhD IZTyAi7ZFZgBiLG+96L5HvKdMRI4zhfP+hbmiSIgrB6CON/JFpy1hmrFAllg9VnKfcAv MdESdJL95jhnmdIbDNiqdpdAusX9SQi0QNBnWyyErRPjAB0GsNbhBoUZFsJt+xqBxu9Q 3SmK1Zr46XecGMl8UEx+IcQN+ub0m4OI9GR56R/ToRds0FX8wknyzsvQBRuqQAnz325C GZ5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=bDxFHuZhrZTESXEf5QdFWdq9FDpoPabSvDMwDGptG4Y=; b=j9xvYGcPyNxoWb6QDlIOnDhqqn2wXY4ffKT/OtToiNaQDAqWH0vfxQPknDWDaIN6m2 aAY6Ptjtd/CG6zGDy8iWAqv3iCiWEBJK7Ifc18P5GcKJRS+/s4fJ88/w6rY6lBCKBxZ/ CcgyGJGm+guvPMHCfUobGLj9QY08155e5BExHhbDL+vXF2+DPi+QrwqIYSbfwrU7o3JN Qp0kgWFrwspzpNGlAYje03d5ME4hKj7yOPpMpBUIzeeaGmC9QkF0UalXB1GANXk/pwyp Ef4eCMuKangdvVYk1/ZuQFuIgiN8DTXlBwg2H/lH1Z/KQ/8UWNzl/XR7fhTFxssP2XNd kWHA== X-Gm-Message-State: AD7BkJLY/xc/rNMPQP2mb1WtKE8asQeGUfF8nZiOUsjq8+l+Y2Ufpz/P+86dEnY9Xxo5bA== X-Received: by 10.141.23.207 with SMTP id z198mr36886763qhd.52.1458012815663; Mon, 14 Mar 2016 20:33:35 -0700 (PDT) Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net. [66.31.203.101]) by smtp.gmail.com with ESMTPSA id v74sm11869944qkl.36.2016.03.14.20.33.34 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 14 Mar 2016 20:33:34 -0700 (PDT) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: text/plain; charset=utf-8 From: Ken Raeburn In-Reply-To: <83pouxc5z7.fsf@gnu.org> Date: Mon, 14 Mar 2016 23:33:33 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <27ABE4EB-C3A9-46AD-BAB7-D1BBF0E38D08@raeburn.org> References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <837fh6fhs0.fsf@gnu.org> <83pouxc5z7.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3112) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, schwab@linux-m68k.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Mar 14, 2016, at 13:41, Eli Zaretskii wrote: > OK, this is the message call. Please see if the patch below solves > this. >=20 > The other two errors come from the command loop, they are caused by > the fact that calling message signaled an error, and that interrupted > the rest of loadup.el loading. So Emacs now enters the command loop > with most of its support code absent. >=20 > If the patch below solves the error in calling message, it should also > prevent these other 2 errors. Yes, with that patch the emacs-25 branch starts up fine =E2=80=94 X11 = mode and tty mode (including in a way-too-narrow window), normal and = CANNOT_DUMP. Ken= From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 13:49:05 2016 Received: (at 22975-done) by debbugs.gnu.org; 15 Mar 2016 17:49:05 +0000 Received: from localhost ([127.0.0.1]:49336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aft5d-0000TR-BN for submit@debbugs.gnu.org; Tue, 15 Mar 2016 13:49:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42147) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aft5b-0000Sx-Lg for 22975-done@debbugs.gnu.org; Tue, 15 Mar 2016 13:49:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aft5T-0007ki-Hq for 22975-done@debbugs.gnu.org; Tue, 15 Mar 2016 13:48:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39794) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aft5T-0007ke-Ea; Tue, 15 Mar 2016 13:48:55 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3995 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aft5S-00017V-Pi; Tue, 15 Mar 2016 13:48:55 -0400 Date: Tue, 15 Mar 2016 19:48:30 +0200 Message-Id: <83egbbbpjl.fsf@gnu.org> From: Eli Zaretskii To: Ken Raeburn In-reply-to: <27ABE4EB-C3A9-46AD-BAB7-D1BBF0E38D08@raeburn.org> (message from Ken Raeburn on Mon, 14 Mar 2016 23:33:33 -0400) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <8737rwyc07.fsf@linux-m68k.org> <83y49ohgha.fsf@gnu.org> <83d1r0ggmb.fsf@gnu.org> <837fh6fhs0.fsf@gnu.org> <83pouxc5z7.fsf@gnu.org> <27ABE4EB-C3A9-46AD-BAB7-D1BBF0E38D08@raeburn.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975-done Cc: 22975-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Ken Raeburn > Date: Mon, 14 Mar 2016 23:33:33 -0400 > Cc: schwab@linux-m68k.org, > 22975@debbugs.gnu.org > > On Mar 14, 2016, at 13:41, Eli Zaretskii wrote: > > OK, this is the message call. Please see if the patch below solves > > this. > > > > The other two errors come from the command loop, they are caused by > > the fact that calling message signaled an error, and that interrupted > > the rest of loadup.el loading. So Emacs now enters the command loop > > with most of its support code absent. > > > > If the patch below solves the error in calling message, it should also > > prevent these other 2 errors. > > Yes, with that patch the emacs-25 branch starts up fine — X11 mode and tty mode (including in a way-too-narrow window), normal and CANNOT_DUMP. Thanks, pushed. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 14:29:37 2016 Received: (at 22975) by debbugs.gnu.org; 15 Mar 2016 18:29:37 +0000 Received: from localhost ([127.0.0.1]:49364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftir-0001W6-HT for submit@debbugs.gnu.org; Tue, 15 Mar 2016 14:29:37 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:6208) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftip-0001Vt-5m for 22975@debbugs.gnu.org; Tue, 15 Mar 2016 14:29:35 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AfIgA731xV/wr0d0tcgxCEAoVVv05wgk0EAgKBPDwRAQEBAQEBAYEKQQWDXQEBAwFWIwULCzQSFBgNJIg3CM8jAQEBAQEBBAEBAQEeizqFBQeELQWqe4hEgUUjgWaCLiKCeAEBAQ X-IPAS-Result: A0AfIgA731xV/wr0d0tcgxCEAoVVv05wgk0EAgKBPDwRAQEBAQEBAYEKQQWDXQEBAwFWIwULCzQSFBgNJIg3CM8jAQEBAQEBBAEBAQEeizqFBQeELQWqe4hEgUUjgWaCLiKCeAEBAQ X-IronPort-AV: E=Sophos;i="5.13,465,1427774400"; d="scan'208";a="196293134" Received: from 75-119-244-10.dsl.teksavvy.com (HELO pastel.home) ([75.119.244.10]) by ironport2-out.teksavvy.com with ESMTP; 15 Mar 2016 14:29:29 -0400 Received: by pastel.home (Postfix, from userid 20848) id 6791564059; Tue, 15 Mar 2016 14:29:29 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Message-ID: References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> Date: Tue, 15 Mar 2016 14:29:29 -0400 In-Reply-To: <83bn6kiypm.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 11 Mar 2016 21:47:17 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, Ken Raeburn X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > OK, I see. So now it's crystal clear that bidi-display-reordering > should be bound to nil until loadup finishes, otherwise we are > playing with fire. Actually, I think this problem goes much further. Maybe we're lucky right now and we don't hit any other such cases, but we just shouldn't try to do any "terminal" output until loadup is loaded. IOW, we should work hard to minimize the difference between what happens in the CANNOT_DUMP case and in the normal case. More specifically I think that the "temacs -nw" case should start with a dummy terminal and only switch to the termcap terminal after loadup is loaded. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 14:44:41 2016 Received: (at 22975) by debbugs.gnu.org; 15 Mar 2016 18:44:41 +0000 Received: from localhost ([127.0.0.1]:49368 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftxQ-0001s9-Sv for submit@debbugs.gnu.org; Tue, 15 Mar 2016 14:44:41 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55545) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftxP-0001rv-8B for 22975@debbugs.gnu.org; Tue, 15 Mar 2016 14:44:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aftxF-0004sL-Vt for 22975@debbugs.gnu.org; Tue, 15 Mar 2016 14:44:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40675) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aftxF-0004sH-T5; Tue, 15 Mar 2016 14:44:29 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4150 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aftxF-0000vq-05; Tue, 15 Mar 2016 14:44:29 -0400 Date: Tue, 15 Mar 2016 20:44:04 +0200 Message-Id: <838u1jbmyz.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-reply-to: (message from Stefan Monnier on Tue, 15 Mar 2016 14:29:29 -0400) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Stefan Monnier > Cc: Ken Raeburn , 22975@debbugs.gnu.org > Date: Tue, 15 Mar 2016 14:29:29 -0400 > > Actually, I think this problem goes much further. Maybe we're lucky > right now and we don't hit any other such cases, but we just shouldn't > try to do any "terminal" output until loadup is loaded. Can you elaborate? Which other problems do you envision? The display routines are all set, the only problem is with code in Lisp, or with tables used by C that are set up by loading some Lisp. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 15:31:35 2016 Received: (at 22975) by debbugs.gnu.org; 15 Mar 2016 19:31:36 +0000 Received: from localhost ([127.0.0.1]:49396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afugp-00033v-Kb for submit@debbugs.gnu.org; Tue, 15 Mar 2016 15:31:35 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:55997) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afugn-00033m-M1 for 22975@debbugs.gnu.org; Tue, 15 Mar 2016 15:31:34 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id u2FJVujY008988; Tue, 15 Mar 2016 15:31:57 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 39C02AE321; Tue, 15 Mar 2016 15:31:30 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode Message-ID: References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <838u1jbmyz.fsf@gnu.org> Date: Tue, 15 Mar 2016 15:31:30 -0400 In-Reply-To: <838u1jbmyz.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 15 Mar 2016 20:44:04 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5611=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5611> : inlines <4507> : streams <1603456> : uri <2166638> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) >> Actually, I think this problem goes much further. Maybe we're lucky >> right now and we don't hit any other such cases, but we just shouldn't >> try to do any "terminal" output until loadup is loaded. > Can you elaborate? Which other problems do you envision? None in particular. I just think it would be safer. Most of Emacs's code is written under the assumption that all of loadup.el is already loaded, so we should run as little code as possible during loadup.el itself. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 15:48:37 2016 Received: (at 22975) by debbugs.gnu.org; 15 Mar 2016 19:48:38 +0000 Received: from localhost ([127.0.0.1]:49422 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afuxJ-0003U2-ME for submit@debbugs.gnu.org; Tue, 15 Mar 2016 15:48:37 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43590) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afuxH-0003Tm-RF for 22975@debbugs.gnu.org; Tue, 15 Mar 2016 15:48:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afux9-0003je-6W for 22975@debbugs.gnu.org; Tue, 15 Mar 2016 15:48:30 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41746) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afux9-0003ja-30; Tue, 15 Mar 2016 15:48:27 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4212 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1afux8-0001mZ-9q; Tue, 15 Mar 2016 15:48:26 -0400 Date: Tue, 15 Mar 2016 21:48:02 +0200 Message-Id: <834mc7bk0d.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-reply-to: (message from Stefan Monnier on Tue, 15 Mar 2016 15:31:30 -0400) Subject: Re: bug#22975: 25.0.92; CANNOT_DUMP build can't start in tty mode References: <4FF36A52-32D5-4AF3-A36E-621A57519C4F@raeburn.org> <83h9gen6yp.fsf@gnu.org> <83egbin5n9.fsf@gnu.org> <6D1E5FE8-518D-4433-8C11-7AF1C9D932ED@raeburn.org> <83oaaljdbb.fsf@gnu.org> <2AB9AB18-952B-4597-AB89-63D8F68D0434@raeburn.org> <83bn6kiypm.fsf@gnu.org> <838u1jbmyz.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22975 Cc: 22975@debbugs.gnu.org, raeburn@raeburn.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Stefan Monnier > Cc: raeburn@raeburn.org, 22975@debbugs.gnu.org > Date: Tue, 15 Mar 2016 15:31:30 -0400 > > Most of Emacs's code is written under the assumption that all of > loadup.el is already loaded, so we should run as little code as possible > during loadup.el itself. We do. What runs then is 'load', which announces the loaded files, and that's all. From unknown Sun Jun 22 04:22:14 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 13 Apr 2016 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator