From debbugs-submit-bounces@debbugs.gnu.org Thu May 30 05:52:25 2024 Received: (at submit) by debbugs.gnu.org; 30 May 2024 09:52:25 +0000 Received: from localhost ([127.0.0.1]:55348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCcSM-0002U1-Ru for submit@debbugs.gnu.org; Thu, 30 May 2024 05:52:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:34464) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCcS6-0002Sz-2O for submit@debbugs.gnu.org; Thu, 30 May 2024 05:52:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sCcRv-00068l-7M for bug-gnu-emacs@gnu.org; Thu, 30 May 2024 05:51:55 -0400 Received: from mail-vk1-xa35.google.com ([2607:f8b0:4864:20::a35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sCcRr-0001vV-Du for bug-gnu-emacs@gnu.org; Thu, 30 May 2024 05:51:54 -0400 Received: by mail-vk1-xa35.google.com with SMTP id 71dfb90a1353d-4e18a9a6658so255662e0c.1 for ; Thu, 30 May 2024 02:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717062710; x=1717667510; darn=gnu.org; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4fOBdc0hhOl3q4LmJf3VbNzGA50Cn16n2yVjmzLVV9A=; b=WtZMeIBuvJ5nb+XToVKWPirOIJC8zwpzuY7qG61m3+CSAAfLIUS3krQkMgRFMY6XDs x1X04y2GEHeHDh1IfN+p4XdV7EFUOSJ/58qIDsjMDS83XzcUXp6kNBM6j1SLDSp0akQc IDDKL8TFRW7K74E1kuE/DTJDEIZfAOWlxgAo64095FD+3fziLvssNqTV0qcuQ+/sce7k m7vFN+kdy/y0qxinGmMzSaS/4FlbCH9e/szGaDJN4ZyF4kQRinka3iC1x/S/hyYZlA8i /2+Hjv9pctTU2gdO7i/DMsou38vlBeSP+QJkU4II14dqilWAZWBKmJ9XP5gDkpLTSnIJ fwDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717062710; x=1717667510; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4fOBdc0hhOl3q4LmJf3VbNzGA50Cn16n2yVjmzLVV9A=; b=mAImoEQtemJMlskEqfBZfsQf9gH3cL45JxipYsbgi9zS9yPGsNu/foUiXnImYAvlYX RrVSBYXdSznC8xj+7DZ1+FX7Km3LCLq+CMJjnreRBg2zAOq2h7QPdq55W8w0o9q+895D 2Dlh/PDphxziZQ37GCs1UtZrzEwUh4Z3AfZTBzfWW5hNRf6aRjimP9YvGO7Kv+UkKDAB 2Mp5H7TWmXgeqtdMCZQpSL0Y4uDpa87J1VI5V8Liwgi0wfgVZYD6Od+MVseG73X06Jo5 H+9anOrIAdeCd06CkvyV0jEYXSAJfTlODPcYkMCDbeQBq1Y8q32l23eOoL7JFGCEnEmZ ulSQ== X-Gm-Message-State: AOJu0YxK9v4zcPlG8FXDW4ajRhwan7eUASCURVN627odbytQXhqbIdhY u9hiTZidtzpL00j+mlpz+4+2MN51o2Ih4tTclTf6F3GV99ZS3LWKa2RIXuFRTkpcW4ahfck3UZD 1isVDdeGU/GqmAHXs/319Ttmh+qrGQLt9 X-Google-Smtp-Source: AGHT+IGlmKXmLkZfQcBtQVphf0kaxdUBJhC2oUrLtmeP/fQ3GNtzo9kDLT/ksNsI5fEeUzEQc6+DuCktXNbZeTZTi1M= X-Received: by 2002:a05:6122:4593:b0:4d4:b89:bd2a with SMTP id 71dfb90a1353d-4eaf2163ef8mr1800139e0c.3.1717062709626; Thu, 30 May 2024 02:51:49 -0700 (PDT) MIME-Version: 1.0 From: Daniel Clemente Date: Thu, 30 May 2024 09:51:20 +0000 Message-ID: Subject: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::a35; envelope-from=n142857@gmail.com; helo=mail-vk1-xa35.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I have --enable-checking=yes,glyphs enabled, and am using emacsclient without X support but inside a urxvt terminal in X. Built with no extra patches. Running in gdb. I was editing Python code when this error happened. Last things I did were: M-space to remove extra spaces, and by mistake I hit S-space which enabled scim (input method chooser, a small widget appear [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (n142857[at]gmail.com) 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (n142857[at]gmail.com) 0.0 T_SPF_HELO_TEMPERROR SPF: test of HELO record failed (temperror) 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.1 (--) I have --enable-checking=3Dyes,glyphs enabled, and am using emacsclient without X support but inside a urxvt terminal in X. Built with no extra patches. Running in gdb. I was editing Python code when this error happened. Last things I did were: M-space to remove extra spaces, and by mistake I hit S-space which enabled scim (input method chooser, a small widget appearing on top and stealing window-manager focus), then I disabled it again. This information may be bogus since these operations work fine when I retest them. I wasn't doing anything weird like stress-testing it, resizing windows, changing fonts/resolution, =E2=80=A6 I don't know how to reproduce this yet. Feel free to close if it doesn't clearly show a possible bug. I didn't have time to research the crash more in detail; and I forgot "bt full". I'll do it if I can reproduce it. Note that the window is called "Folder". I'm certain it refers to Wanderlust's (Emacs mail reader) main view which shows the mailboxes (inbox, drafts, etc.), which I had open at that time in a different frame (not visible, i.e. it was in a different window manager workspace and I wasn't working with it). I don't know why it relates to the crash; maybe I switched to that frame for a bit without noticing? Proof that Wanderlust's window is called Folder: (get-buffer-window) returns something like: # [Detaching after vfork from child process 23040] [Detaching after vfork from child process 23097] [Detaching after vfork from child process 24446] [Detaching after vfork from child process 24447] [Detaching after vfork from child process 24454] [Detaching after vfork from child process 24455] xdisp.c:21783: Emacs fatal error: assertion failed: w->window_end_valid Breakpoint 1, terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147483647) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147483647) at emac= s.c:443 #1 0x00005555557350bb in die (msg=3D0x5555558527c0 "w->window_end_valid", file=3D0x555555850b08 "xdisp.c", line=3D21783) at alloc.c:8082 #2 0x00005555555dcd5f in find_first_unchanged_at_end_row (w=3D0x5555622c4f= 68, delta=3D0x7fffffff7b18, delta_bytes=3D0x7fffffff7b10) at xdisp.c:21783 #3 0x00005555555de527 in try_window_id (w=3D0x5555622c4f68) at xdisp.c:223= 47 #4 0x00005555555d93ad in redisplay_window (window=3DXIL(0x5555622c4f6d), just_this_one_p=3Dfalse) at xdisp.c:20438 #5 0x00005555555d0991 in redisplay_window_0 (window=3DXIL(0x5555622c4f6d)) at xdisp.c:18016 #6 0x000055555576c7b0 in internal_condition_case_1 (bfun=3D0x5555555d094f , arg=3DXIL(0x5555622c4f6d), handlers=3DXIL(0x7ffff1f56cdb), hfun=3D0x5555555d082d ) at eval.c:1637 #7 0x00005555555d0803 in redisplay_windows (window=3DXIL(0x5555622c4f6d)) at xdisp.c:17985 #8 0x00005555555cf382 in redisplay_internal () at xdisp.c:17384 #9 0x00005555555cfed6 in redisplay_preserve_echo_area (from_where=3D9) at xdisp.c:17747 #10 0x00005555557ed8a7 in wait_reading_process_output (time_limit=3D30, nsecs=3D0, read_kbd=3D-1, do_display=3Dtrue, wait_for_cell=3DXIL(0), wait_proc=3D0x0, just_wait_proc=3D0) at process.c:5434 #11 0x0000555555594eb9 in sit_for (timeout=3Dmake_fixnum(30), reading=3Dtrue, display_option=3D1) at dispnew.c:6318 #12 0x0000555555695250 in read_char (commandflag=3D1, map=3DXIL(0x555564f84233), prev_event=3DXIL(0), used_mouse_menu=3D0x7fffffffd6df, end_time=3D0x0) at keyboard.c:2923 #13 0x00005555556a67ff in read_key_sequence (keybuf=3D0x7fffffffd8f0, prompt=3DXIL(0), dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, fix_current_buffer=3Dtrue, prevent_redisplay=3Dfalse, disable_text_conversion_p=3Dfalse) at keyboard.c:10728 #14 0x0000555555690ee7 in command_loop_1 () at keyboard.c:1429 #15 0x000055555576c6cf in internal_condition_case (bfun=3D0x555555690ab8 , handlers=3DXIL(0x90), hfun=3D0x55555568ff63 ) at eval.c:1613 #16 0x0000555555690696 in command_loop_2 (handlers=3DXIL(0x90)) at keyboard= .c:1168 #17 0x000055555576bafc in internal_catch (tag=3DXIL(0xfc60), func=3D0x55555569066c , arg=3DXIL(0x90)) at eval.c:1292 #18 0x0000555555690628 in command_loop () at keyboard.c:1146 #19 0x000055555568fa05 in recursive_edit_1 () at keyboard.c:754 #20 0x000055555568fc31 in Frecursive_edit () at keyboard.c:837 #21 0x000055555568b698 in main (argc=3D2, argv=3D0x7fffffffdf18) at emacs.c= :2621 Lisp Backtrace: "redisplay_internal (C function)" (0x0) (gdb) (gdb) frame 4 #4 0x00005555555d93ad in redisplay_window (window=3DXIL(0x5555622c4f6d), just_this_one_p=3Dfalse) at xdisp.c:20438 20438 else if ((tem =3D try_window_id (w)) !=3D 0) (gdb) pp window # (other random debugging done here) (gdb) cont Continuing. Fatal error 6: Aborted Backtrace: /opt/dc/emacs/bin/emacs(+0x1691ad)[0x5555556bd1ad] /opt/dc/emacs/bin/emacs(+0x1344a8)[0x5555556884a8] /opt/dc/emacs/bin/emacs(+0x1e10bb)[0x5555557350bb] /opt/dc/emacs/bin/emacs(+0x88d5f)[0x5555555dcd5f] /opt/dc/emacs/bin/emacs(+0x8a527)[0x5555555de527] /opt/dc/emacs/bin/emacs(+0x853ad)[0x5555555d93ad] /opt/dc/emacs/bin/emacs(+0x7c991)[0x5555555d0991] /opt/dc/emacs/bin/emacs(+0x2187b0)[0x55555576c7b0] /opt/dc/emacs/bin/emacs(+0x7c803)[0x5555555d0803] /opt/dc/emacs/bin/emacs(+0x7b382)[0x5555555cf382] /opt/dc/emacs/bin/emacs(+0x7bed6)[0x5555555cfed6] /opt/dc/emacs/bin/emacs(+0x2998a7)[0x5555557ed8a7] /opt/dc/emacs/bin/emacs(+0x40eb9)[0x555555594eb9] /opt/dc/emacs/bin/emacs(+0x141250)[0x555555695250] /opt/dc/emacs/bin/emacs(+0x1527ff)[0x5555556a67ff] /opt/dc/emacs/bin/emacs(+0x13cee7)[0x555555690ee7] /opt/dc/emacs/bin/emacs(+0x2186cf)[0x55555576c6cf] /opt/dc/emacs/bin/emacs(+0x13c696)[0x555555690696] /opt/dc/emacs/bin/emacs(+0x217afc)[0x55555576bafc] /opt/dc/emacs/bin/emacs(+0x13c628)[0x555555690628] /opt/dc/emacs/bin/emacs(+0x13ba05)[0x55555568fa05] /opt/dc/emacs/bin/emacs(+0x13bc31)[0x55555568fc31] /opt/dc/emacs/bin/emacs(+0x137698)[0x55555568b698] /lib/x86_64-linux-gnu/libc.so.6(+0x2724a)[0x7ffff544624a] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85)[0x7ffff5446305] /opt/dc/emacs/bin/emacs(+0x30831)[0x555555584831] Program received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=3D, signo=3Dsigno@en= try=3D6, no_tid=3Dno_tid@entry=3D0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu) of 2024-05-29 built on = sonn Repository revision: d9512da49514623ef3e35524dc894c06f2c0ce20 Repository branch: master System Description: Devuan GNU/Linux 5 (daedalus) Configured using: 'configure --prefix=3D/opt/dc/emacs/ --without-dbus --with-tiff=3Dno --wit= hout-tiff --without-libsystemd --without-dbus --with-mailutils --with-native-compilation --with-x-toolkit=3Dno --without-imagemagick --without-xft --without-harfbuzz --without-freetype --without-libotf --without-xwidgets --without-xpm --without-jpeg --without-gif --without-png --without-webp --without-rsvg --without-cairo --without-x --enable-checking=3Dyes,glyphs 'CFLAGS=3D-g3 -O0'' Configured features: GMP GNUTLS LCMS2 LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER SECCOMP SOUND SQLITE3 THREADS XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3DSCIM locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: xterm-mouse-mode: t erc-track-mode: t erc-services-mode: t erc-ring-mode: t erc-netsplit-mode: t erc-menu-mode: t erc-match-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-readonly-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-autojoin-mode: t erc-networks-mode: t savehist-mode: t recentf-mode: t hexl-follow-ascii: t helm-mode: t helm-minibuffer-history-mode: t async-bytecomp-package-mode: t global-git-commit-mode: t server-mode: t jdecomp-mode: t projectile-mode: t global-semantic-decoration-mode: t global-semanticdb-minor-mode: t global-semantic-show-unmatched-syntax-mode: -1 semantic-mode: t rcirc-track-minor-mode: t jabber-activity-mode: t yas-global-mode: t yas-minor-mode: t unpackaged/org-export-html-with-useful-ids-mode: t org-superstar-mode: t minibuffer-depth-indicate-mode: t global-so-long-mode: t display-time-mode: t global-hl-line-mode: t xclip-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /w/helm/helm-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-file= s /w/helm/helm-comint hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-com= int /w/helm/helm-elisp-package hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp-package /w/helm/helm-external hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-external /w/helm/helm-easymenu hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-easymenu /w/helm/helm-font hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-font /w/helm/helm-imenu hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-imen= u /w/helm/helm-x-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-x-= files /w/helm/helm-regexp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-reg= exp /w/helm/helm-net hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-net /w/helm/helm-ring hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-ring /w/helm/helm-find hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-find /w/helm/helm-misc hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-misc /w/helm/helm-occur hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-occu= r /w/helm/helm-sys hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-sys /w/helm/helm-types hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-type= s /w/helm/helm-elisp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-elis= p /w/helm/helm-adaptive hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-adaptive /w/helm/helm-shell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-shel= l /w/helm/helm-id-utils hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-id-utils /w/helm/helm-bookmark hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-bookmark /w/helm/helm-mode hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-mode /w/helm/helm-eshell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-esh= ell /w/helm/helm-dabbrev hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-da= bbrev /w/helm/helm-grep hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-grep /w/helm/helm-color hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-colo= r /w/helm/helm-help hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-help /w/helm/helm-buffers hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-bu= ffers /w/helm/helm-locate hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-loc= ate /w/helm/helm-tags hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-tags /w/helm/helm-autoloads hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-autoloads /w/helm/helm-info hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-info /w/helm/helm-semantic hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-semantic /w/helm/helm-config hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-con= fig /w/helm/helm-command hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-co= mmand /w/helm/helm-utils hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-util= s /w/helm/helm-eval hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-eval /w/helm/helm-for-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-for-files /w/helm/helm-man hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-man /w/helm/helm-multi-match hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-multi-match /w/helm/helm-lib hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-= lib /w/helm/helm-source hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-source /w/helm/helm hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm /home/dc/.emacs.d/elpa/transient-20220717.1713/transient hides /opt/dc/emacs/share/emacs/30.0.50/lisp/transient /w/org-mode/lisp/org-fold-core hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold-core /w/org-mode/lisp/ob-haskell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-haskell /w/org-mode/lisp/org-plot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-plot /w/org-mode/lisp/ox-icalendar hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-icalendar /w/org-mode/lisp/org-footnote hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-footnote /w/org-mode/lisp/org-archive hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-archive /w/org-mode/lisp/ob-exp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -exp /w/org-mode/lisp/ob-octave hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-octave /w/org-mode/lisp/oc-natbib hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-natbib /w/org-mode/lisp/org-num hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-num /w/org-mode/lisp/ob-processing hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-processing /w/org-mode/lisp/org-mouse hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mouse /w/org-mode/lisp/ob-core hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-core /w/org-mode/lisp/ob-awk hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -awk /w/org-mode/lisp/org-table hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-table /w/org-mode/lisp/org-lint hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-lint /w/org-mode/lisp/oc-basic hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-basic /w/org-mode/lisp/ob-scheme hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-scheme /w/org-mode/lisp/ox-latex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-latex /w/org-mode/lisp/org-loaddefs hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-loaddefs /w/org-mode/lisp/ob-table hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-table /w/org-mode/lisp/ob-shell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-shell /w/org-mode/lisp/org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org /w/org-mode/lisp/ol-man hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol= -man /w/org-mode/lisp/ol-rmail hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-rmail /w/org-mode/lisp/ox-man hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox= -man /w/org-mode/lisp/org-cycle hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-cycle /w/org-mode/lisp/org-datetree hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-datetree /w/org-mode/lisp/ol-mhe hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol= -mhe /w/org-mode/lisp/ob-css hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -css /w/org-mode/lisp/org-fold hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold /w/org-mode/lisp/ob-lilypond hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lilypond /w/org-mode/lisp/ob-comint hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-comint /w/org-mode/lisp/ob-plantuml hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-plantuml /w/org-mode/lisp/ol-bbdb hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bbdb /w/org-mode/lisp/ox-ascii hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-ascii /w/org-mode/lisp/ob-python hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-python /w/org-mode/lisp/ob-ref hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -ref /w/org-mode/lisp/ob-js hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-= js /w/org-mode/lisp/ox-md hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-= md /w/org-mode/lisp/oc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc /w/org-mode/lisp/org-keys hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-keys /w/org-mode/lisp/org-feed hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-feed /w/org-mode/lisp/org-capture hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-capture /w/org-mode/lisp/org-ctags hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-ctags /w/org-mode/lisp/ob-lob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -lob /w/org-mode/lisp/ob-forth hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-forth /w/org-mode/lisp/ob-clojure hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-clojure /w/org-mode/lisp/ob-sass hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sass /w/org-mode/lisp/ol-eshell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eshell /w/org-mode/lisp/org-timer hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-timer /w/org-mode/lisp/ob-R hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-R /w/org-mode/lisp/org-src hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-src /w/org-mode/lisp/ox-koma-letter hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-koma-letter /w/org-mode/lisp/ob-tangle hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-tangle /w/org-mode/lisp/ob-matlab hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-matlab /w/org-mode/lisp/org-macro hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macro /w/org-mode/lisp/ob-makefile hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-makefile /w/org-mode/lisp/ox-texinfo hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-texinfo /w/org-mode/lisp/ob-org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -org /w/org-mode/lisp/ol-docview hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-docview /w/org-mode/lisp/org-list hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-list /w/org-mode/lisp/ob-eval hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eval /w/org-mode/lisp/org-element hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-element /w/org-mode/lisp/ob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob /w/org-mode/lisp/ob-sqlite hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sqlite /w/org-mode/lisp/org-clock hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-clock /w/org-mode/lisp/org-compat hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-compat /w/org-mode/lisp/org-mobile hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mobile /w/org-mode/lisp/ol hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol /w/org-mode/lisp/ob-groovy hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-groovy /w/org-mode/lisp/org-goto hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-goto /w/org-mode/lisp/ob-emacs-lisp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-emacs-lisp /w/org-mode/lisp/ol-eww hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol= -eww /w/org-mode/lisp/org-tempo hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-tempo /w/org-mode/lisp/oc-csl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc= -csl /w/org-mode/lisp/ob-ruby hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ruby /w/org-mode/lisp/org-crypt hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-crypt /w/org-mode/lisp/ol-irc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol= -irc /w/org-mode/lisp/org-faces hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-faces /w/org-mode/lisp/ob-latex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-latex /w/org-mode/lisp/org-colview hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-colview /w/org-mode/lisp/ol-bibtex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bibtex /w/org-mode/lisp/ob-lua hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -lua /w/org-mode/lisp/org-protocol hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-protocol /w/org-mode/lisp/org-attach-git hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach-git /w/org-mode/lisp/ob-screen hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-screen /w/org-mode/lisp/org-agenda hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-agenda /w/org-mode/lisp/org-persist hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-persist /w/org-mode/lisp/ob-sql hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -sql /w/org-mode/lisp/ob-gnuplot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-gnuplot /w/org-mode/lisp/ob-sed hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -sed /w/org-mode/lisp/ol-gnus hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-gnus /w/org-mode/lisp/org-inlinetask hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-inlinetask /w/org-mode/lisp/ox-html hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-html /w/org-mode/lisp/oc-biblatex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-biblatex /w/org-mode/lisp/org-pcomplete hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-pcomplete /w/org-mode/lisp/ob-perl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-perl /w/org-mode/lisp/org-version hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-version /w/org-mode/lisp/org-indent hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-indent /w/org-mode/lisp/org-refile hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-refile /w/org-mode/lisp/ob-julia hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-julia /w/org-mode/lisp/ol-info hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-info /w/org-mode/lisp/ol-doi hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol= -doi /w/org-mode/lisp/org-habit hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-habit /w/org-mode/lisp/org-entities hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-entities /w/org-mode/lisp/ox-publish hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-publish /w/org-mode/lisp/org-duration hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-duration /w/org-mode/lisp/ob-ditaa hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ditaa /w/org-mode/lisp/ob-dot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob= -dot /w/org-mode/lisp/ob-C hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-C /w/org-mode/lisp/ox-org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox= -org /w/org-mode/lisp/ox-beamer hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-beamer /w/org-mode/lisp/ob-fortran hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-fortran /w/org-mode/lisp/ob-maxima hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-maxima /w/org-mode/lisp/ob-eshell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eshell /w/org-mode/lisp/ol-w3m hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol= -w3m /w/org-mode/lisp/org-id hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/or= g-id /w/org-mode/lisp/ox-odt hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox= -odt /w/org-mode/lisp/ob-java hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-java /w/org-mode/lisp/ob-calc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-calc /w/org-mode/lisp/org-attach hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach /w/org-mode/lisp/ob-ocaml hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ocaml /w/org-mode/lisp/oc-bibtex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-bibtex /w/org-mode/lisp/ox hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox /w/org-mode/lisp/ob-lisp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lisp /w/org-mode/lisp/org-macs hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macs /w/flim/sasl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/net/sasl /home/dc/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides /opt/dc/emacs/share/emacs/30.0.50/lisp/emacs-lisp/hierarchy Features: (shadow emacsbug vc-mtn shortdoc cl-print helm-dabbrev helm-git-grep solar cal-dst mule-util misearch multi-isearch elmo-multi elmo-maildir modb-standard org-duration cal-iso vc-hg ffap oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi face-remap help-fns radix-tree vc-git vc-dispatcher semantic/db-file data-debug cedet-files semantic/wisent/pytho= n semantic/decorate/include semantic/db-find semantic/db-ref semantic/wisent/python-wy eglot external-completion jsonrpc xref flymake winner tramp-archive tramp-gvfs dired-aux xterm-keybinder xt-mouse term/rxvt term/xterm xterm hideshow ox-texinfo erc-track erc-services erc-ring erc-netsplit erc-menu erc-match erc-goodies erc-pcomplete erc-button erc-fill erc-stamp erc-join erc erc-backend erc-networks erc-common erc-compat erc-loaddefs quail rot13 git-link nukneval bustrofedon dired-filetype-face dired-tar gnus-dired dired-x mime-w3m w3m-lnum w3m w3m-hist bookmark-w3m w3m-ems w3m-favicon w3m-image w3m-fb tab-line w3m-proc w3m-util savehist tramp-cache time-stamp tramp-sh recentf tree-widget em-term term ehelp esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-groups esh-util zone-select zone org-location-google-maps google-maps google-maps-static google-maps-geocode google-maps-base beancount binview calc calc-loaddefs calc-macs hexl taskjuggler-mode generic generic-x boxquote rect rainbow-delimiters rainbow-mode htmlize-hack htmlize log4j-mode oddmuse skeleton doc-view jka-compr fc flashcard-sm5 flashcard keywiz gamegrid tt-mode helm-mode helm-misc helm-for-files helm-bookmark helm-adaptive magit-bookmark bookmark fringe helm-external helm-sys helm-net helm-man helm-color helm-elisp helm-files image-dired image-dired-tags image-dired-external image-dired-util image-mode exif tramp trampver tramp-integration files-x tramp-message tramp-compat tramp-loaddefs helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-info helm-utils helm-types helm-eval edebug helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async helm-config helm-autoloads diary-lib diary-loaddefs magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode track-changes git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-base magit-section dash chuck-mode minizinc-mode jdecomp arc-mode archive-mode cus-edit cus-load projectile lisp-mnt ibuf-ext semantic/dep srecode/mode semantic/senator semantic/wisent semantic/wisent/wisent srecode/insert srecode/filters srecode/args ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar dframe eieio-custom srecode/find srecode/map srecode/ctxt srecode/compile srecode/dictionary srecode/fields srecode/table semantic/decorate/mode semantic/decorate pulse srecode semantic/db-mode semantic/idle semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/db eieio-base semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet rcirc offlineimap sasl-xoauth2 oauth2 url-http url-auth url-gw nsm plstore crm wl-template wl-fldmgr wl-score wl-demo wl-thread wl-action wl wl-draft wl-folder elmo-nntp elmo-net elmo-cache elmo-map elmo-dop ps-print ps-print-loaddefs lpr elmo-filter wl-summary wl-refile wl-message wl-mime mime-play filename mime-edit mime-setup mail-mime-setup semi-setup smtp wl-e21 wl-highlight invisible inv-23 elmo-mime mmelmo-buffer mmelmo-imap mmimap mmbuffer mime-view mime-conf calist semi-def wl-address pldap wl-util wl-vars wl-version modb-generic elmo-flag elmo-localdir elmo elmo-signal elmo-msgdb modb modb-entity elmo-date eword-encode mime-parse mime mmgeneric elmo-util eword-decode mel mime-def alist pces pces-e20 pces-20 mcs-e20 mcs-20 mcharset timezone elmo-vars path-util elmo-version luna std11 pccl pccl-20 ccl broken static apel-ver product jabber jabber-truncate jabber-time jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard jabber-avatar jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse jabber-search jabber-register jabber-roster jabber-presence jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console sgml-mode facemenu jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls jabber-xml jabber-menu jabber-util goto-addr hexrgb markdown-mode color thingatpt yasnippet org-contacts gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range message sendmail yank-media puny dired dnd dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader mail-utils range mm-util mail-prsvr gnus-util org-crypt ob-sqlite ob-sql ob-shell shell ob-ruby ob-python python project compat ob-plantuml ob-perl ob-lilypond ob-js ob-haskell ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox ob-dot ob-ditaa ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-R org-attach org-protocol iimage org-clock calfw-gcal calfw-org org-capture org-agenda calfw edmacro kmacro holidays holiday-loaddefs cal-move org-inlinetask org-superstar org-element org-persist xdg avl-tree generator org-test ert-x ert pp ewoc debug backtrace org-id org-refile org-element-ast inline org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs format-spec ibuf-macs ibuffer ibuffer-loaddefs mb-depth comp comp-cstr warnings comp-run comp-common rx advice mwheel easy-mmode so-long longlines grep compile text-property-search comint regexp-opt ansi-osc ansi-color ring revbufs derived disp-table hide-mode-line time image hl-line color-theme wid-edit reporter xclip finder-inf elp boxquote-autoloads calfw-autoloads calfw-gcal-autoloads calfw-ical-autoloads calfw-org-autoloads csv-mode-autoloads debbugs-autoloads emacsql-psql-autoloads emacsql-autoloads emmet-mode-autoloads feature-mode-autoloads git-link-autoloads gnuplot-autoloads google-translate-autoloads haskell-mode-autoloads cl-extra help-mode helm-sql-connect-autoloads jabber-autoloads fsm-autoloads jdecomp-autoloads jedi-autoloads jedi-core-autoloads jinja2-mode-autoloads json-reformat-autoloads jsonian-autoloads magit-autoloads pcase git-commit-autoloads magit-section-autoloads mingus-autoloads libmpdee-auto= loads mmm-jinja2-autoloads mmm-mode-autoloads oauth2-autoloads org-superstar-autoloads persist-autoloads projectile-autoloads python-environment-autoloads rcirc-color-autoloads srv-autoloads cl terraform-mode-autoloads tmr-autoloads transient-autoloads typescript-mode-autoloads vimrc-mode-autoloads vue-html-mode-autoloads with-editor-autoloads xclip-autoloads xterm-keybinder-autoloads yasnippet-autoloads zone-nyan-autoloads info tool-bar dash-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads inotify lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1951716 195837) (symbols 48 73646 11) (strings 32 336621 7944) (string-bytes 1 14549678) (vectors 16 178447) (vector-slots 8 2913855 179182) (floats 8 1654 26369) (intervals 56 13701 6360) (buffers 984 192)) From debbugs-submit-bounces@debbugs.gnu.org Thu May 30 07:39:05 2024 Received: (at 71274) by debbugs.gnu.org; 30 May 2024 11:39:05 +0000 Received: from localhost ([127.0.0.1]:59235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCe7a-0001jZ-8g for submit@debbugs.gnu.org; Thu, 30 May 2024 07:39:05 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCe7V-0001j5-2F for 71274@debbugs.gnu.org; Thu, 30 May 2024 07:39:01 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sCe7E-0005Qd-UU; Thu, 30 May 2024 07:38:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=dP5UeTI+ihGxeEy6ubAdBOVPON5JKF/P7g1Re5EJei8=; b=Go8yxG30tHhZaOXT9iLn xwHsBwVei3ONcY21tT/baG2kA6fv+sNVUmPjPikcW12VqJInulilrmvzBPly0HP/K5PBLwQEd88xp y7UFQy+sVEQlnCt5ev6io4DCAD+KdV+0TOvCaY3Q582J9WPdqz5uTmsePmyREHhKsk+yy8DLvDWvJ V2xk+Bc2yKJbpr247OOpsr2qUUnMHC2G7HCGklQXlLQnozoN2t8bDZHk2W72uz+lgVQZ6s7aJ12G1 InBv8g0AIpBX022seFclMx24qy3rc185g/Y4tEzCXU3w4bnu8ha9aQR6hk3ZuTteqlVYMY5FI7nZs IkL/rEukx+Qhqw==; Date: Thu, 30 May 2024 14:38:29 +0300 Message-Id: <86le3rr0lm.fsf@gnu.org> From: Eli Zaretskii To: Daniel Clemente In-Reply-To: (message from Daniel Clemente on Thu, 30 May 2024 09:51:20 +0000) Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71274 Cc: 71274@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: -3.3 (---) > From: Daniel Clemente > Date: Thu, 30 May 2024 09:51:20 +0000 > > I have --enable-checking=yes,glyphs enabled, and am using emacsclient > without X support but inside a urxvt terminal in X. Built with no > extra patches. Running in gdb. > > I was editing Python code when this error happened. Last things I did were: > M-space to remove extra spaces, and by mistake I hit S-space which > enabled scim (input method chooser, a small widget appearing on top > and stealing window-manager focus), then I disabled it again. > This information may be bogus since these operations work fine when I > retest them. > I wasn't doing anything weird like stress-testing it, resizing > windows, changing fonts/resolution, … > > I don't know how to reproduce this yet. Feel free to close if it > doesn't clearly show a possible bug. Not only does it not show a possible bug, it actually shows an impossible condition. I feel like I must be missing something here, because this simply cannot happen, if my reading of the code is correct. See below. > (gdb) bt > #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 > #1 0x00005555557350bb in die (msg=0x5555558527c0 "w->window_end_valid", > file=0x555555850b08 "xdisp.c", line=21783) at alloc.c:8082 > #2 0x00005555555dcd5f in find_first_unchanged_at_end_row (w=0x5555622c4f68, > delta=0x7fffffff7b18, delta_bytes=0x7fffffff7b10) at xdisp.c:21783 This points to the following assertion: static struct glyph_row * find_first_unchanged_at_end_row (struct window *w, ptrdiff_t *delta, ptrdiff_t *delta_bytes) { struct glyph_row *row; struct glyph_row *row_found = NULL; *delta = *delta_bytes = 0; /* Display must not have been paused, otherwise the current matrix is not up to date. */ eassert (w->window_end_valid); <<<<<<<<<<<<<<<<<<<<<< However, find_first_unchanged_at_end_row is called from try_window_id: > #3 0x00005555555de527 in try_window_id (w=0x5555622c4f68) at xdisp.c:22347 And that function already checked that w->window_end_valid is non-zero, several dozens of lines before that: /* Verify that display wasn't paused. */ if (!w->window_end_valid) GIVE_UP (8); GIVE_UP returns from the function. So how come w->window_end_valid became zero between that test and the assertion, Emacs being a single-threaded program?? What am I missing here? The only possible explanation I could think of is some compiler bug that causes it to emit incorrect code, or maybe some hardware problem with memory. Both possibilities are almost unthinkable. Any ideas, even crazy ones, are welcome. From debbugs-submit-bounces@debbugs.gnu.org Fri May 31 06:10:04 2024 Received: (at 71274) by debbugs.gnu.org; 31 May 2024 10:10:05 +0000 Received: from localhost ([127.0.0.1]:53265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCzD2-0004dP-EU for submit@debbugs.gnu.org; Fri, 31 May 2024 06:10:04 -0400 Received: from mail-vk1-f177.google.com ([209.85.221.177]:57446) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCzCz-0004cp-W5 for 71274@debbugs.gnu.org; Fri, 31 May 2024 06:10:04 -0400 Received: by mail-vk1-f177.google.com with SMTP id 71dfb90a1353d-4eaee52aefbso609097e0c.2 for <71274@debbugs.gnu.org>; Fri, 31 May 2024 03:09:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717150125; x=1717754925; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QaalDgHCgz3V14pDr+ZMk5nbCF6CP1kaXNvq7kxTWjI=; b=heNVok0XYFcbQItwfhfC+RxYdlmdCC5z8us3paMjmGSjykJgm7xALn3Y4sS4V+1SdD g3rRHqShwfj2uLrbVhKQcrQIEd1vFHX4s0nzQcu6FfQgSaKyXcZXf2lfu2ofsB1mAvqH VPz/x8JFipF9VC425+GcPItJVpHESaaRwx2+o+ZHfqcgvv3eiuNPN3wnvpEW/BE4eDno MwdFxYpv7RX2Me28sRQhgMQdDvSyaxpw/fsxc+MvZO7cyFkqZnOO7WdRqVGKnJqv6FV/ 2EHUVE9ThOmYrqDpxt3ghyOlvuUfgeWaEZ0afco6qJJxsuZ10ev2jHuRi0W8DGW6X95Z ecDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717150125; x=1717754925; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QaalDgHCgz3V14pDr+ZMk5nbCF6CP1kaXNvq7kxTWjI=; b=HXKXMiIQOj4oVYMRXvLDGgB4b2NFyoglROq1et58AF3VungfXlFW3nLHoqwPtVD/My GnsYHDIreEZdnHCZSJ7wx5b6NmOWtflffzdg/SqiUVPZ0+n1jAJiMYt1ogW2xXEPnyQN GIK2DmNHbWaoQZ4ledz8nnBfb6gdvHKwsDH/xdV4SbQSRoMoB+nw+q96RfCAiv4UsRBV icr3MzRp6t4q/tKFP9gxOog3hyoLGhqrcw3a49nBrsUOcPhA71COM9X078rjDHvWOAkC H5jXY5/yhJN6fC5XSruTlnChyA1j25CRWOHMdWuWwX8Bp2xwElkCpTlO/KBD8gLAWE8V LSgw== X-Gm-Message-State: AOJu0Yx03oCrtNdLnd+0cH+xQolk7etMfRf4VZchXFq9jgH/ZBZ3IZCF mghQ/N6kspXdPdbuRyYoLPynoPhl/bd6dZSescL2ohDkwzbxXCUBTuD7f5rkCWCe4VukI2t1Z3d K2kAG8U5WE5/o6x/JFkyApveElFYCJEGk X-Google-Smtp-Source: AGHT+IF1h4GCXmDGzU8mlWnZdRA0GLov/310Ux6VAbtwozbXPm9GjbuB+tl/q2irP4rOStxxVNZQdv/N0LN0BcrVltA= X-Received: by 2002:a05:6122:3c8e:b0:4e9:7df0:dc76 with SMTP id 71dfb90a1353d-4eb02f1dbc7mr1675291e0c.14.1717150125151; Fri, 31 May 2024 03:08:45 -0700 (PDT) MIME-Version: 1.0 References: <86le3rr0lm.fsf@gnu.org> In-Reply-To: <86le3rr0lm.fsf@gnu.org> From: Daniel Clemente Date: Fri, 31 May 2024 10:08:18 +0000 Message-ID: Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 71274 Cc: 71274@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.8 (/) > However, find_first_unchanged_at_end_row is called from try_window_id: > > #3 0x00005555555de527 in try_window_id (w=0x5555622c4f68) at xdisp.c:22347 > And that function already checked that w->window_end_valid is > non-zero, several dozens of lines before that: > /* Verify that display wasn't paused. */ > if (!w->window_end_valid) > GIVE_UP (8); Between this check (the one "several dozens of lines before that"), and the call to find_first_unchanged_at_end_row, something has the side effect of changing window_end_valid to false. In particular: if (last_unchanged_at_beg_row) { /* Avoid starting to display in the middle of a character, a TAB for instance. This is easier than to set up the iterator exactly, and it's not a frequent case, so the additional effort wouldn't really pay off. */ while ((MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row) || last_unchanged_at_beg_row->ends_in_newline_from_string_p) && last_unchanged_at_beg_row > w->current_matrix->rows) --last_unchanged_at_beg_row; if (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row)) GIVE_UP (17); if (! init_to_row_end (&it, w, last_unchanged_at_beg_row)) GIVE_UP (18); Before that last init_to_row_end, w->window_end_valid was true, and, after it, it was false. I saw it through fprintfs added before and after the line. It's not always like that; sometimes it just stays true all through. I still don't know the conditions to reproduce this, but I have seen this bug 4 or 5 times yesterday+today. So it must be a side effect of init_to_row_end. I didn't have to read its code yet. By the way, could this comment in try_window_id explain what is happening? Maybe this part needs to be moved earlier. /* The redisplay iterations in display_line above could have triggered font-lock, which could have done something that invalidates IT->w window's end-point information, on which we rely below. E.g., one package, which will remain unnamed, used to install a font-lock-fontify-region-function that called bury-buffer, whose side effect is to switch the buffer displayed by IT->w, and that predictably resets IT->w's window_end_valid flag, which we already tested at the entry to this function. Amply punish such packages/modes by giving up on this optimization in those cases. */ if (!w->window_end_valid) { clear_glyph_matrix (w->desired_matrix); return -1; } From debbugs-submit-bounces@debbugs.gnu.org Fri May 31 07:12:11 2024 Received: (at 71274) by debbugs.gnu.org; 31 May 2024 11:12:11 +0000 Received: from localhost ([127.0.0.1]:53314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sD0B9-0000WG-C3 for submit@debbugs.gnu.org; Fri, 31 May 2024 07:12:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50466) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sD0B8-0000Vz-3x for 71274@debbugs.gnu.org; Fri, 31 May 2024 07:12:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sD0Aq-0001PS-Hg; Fri, 31 May 2024 07:11:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=FHibdEUA5oTHhKpPOKwm/YAuFi7oXBNeVA5ZEum8gKY=; b=BcYF3VCc7KIJ vojNiOKYHtMJRvspRXJgMoonIG2R+tLP2RPetEIt5wrYp62QSks0YZ/h8ybGS4/n1nJI+8Vc5I6ur nBCXcrQyFw5PZi1h+oT+bsr4DEL7hYuggiSM+649j0y36SeTpPPRNQxzKqEQSyKPY+b7R/sO66R7H YtVnRoJuVRPxUA9Ki934O3okpVnjtu6jE895ERHKetcBA6mbSLkdm8bpOWaw/WfRkETA48YZFmOVu RIp7iFrJnOI13wN+4P4JB3WCy8ZJIH+UsWkILgv/5yuB+87yJyf7uLs5xxsI1Kg7CDbu8GZKT+KxM 8bWnW+ydpiDMnUB5zyiT8g==; Date: Fri, 31 May 2024 14:11:49 +0300 Message-Id: <86plt2p762.fsf@gnu.org> From: Eli Zaretskii To: Daniel Clemente In-Reply-To: (message from Daniel Clemente on Fri, 31 May 2024 10:08:18 +0000) Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row References: <86le3rr0lm.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71274 Cc: 71274@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: -3.3 (---) > From: Daniel Clemente > Date: Fri, 31 May 2024 10:08:18 +0000 > Cc: 71274@debbugs.gnu.org > > > However, find_first_unchanged_at_end_row is called from try_window_id: > > > #3 0x00005555555de527 in try_window_id (w=0x5555622c4f68) at xdisp.c:22347 > > And that function already checked that w->window_end_valid is > > non-zero, several dozens of lines before that: > > /* Verify that display wasn't paused. */ > > if (!w->window_end_valid) > > GIVE_UP (8); > > Between this check (the one "several dozens of lines before that"), > and the call to find_first_unchanged_at_end_row, something has the > side effect of changing window_end_valid to false. In particular: > > > if (last_unchanged_at_beg_row) > { > /* Avoid starting to display in the middle of a character, a TAB > for instance. This is easier than to set up the iterator > exactly, and it's not a frequent case, so the additional > effort wouldn't really pay off. */ > while ((MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row) > || last_unchanged_at_beg_row->ends_in_newline_from_string_p) > && last_unchanged_at_beg_row > w->current_matrix->rows) > --last_unchanged_at_beg_row; > > if (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row)) > GIVE_UP (17); > > if (! init_to_row_end (&it, w, last_unchanged_at_beg_row)) > GIVE_UP (18); > > > Before that last init_to_row_end, w->window_end_valid was true, and, > after it, it was false. Thanks, but please find where it changes inside the call to init_to_row_end, because I couldn't see anything obvious in the code involved in that call. There's some factor at work here that we need to identify and understand. (It is easy to add some band-aid without such an understanding, but I'm not yet prepared to do that.) > I saw it through fprintfs added before and after the line. > It's not always like that; sometimes it just stays true all through. I > still don't know the conditions to reproduce this, but I have seen > this bug 4 or 5 times yesterday+today. > > So it must be a side effect of init_to_row_end. Yes, but where exactly in that function or the ones it calls? > By the way, could this comment in try_window_id explain what is > happening? Maybe this part needs to be moved earlier. Maybe. But I'd like to see a backtrace with some of those guilty parties in the callstack, before I do that. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 03 13:59:27 2024 Received: (at 71274) by debbugs.gnu.org; 3 Jun 2024 17:59:27 +0000 Received: from localhost ([127.0.0.1]:54535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEBxv-00049J-FG for submit@debbugs.gnu.org; Mon, 03 Jun 2024 13:59:27 -0400 Received: from mail-oo1-f52.google.com ([209.85.161.52]:59601) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEBxt-00048t-Bs for 71274@debbugs.gnu.org; Mon, 03 Jun 2024 13:59:26 -0400 Received: by mail-oo1-f52.google.com with SMTP id 006d021491bc7-5b3241a69f4so2206449eaf.2 for <71274@debbugs.gnu.org>; Mon, 03 Jun 2024 10:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717437487; x=1718042287; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=klTGLiZ1A4l5nXwHV8SkJ9umADB+ZGXAuQ76j9Q8quA=; b=GD6cQCqcqRJ7p92oSeh5MtbsBQLD0g1YAbOkFZt0DMomEEYhVEaqYzE4ZX4twWlGoL SZ8wk67sRo7vysJ2oTdI4ontOFHGOyy4udp/x2fKCqJe/WDAQ66FtOtEBynvLWpi1ECR XWEbP30rO7ku9t4ZxUpnMJnavSS5pNY/7gEX3idM/ilKAaXjl+iR7W12Xbm9eHzpUvyN Zh8onIM9/6Uxo+fVrPHvfCtsQtkjyjWqzjji0Cto5OacMkygBjomZ7UUMv5SNGrXlYWf OZu1mcjDYDfTXIs5UC8ZQQEi0fSk/X9cE4XJy3GWiFA0yRh99bHTcL3LY1CMWeKx9oBA sMGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717437487; x=1718042287; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=klTGLiZ1A4l5nXwHV8SkJ9umADB+ZGXAuQ76j9Q8quA=; b=loLoFuNvADGx2z+x/0Ib5x9+HIRR5M7bv4Epxuxl0i2cl3ryeMT4k+Xl3RPXt1T+s+ /EPUAVkvGvJxEWFN1yDLXFIfe2wDCGi9ErUxVP/s+F3E0DVkSY5PMK9DFOS2JWTsuYs9 9KC8G/dYvvKJ0OduNrSMsKBgB3iEwSW0teeN/Fl8fMDbBJEsMK+cD1gya+rqRvFJAdUM IcHaBHwjIFVlH0AHSsrT15RI4V5QM0BIEWgFRpHK3ySZNDszxs/cyLks6x0njGD7zEro qg1TAvJ7VrkWgn7F8QgMxH92XQpO4GvBAVWI5L82e+nOkq5oJWXu4r/z4W3cVwZXJkYu 8wqQ== X-Gm-Message-State: AOJu0YxotvsDHlwXogKeF+vGJUqFeSJ2opQ6UIV5rDpTf7FS9t4DyrRj 9lpc7Qw4O0bYfPNEUTrKPcSQoA4fpO7MnFo6/hASNpGWQmW18V7TMwEwPweqe4+UTl6GZt2OuCw M5uxSG/MGiuxCcIMp4pHJOiKBG9puDv8d X-Google-Smtp-Source: AGHT+IGPlCF+skQ0FQjBgqTSyCfy0reCKNiS+i7fgjsPcfIp9RPuNDV/6Tp1VBwydgLVX0U2lw264ANL7eNo+HRW/Os= X-Received: by 2002:a67:bc03:0:b0:485:d96e:d18a with SMTP id ada2fe7eead31-48bc2422e41mr7634716137.29.1717437076109; Mon, 03 Jun 2024 10:51:16 -0700 (PDT) MIME-Version: 1.0 References: <86le3rr0lm.fsf@gnu.org> <86plt2p762.fsf@gnu.org> In-Reply-To: <86plt2p762.fsf@gnu.org> From: Daniel Clemente Date: Mon, 3 Jun 2024 17:50:47 +0000 Message-ID: Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 71274 Cc: 71274@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 (/) > Thanks, but please find where it changes inside the call to > init_to_row_end, because I couldn't see anything obvious in the code > involved in that call. There's some factor at work here that we need > to identify and understand. It happens (window_end_valid becoming false) inside init_iterator, in init_from_display_pos (called init_to_row_end). Here: /* Keep in mind: the call to reseat in init_iterator skips invisible text, so we might end up at a position different from POS. This is only a problem when POS is a row start after a newline and an overlay starts there with an after-string, and the overlay has an invisible property. Since we don't skip invisible text in display_line and elsewhere immediately after consuming the newline before the row start, such a POS will not be in a string, but the call to init_iterator below will move us to the after-string. */ init_iterator (it, w, charpos, bytepos, NULL, DEFAULT_FACE_ID); Inside init_iterator, window_end_valid becomes false during this code (i.e. it was true just before, and false just after): /* If face attributes have been changed since the last redisplay, free realized faces now because they depend on face definitions that might have changed. Don't free faces while there might be desired matrices pending which reference these faces. */ if (!inhibit_free_realized_faces) { if (face_change) { face_change =3D false; XFRAME (w->frame)->face_change =3D 0; free_all_realized_faces (Qnil); } else if (XFRAME (w->frame)->face_change) { XFRAME (w->frame)->face_change =3D 0; free_all_realized_faces (w->frame); } } I don't know yet which branch runs or what happens inside free_all_realized_faces, since I didn't see this crash recently. Does this give any hint about how window_end_valid could become false? In next tests I'll run with the latest git version, including your recent commit eb9afd558ec (which I know is for something different =E2=80=94SIGWINCH=E2=80=94 but who knows, maybe it was related to this bug)= . From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 03 14:38:45 2024 Received: (at 71274) by debbugs.gnu.org; 3 Jun 2024 18:38:45 +0000 Received: from localhost ([127.0.0.1]:55641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sECZx-0005u4-AY for submit@debbugs.gnu.org; Mon, 03 Jun 2024 14:38:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sECZu-0005tS-Bp for 71274@debbugs.gnu.org; Mon, 03 Jun 2024 14:38:42 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sECD1-0006J6-FB; Mon, 03 Jun 2024 14:15:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=S5CPs7wtC+eqRoPdEuVUHZrwL/8j/mPAM18k3W5LzFY=; b=iLX7f4uvPd5NxoW9EnoU BpRXZODPj1/nVm5dJQbfTcE5bruRmSGgH1YssrKBJU/sujS278K1z6QnchdcDgfru7HKOaoNCjyjZ MFKWjW+GbMqqGRxdgI8KWZO2zG82w7y7HyDNrLUGi6fSnS/Jf4JOqO8dmO2YD0gDCjXmZecn6gf6V /6WnrVQZZlLX6qYwxkm7PWsPMMJ0I4LBE4aBWpozyKpic3EZAxU00t4ck2weHuO4ywh/ezrobuoHC 0eiy1mGjgf+xtb3Gcx05g4+T7XNLlxHMwgDoqsQlrn0bagnT44ytN6AnKnNVC7tlRm2/cwmJgtOQA zpHTifNqMTX8xA==; Date: Mon, 03 Jun 2024 21:14:56 +0300 Message-Id: <86a5k1lwpr.fsf@gnu.org> From: Eli Zaretskii To: Daniel Clemente In-Reply-To: (message from Daniel Clemente on Mon, 3 Jun 2024 17:50:47 +0000) Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row References: <86le3rr0lm.fsf@gnu.org> <86plt2p762.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71274 Cc: 71274@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: -3.3 (---) > From: Daniel Clemente > Date: Mon, 3 Jun 2024 17:50:47 +0000 > Cc: 71274@debbugs.gnu.org > > > Thanks, but please find where it changes inside the call to > > init_to_row_end, because I couldn't see anything obvious in the code > > involved in that call. There's some factor at work here that we need > > to identify and understand. > > It happens (window_end_valid becoming false) inside init_iterator, in > init_from_display_pos (called init_to_row_end). Here: > > /* Keep in mind: the call to reseat in init_iterator skips invisible > text, so we might end up at a position different from POS. This > is only a problem when POS is a row start after a newline and an > overlay starts there with an after-string, and the overlay has an > invisible property. Since we don't skip invisible text in > display_line and elsewhere immediately after consuming the > newline before the row start, such a POS will not be in a string, > but the call to init_iterator below will move us to the > after-string. */ > init_iterator (it, w, charpos, bytepos, NULL, DEFAULT_FACE_ID); > > > Inside init_iterator, window_end_valid becomes false during this code > (i.e. it was true just before, and false just after): > > /* If face attributes have been changed since the last redisplay, > free realized faces now because they depend on face definitions > that might have changed. Don't free faces while there might be > desired matrices pending which reference these faces. */ > if (!inhibit_free_realized_faces) > { > if (face_change) > { > face_change = false; > XFRAME (w->frame)->face_change = 0; > free_all_realized_faces (Qnil); > } > else if (XFRAME (w->frame)->face_change) > { > XFRAME (w->frame)->face_change = 0; > free_all_realized_faces (w->frame); > } > } > > I don't know yet which branch runs or what happens inside > free_all_realized_faces, since I didn't see this crash recently. > > Does this give any hint about how window_end_valid could become false? Yes, it does, thanks. I installed a fix which hopefully plugs this. > In next tests I'll run with the latest git version, including your > recent commit eb9afd558ec (which I know is for something different > —SIGWINCH— but who knows, maybe it was related to this bug). I don't think so. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 08:41:31 2024 Received: (at 71274) by debbugs.gnu.org; 6 Jun 2024 12:41:31 +0000 Received: from localhost ([127.0.0.1]:52660 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFCQt-0002ko-Cg for submit@debbugs.gnu.org; Thu, 06 Jun 2024 08:41:31 -0400 Received: from mail-ua1-f42.google.com ([209.85.222.42]:49448) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFCQq-0002kV-O7 for 71274@debbugs.gnu.org; Thu, 06 Jun 2024 08:41:30 -0400 Received: by mail-ua1-f42.google.com with SMTP id a1e0cc1a2514c-80ad2893ae5so267197241.3 for <71274@debbugs.gnu.org>; Thu, 06 Jun 2024 05:41:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717677608; x=1718282408; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=WXhOn5PwvZnnVEX6g2VJVmGtfhbp5Uxk/AfhKUZCdEE=; b=OQdVM/jMCzYMvvHX2xWlBIlHG8AK3FF36mOrG7bE7dEROqFptJzJnUGVA+xU8qeVCu kfaOcqfRyR9drnIMDlqcRZkSPzvXz2EJ+S2DU2mz9aiBHlJO6NK3UVmd9RhlbLJZDxqt 7FkhwTch4Kv9dLElGqPfkiP266YGV49AC8hm9WRr4quKzFlxCZlY2W8S6yVXNza0DP/L Gqk8sVxHzDGhzdOfWV8paziQutfyNlTCs59mIM+lEzXRemdCiTGFedMk7VGU+BPIl97r +uhVUazrqxw3eeEx+4Idpe5kByGk8kxMInTdZYNOapbuT8vrgLVm7EoKjg9PJLMg84PG sRdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717677608; x=1718282408; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WXhOn5PwvZnnVEX6g2VJVmGtfhbp5Uxk/AfhKUZCdEE=; b=HW9IGg916LPPR9QXkUKbbiGA5n5cacq68mLp0bjp/stMgHHYxAjZu/t8v3TywWFMLF tRi1WXYKiphyffpZ334NqG6g7zwncfKkbkDfkLrZ98VL7pCt/wYbo352e6Y0gFH57CiT kBrgc5hV6wDIwabKoS3syUclG5GXVSzhwtSBIxvBZK7zdksTCa6SICnxMLsrFmAdqesa AT6XgMaf8CvFnN5+PfEC1U0Ev6aEs4PMNV1AiglulRX8vlhW4YN9nEYKE0wGwkzpyhoJ w9NczHBFcrrvRho+EhyJgmIYzYhoZoRUpyv/FVQ/8EOQnnUyWmjw82A/k20jpFrS5Z1a JjSw== X-Gm-Message-State: AOJu0YwisagcyugmaRZy+N5x++7rJyeWPxz36lanoq+daUH85JR8ELQR VyfykrK/Sgr5GCJzmPW3AL33oVGxtAURkfXXT7rlG4kmoDksNkj2Q7eFqnHQQ9PdsHXoQjgMxZt QQDaMgmGKurgUrYAaQwnafF122uKCYA== X-Google-Smtp-Source: AGHT+IFrDYFMD5W1fCZO1KVzM2ty43iHs3FvLVweFhaOdwiHl1HsZITKRHQFrEEcLjcowAaFLSraM9iHh/ES5RHn34s= X-Received: by 2002:a05:6102:18c3:b0:47e:f4cf:841f with SMTP id ada2fe7eead31-48c0481ba93mr5731693137.4.1717677608347; Thu, 06 Jun 2024 05:40:08 -0700 (PDT) MIME-Version: 1.0 References: <86le3rr0lm.fsf@gnu.org> <86plt2p762.fsf@gnu.org> <86a5k1lwpr.fsf@gnu.org> In-Reply-To: <86a5k1lwpr.fsf@gnu.org> From: Daniel Clemente Date: Thu, 6 Jun 2024 12:39:39 +0000 Message-ID: Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 71274 Cc: 71274@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.8 (/) Thanks, well, I'm not seeing these errors anymore. I don't have a formula to reproduce the bug, but I trust the patch will help and this bug can be closed. I don't much knowledge about try_window_id. Could this change create new situations in which a window isn't fully redisplayed but it should? I saw a redisplay issue after resizing the window (mangled text) but I don't think it's related to this bug because I placed a breakpoint on your new code and it didn't run. I posted some details at 71289. On Mon, 3 Jun 2024 at 18:15, Eli Zaretskii wrote: > > > From: Daniel Clemente > > Date: Mon, 3 Jun 2024 17:50:47 +0000 > > Cc: 71274@debbugs.gnu.org > > > > > Thanks, but please find where it changes inside the call to > > > init_to_row_end, because I couldn't see anything obvious in the code > > > involved in that call. There's some factor at work here that we need > > > to identify and understand. > > > > It happens (window_end_valid becoming false) inside init_iterator, in > > init_from_display_pos (called init_to_row_end). Here: > > > > /* Keep in mind: the call to reseat in init_iterator skips invisible > > text, so we might end up at a position different from POS. This > > is only a problem when POS is a row start after a newline and an > > overlay starts there with an after-string, and the overlay has an > > invisible property. Since we don't skip invisible text in > > display_line and elsewhere immediately after consuming the > > newline before the row start, such a POS will not be in a string, > > but the call to init_iterator below will move us to the > > after-string. */ > > init_iterator (it, w, charpos, bytepos, NULL, DEFAULT_FACE_ID); > > > > > > Inside init_iterator, window_end_valid becomes false during this code > > (i.e. it was true just before, and false just after): > > > > /* If face attributes have been changed since the last redisplay, > > free realized faces now because they depend on face definitions > > that might have changed. Don't free faces while there might be > > desired matrices pending which reference these faces. */ > > if (!inhibit_free_realized_faces) > > { > > if (face_change) > > { > > face_change =3D false; > > XFRAME (w->frame)->face_change =3D 0; > > free_all_realized_faces (Qnil); > > } > > else if (XFRAME (w->frame)->face_change) > > { > > XFRAME (w->frame)->face_change =3D 0; > > free_all_realized_faces (w->frame); > > } > > } > > > > I don't know yet which branch runs or what happens inside > > free_all_realized_faces, since I didn't see this crash recently. > > > > Does this give any hint about how window_end_valid could become false? > > Yes, it does, thanks. I installed a fix which hopefully plugs this. > > > In next tests I'll run with the latest git version, including your > > recent commit eb9afd558ec (which I know is for something different > > =E2=80=94SIGWINCH=E2=80=94 but who knows, maybe it was related to this = bug). > > I don't think so. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 09:35:51 2024 Received: (at 71274-done) by debbugs.gnu.org; 6 Jun 2024 13:35:51 +0000 Received: from localhost ([127.0.0.1]:52713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFDHT-00071c-9t for submit@debbugs.gnu.org; Thu, 06 Jun 2024 09:35:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFDHN-00071K-Rw for 71274-done@debbugs.gnu.org; Thu, 06 Jun 2024 09:35:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sFDH3-0005ej-Q4; Thu, 06 Jun 2024 09:35:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=tBgg1kCtZsjnOmzoDhtDAdb0VdItJesa1hdAc5/XfZ4=; b=o9T3YCB8ZtdT UP7S1UBKvOfRnFPghhndZ3vPfcJbTu8f4itr9/Iw3jz6EMlsTZOe/KWQChcJGWTCP/G/5CG4HctaL GJmoxaKUbPpU/P2KLnF4cLYDkVWMicayve5ab3okPO/ufeWI7k4Jxe5ELSVKK6b4IFlce5L2FnOmY 0xoSxYDhsjVWYuocB2SFCtOk/cX/QA05yrvTDBsRAxVtGUi+uVPdjESu6IQptbHebxG+IjuDX7IdL Hr7con8TGhueTnk70ritr3+tB/yvOqbcWa7CpBOzmpFl1S97CehGXLsklS91lSleqGE9SFH831ANl OlZiS+PMlhNaZxiQDx75kg==; Date: Thu, 06 Jun 2024 16:35:11 +0300 Message-Id: <86h6e6gpo0.fsf@gnu.org> From: Eli Zaretskii To: Daniel Clemente In-Reply-To: (message from Daniel Clemente on Thu, 6 Jun 2024 12:39:39 +0000) Subject: Re: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row References: <86le3rr0lm.fsf@gnu.org> <86plt2p762.fsf@gnu.org> <86a5k1lwpr.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71274-done Cc: 71274-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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Clemente > Date: Thu, 6 Jun 2024 12:39:39 +0000 > Cc: 71274@debbugs.gnu.org > > Thanks, well, I'm not seeing these errors anymore. I don't have a > formula to reproduce the bug, but I trust the patch will help and this > bug can be closed. Done. > I don't much knowledge about try_window_id. Could this change create > new situations in which a window isn't fully redisplayed but it > should? No. try_window_id is an optimization: it tries to avoid some work by reusing portions of the previously-displayed glyph matrix. When try_window_id calls GIVE_UP, it means the optimization cannot be used, but the result should still be correct, just perhaps slower. From unknown Sun Aug 17 10:06:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 05 Jul 2024 11:24:10 +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