all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line
@ 2022-11-16 16:25 Casey Banner
  2022-11-17  2:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Casey Banner @ 2022-11-16 16:25 UTC (permalink / raw)
  To: 59320

This occurs in my config as well as emacs -Q. The cursor is invisible,
unless I enable inhibit-double-buffer. Then it appears but only a
single line regardless of the cursor-type setting.

A video of the issue here: https://imgur.com/f8nepbE

Thanks!,
Casey

In GNU Emacs 29.0.50 (build 3, x86_64-w64-mingw32) of 2022-11-16 built
 on DESKTOP-EK25TL1
Repository revision: f793add1758fd01f678698a90f5847b575f63cf8
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.19044
System Description: Microsoft Windows 10 Pro (v10.0.2009.19044.2251)

Configured using:
 'configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32
 --build=x86_64-w64-mingw32 --prefix=/e/dev/emacs-src --without-dbus
 --without-pop --with-native-compilation --with-cairo --with-harfbuzz
 --with-xml2 --without-compress-install --with-json 'CFLAGS=-O2
 -mtune=native -march=native -fomit-frame-pointer -pipe
 -ftree-vectorize' --with-pgtk'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XPM ZLIB

Important settings:
  value of $LANG: ENC
  locale-coding-system: cp1252

Major mode: ELisp/d

Minor modes in effect:
  shell-dirtrack-mode: t
  recentf-mode: t
  display-line-numbers-mode: t
  which-key-mode: t
  solaire-global-mode: t
  company-box-mode: t
  company-tng-mode: t
  global-company-mode: t
  company-mode: t
  global-auto-revert-mode: t
  ivy-prescient-mode: t
  ivy-posframe-mode: t
  ivy-mode: t
  delete-selection-mode: t
  minions-mode: t
  doom-modeline-mode: t
  override-global-mode: t
  global-smartscan-mode: t
  smartscan-mode: t
  global-hl-line-mode: t
  gcmh-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  straight-symlink-emulation-mode: t
  straight-live-modifications-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
c:/Users/kcbanner/.emacs.d/straight/build/ws-trim/ws-trim hides
~/.emacs.d/elisp/ws-trim
c:/Users/kcbanner/.emacs.d/straight/build/transient/transient hides
e:/dev/emacs-src/share/emacs/29.0.50/lisp/transient
c:/Users/kcbanner/.emacs.d/straight/build/let-alist/let-alist hides
e:/dev/emacs-src/share/emacs/29.0.50/lisp/emacs-lisp/let-alist

Features:
(shadow sort mail-extr emacsbug message yank-media rfc822 mml mml-sec
epa derived gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils misearch multi-isearch lsp-diagnostics
lsp-headerline lsp-icons lsp-modeline lsp-lens vc-hg vc-git diff-mode
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util origami
origami-parsers cl lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr
lsp-ui-imenu lsp-ui-peek lsp-ui-sideline flycheck lsp-ui-util find-func
view lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-yaml
lsp-xml lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog
lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex
lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-remark lsp-racket lsp-r
lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-pls
lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix
lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua lsp-kotlin
lsp-json url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf mailcap lsp-javascript lsp-idris lsp-haxe
lsp-groovy lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion
lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet
lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp
gnutls lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd
dom lsp-beancount lsp-bash lsp-ansible lsp-angular lsp-ada
lsp-actionscript ffap tramp tramp-loaddefs trampver tramp-integration
cus-start tramp-compat shell pcomplete parse-time iso8601 recentf
bookmark display-line-numbers which-key solaire-mode company-box
company-box-doc frame-local company-box-icons company-tng
company-box-autoloads frame-local-autoloads company-oddmuse
company-keywords company-etags etags fileloop generator company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb company company-autoloads lsp-ui-autoloads zig-mode
zig-mode-autoloads autorevert lsp-ivy lsp-mode url-util tree-widget
spinner network-stream puny nsm markdown-mode url-parse auth-source
password-cache url-vars thingatpt noutline outline lv inline imenu
filenotify ewoc epg rfc6068 epg-config lsp-protocol json ht
lsp-ivy-autoloads lsp-mode-autoloads lv-autoloads spinner-autoloads
ht-autoloads ivy-prescient prescient char-fold map
ivy-prescient-autoloads prescient-autoloads ivy-posframe posframe
ivy-posframe-autoloads posframe-autoloads flycheck-autoloads
let-alist-autoloads pkg-info-autoloads epl-autoloads counsel xdg xref
project dired dired-loaddefs swiper ivy delsel ivy-faces ivy-overlay
colir color counsel-autoloads swiper-autoloads ivy-autoloads minions
minions-autoloads doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core shrink-path f f-shortdoc shortdoc s dash
doom-modeline-autoloads shrink-path-autoloads f-autoloads
doom-themes-ext-org doom-themes-ext-treemacs doom-themes-ext-visual-bell
face-remap doom-snazzy-theme doom-themes doom-themes-base
doom-themes-autoloads origami-autoloads use-package-bind-key bind-key
solaire-mode-autoloads all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons all-the-icons-autoloads which-key-autoloads align
glsl-mode glsl-mode-autoloads ws-trim ws-trim-autoloads hungry-delete
hungry-delete-autoloads smartscan smartscan-autoloads
replace-from-region-autoloads markdown-mode-autoloads
groovy-mode-autoloads dash-autoloads s-autoloads yaml-mode-autoloads
lua-mode-autoloads csv-mode-autoloads finder-inf rg files-x vc
vc-dispatcher rg-info-hack advice rg-menu transient time-date comp
comp-cstr warnings rx format-spec edmacro kmacro eieio eieio-core compat
compat-macs rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header
ibuf-ext ibuffer ibuffer-loaddefs grep compile text-property-search
comint ansi-osc ansi-color ring cus-edit pp cus-load icons wid-edit
rg-autoloads wgrep-autoloads transient-autoloads compat-autoloads
use-package-core hl-line gcmh use-package-autoloads bind-key-autoloads
straight-autoloads cl-extra help-mode straight info autoload
loaddefs-gen generate-lisp-file radix-tree lisp-mnt easy-mmode cl-seq
pcase subr-x byte-opt cl-macs gv cl-loaddefs cl-lib bytecomp
byte-compile rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp
disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar 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 w32notify w32 lcms2 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 833099 372824)
 (symbols 48 36148 6)
 (strings 32 210572 89136)
 (string-bytes 1 6026076)
 (vectors 16 140055)
 (vector-slots 8 2575699 981150)
 (floats 8 1844 2152)
 (intervals 56 2092 1612)
 (buffers 984 21))





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line
  2022-11-16 16:25 bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line Casey Banner
@ 2022-11-17  2:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-17  2:48   ` Visuwesh
       [not found] ` <handler.59320.B.16686321866422.ack@debbugs.gnu.org>
  2022-11-22 16:29 ` bug#59320: Casey Banner
  2 siblings, 1 reply; 10+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-17  2:07 UTC (permalink / raw)
  To: Casey Banner; +Cc: 59320

Casey Banner <kcbanner@gmail.com> writes:

> This occurs in my config as well as emacs -Q. The cursor is invisible,
> unless I enable inhibit-double-buffer. Then it appears but only a
> single line regardless of the cursor-type setting.
>
> A video of the issue here: https://imgur.com/f8nepbE

I can't open that page.  Would you please post it as a link?

Also, at present, I don't have access to any MS Windows machine where
debugging Emacs is easy.  So if someone else could look into that I'd be
quite grateful.

>  -ftree-vectorize' --with-pgtk'

BTW, --with-pgtk is not useful on MS Windows.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line
  2022-11-17  2:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-17  2:48   ` Visuwesh
  2022-11-17  3:26     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 10+ messages in thread
From: Visuwesh @ 2022-11-17  2:48 UTC (permalink / raw)
  To: Po Lu; +Cc: Casey Banner, 59320

[வியாழன் நவம்பர் 17, 2022] Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:

> Casey Banner <kcbanner@gmail.com> writes:
>
>> This occurs in my config as well as emacs -Q. The cursor is invisible,
>> unless I enable inhibit-double-buffer. Then it appears but only a
>> single line regardless of the cursor-type setting.
>>
>> A video of the issue here: https://imgur.com/f8nepbE
>
> I can't open that page.  Would you please post it as a link?

How about this https://i.bcow.xyz/f8nepbE.mp4?
[ To those who are wondering, i.bcow.xyz is an instance of an alternate
  imgur frontend called rimgo.  ]





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line
  2022-11-17  2:48   ` Visuwesh
@ 2022-11-17  3:26     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 10+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-17  3:26 UTC (permalink / raw)
  To: Visuwesh; +Cc: Casey Banner, 59320

Visuwesh <visuweshm@gmail.com> writes:

> [வியாழன் நவம்பர் 17, 2022] Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:
>
>> Casey Banner <kcbanner@gmail.com> writes:
>>
>>> This occurs in my config as well as emacs -Q. The cursor is invisible,
>>> unless I enable inhibit-double-buffer. Then it appears but only a
>>> single line regardless of the cursor-type setting.
>>>
>>> A video of the issue here: https://imgur.com/f8nepbE
>>
>> I can't open that page.  Would you please post it as a link?
>
> How about this https://i.bcow.xyz/f8nepbE.mp4?
> [ To those who are wondering, i.bcow.xyz is an instance of an alternate
>   imgur frontend called rimgo.  ]

Casey, do you have w32_use_visible_system_caret set to t?  That's the
only possibly related thing I can see in w32term.c.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line)
       [not found] ` <handler.59320.B.16686321866422.ack@debbugs.gnu.org>
@ 2022-11-22  4:01   ` Casey Banner
  2022-11-22 13:19     ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Casey Banner @ 2022-11-22  4:01 UTC (permalink / raw)
  To: 59320

Apologies for my slow response, I thought I was subscribed to mails
for responses here.

>>> Casey, do you have w32_use_visible_system_caret set to t?  That's the
>>> only possibly related thing I can see in w32term.c.

Aha, yes! Setting this to nil restores my cursor back to normal. I
hadn't started using a screen reader,
but it seems that enabling the "Turn on Speech Recognition" feature
triggers this to be set via the
SPI_GETSCREENREADER flag. I can verify disabling this feature then
opening emacs displays
causes w32_use_visible_system_caret to be nil, but enabling it causes
it to be t.

Thanks for looking into this for me!

Cheers,
Casey





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line)
  2022-11-22  4:01   ` bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line) Casey Banner
@ 2022-11-22 13:19     ` Eli Zaretskii
  2022-11-23  0:42       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-11-22 13:19 UTC (permalink / raw)
  To: Casey Banner, Po Lu; +Cc: 59320

> From: Casey Banner <kcbanner@gmail.com>
> Date: Mon, 21 Nov 2022 23:01:27 -0500
> 
> >>> Casey, do you have w32_use_visible_system_caret set to t?  That's the
> >>> only possibly related thing I can see in w32term.c.
> 
> Aha, yes! Setting this to nil restores my cursor back to normal. I
> hadn't started using a screen reader,
> but it seems that enabling the "Turn on Speech Recognition" feature
> triggers this to be set via the
> SPI_GETSCREENREADER flag. I can verify disabling this feature then
> opening emacs displays
> causes w32_use_visible_system_caret to be nil, but enabling it causes
> it to be t.

So I guess we should disable double-buffering on Windows when system caret
is in use?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320:
  2022-11-16 16:25 bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line Casey Banner
  2022-11-17  2:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found] ` <handler.59320.B.16686321866422.ack@debbugs.gnu.org>
@ 2022-11-22 16:29 ` Casey Banner
  2 siblings, 0 replies; 10+ messages in thread
From: Casey Banner @ 2022-11-22 16:29 UTC (permalink / raw)
  To: 59320

>>> So I guess we should disable double-buffering on Windows when system caret is in use?

That might be a good default for that case. However, I'm not sure if
this is some quirk of my windows settings, graphics driver, refresh
rate, etc. I am happy to run any tests you would need to get more
info.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line)
  2022-11-22 13:19     ` Eli Zaretskii
@ 2022-11-23  0:42       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-23 13:44         ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-23  0:42 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Casey Banner, 59320

Eli Zaretskii <eliz@gnu.org> writes:

> So I guess we should disable double-buffering on Windows when system caret
> is in use?

I'd only do that if all else fails.  How does MS-Windows display the
system caret, and why can't it be made to work with double-buffering?

Thanks.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line)
  2022-11-23  0:42       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-23 13:44         ` Eli Zaretskii
  2022-11-23 13:54           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-11-23 13:44 UTC (permalink / raw)
  To: Po Lu; +Cc: kcbanner, 59320

> From: Po Lu <luangruo@yahoo.com>
> Cc: Casey Banner <kcbanner@gmail.com>,  59320@debbugs.gnu.org
> Date: Wed, 23 Nov 2022 08:42:43 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > So I guess we should disable double-buffering on Windows when system caret
> > is in use?
> 
> I'd only do that if all else fails.  How does MS-Windows display the
> system caret, and why can't it be made to work with double-buffering?

I don't know the answer to the second part, but if you search the C sources
for w32_use_visible_system_caret, you will probably see the answer right
away (there aren't many hits).





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line)
  2022-11-23 13:44         ` Eli Zaretskii
@ 2022-11-23 13:54           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 10+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-23 13:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kcbanner, 59320

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Po Lu <luangruo@yahoo.com>
>> Cc: Casey Banner <kcbanner@gmail.com>,  59320@debbugs.gnu.org
>> Date: Wed, 23 Nov 2022 08:42:43 +0800
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> > So I guess we should disable double-buffering on Windows when system caret
>> > is in use?
>> 
>> I'd only do that if all else fails.  How does MS-Windows display the
>> system caret, and why can't it be made to work with double-buffering?
>
> I don't know the answer to the second part, but if you search the C sources
> for w32_use_visible_system_caret, you will probably see the answer right
> away (there aren't many hits).

Sure, I will give this a look in a bit (I don't have easy access to
Windows right now.)





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-11-23 13:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-16 16:25 bug#59320: 29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line Casey Banner
2022-11-17  2:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-17  2:48   ` Visuwesh
2022-11-17  3:26     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] ` <handler.59320.B.16686321866422.ack@debbugs.gnu.org>
2022-11-22  4:01   ` bug#59320: Acknowledgement (29.0.50; (Windows) Cursor is invisble unless inhibit-double-buffer is t, and then it only appears as a single pixel line) Casey Banner
2022-11-22 13:19     ` Eli Zaretskii
2022-11-23  0:42       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-23 13:44         ` Eli Zaretskii
2022-11-23 13:54           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-22 16:29 ` bug#59320: Casey Banner

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.