all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Devon Sean McCullough <Emacs-Hacker2017@jovi.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 29348@debbugs.gnu.org
Subject: bug#29348: 26.0.50; shr.el heisenbug
Date: Sun, 19 Nov 2017 18:56:14 -0500	[thread overview]
Message-ID: <A862CFB5-81B2-4776-A2E5-8FF7118C6707@jovi.net> (raw)
In-Reply-To: <834lpsgdhc.fsf@gnu.org>

cd /tmp
cURL -O http://jovi.net/shr.txz
tar -xp < shr.txz
cd shr
Open -n -a Emacs --args -Q --funcall toggle-debug-on-error --chdir /tmp/shr CNWebGL.js --load opengl-help.el --load shr-bug.el --funcall shr-trace

In the CNWebGL.js buffer, press the [f12] function key to view the next OpenGL call with documentation...
The first keypress or so should produce a good *Help* buffer with a proper title and name
but after three or four keypresses, mangled *Help* buffers will appear
with the C prototype at the top and the title at the bottom
because the table renderer bashed point in *Help*.

Example with annotated trace:

\f CNWebGL.js
	gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);

\f *Help*
 void glClear(  GLbitfield mask);  
 
Parameters
... here follows the rest of the doc ... then finally the misplaced first few lines:
glClear

Name

glClear — clear buffers to preset values

C Specification

\f *trace-output*
======================================================================
1 -> (shr-render-region 1 6499) 20171119-164938.962420 •*Help*…❮6499❯⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…

| 2 -> (shr-pixel-column) 20171119-164938.963020 *Help*⊣❮1❯⊢• *temp*⊣-⊂2⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (current-window-configuration) 20171119-164938.963084 *Help*⊣❮1❯⊢• *temp*⊣-⊂2⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 <- current-window-configuration: #<window-configuration> 20171119-164938.963137 *Help*⊣❮1❯⊢• *temp*⊣-⊂2⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (set-window-configuration #<window-configuration>) 20171119-164938.963212 *Help*⊣❮1❯⊢⧉• *temp*⊣-❮2❯⊢
;;; moot
| | 3 <- set-window-configuration: t 20171119-164938.963316 *Help*⊣❮1❯⊢• *temp*⊣-⊂2⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| 2 <- shr-pixel-column: 7 20171119-164938.963362 *Help*⊣❮1❯⊢• *temp*⊣-⊂2⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…

| 2 -> (shr-pixel-column) 20171119-164938.963420 *Help*⊣❮1❯⊢• *temp*⊣* ⊂3⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (current-window-configuration) 20171119-164938.963468 *Help*⊣❮1❯⊢• *temp*⊣* ⊂3⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 <- current-window-configuration: #<window-configuration> 20171119-164938.963513 *Help*⊣❮1❯⊢• *temp*⊣* ⊂3⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (set-window-configuration #<window-configuration>) 20171119-164938.963570 *Help*⊣❮1❯⊢⧉• *temp*⊣* ❮3❯⊢
;;; moot
| | 3 <- set-window-configuration: t 20171119-164938.963660 *Help*⊣❮1❯⊢• *temp*⊣* ⊂3⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| 2 <- shr-pixel-column: 14 20171119-164938.963702 *Help*⊣❮1❯⊢• *temp*⊣* ⊂3⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…

| 2 -> (shr-render-td-1 (td nil (code ((class . "funcdef")) "void " (strong ((class . "fsfunc")) "glClear") "(")) 325 nil) 20171119-164938.963916 •*Help*…❮75❯⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (current-window-configuration) 20171119-164938.964003 *Help*…❮75❯⊢• *temp*⊣void glClear(⊂14⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 <- current-window-configuration: #<window-configuration> 20171119-164938.964067 *Help*…❮75❯⊢• *temp*⊣void glClear(⊂14⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (shr-pixel-buffer-width) 20171119-164938.964130 *Help*…❮75❯⊢⧉• *temp*⊣void glClear(❮14❯⊢
| | 3 <- shr-pixel-buffer-width: 71 20171119-164938.964196 *Help*…❮75❯⊢⧉• *temp*⊣void glClear(❮14❯⊢
| | 3 -> (set-window-configuration #<window-configuration>) 20171119-164938.964238 *Help*…❮75❯⊢⧉• *temp*⊣void glClear(❮14❯⊢

;;; ***BUG***
;;; Before
;;;	*Help* is visible in the other window
;;;	 *temp* is the current buffer in the selected window, presumably undisplayed but hypothetically "visible"
;;;	CNWebGL.js is neither current nor visible in any window
;;; *** `set-window-configuration' clobbers *Help* point from 75 at EoB to 1 at BoB ***
;;; After
;;;	*Help* is visible in the other window
;;;	 *temp* is the current buffer not visible in any window
;;;	CNWebGL.js is visible in the selected window
;;; ***BUG***

| | 3 <- set-window-configuration: t 20171119-164938.964342 *Help*⊣❮1❯glClear…• *temp*⊣void glClear(⊂14⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| 2 <- shr-render-td-1: (71 71 1 (#("void glClear(" 0 1 (face variable-pitch shr-indentation 0) 1 5 (face variable-pitch) 5 12 (face (variable-pitch bold)) 12 13 (face variable-pitch))) 1 nil nil) 20171119-164938.964426 •*Help*⊣❮1❯glClear…⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…

| 2 -> (shr-render-td-1 (td nil "GLbitfield " (var ((class . "pdparam")) "mask") (code nil ")") ";") 325 nil) 20171119-164938.964499 •*Help*⊣❮1❯glClear…⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (current-window-configuration) 20171119-164938.964583 *Help*⊣❮1❯glClear…• *temp*…tfield mask);⊂18⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 <- current-window-configuration: #<window-configuration> 20171119-164938.964688 *Help*⊣❮1❯glClear…• *temp*…tfield mask);⊂18⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| | 3 -> (shr-pixel-buffer-width) 20171119-164938.964759 *Help*⊣❮1❯glClear…⧉• *temp*…tfield mask);❮18❯⊢
| | 3 <- shr-pixel-buffer-width: 91 20171119-164938.964837 *Help*⊣❮1❯glClear…⧉• *temp*…tfield mask);❮18❯⊢
| | 3 -> (set-window-configuration #<window-configuration>) 20171119-164938.964888 *Help*⊣❮1❯glClear…⧉• *temp*…tfield mask);❮18❯⊢
;;; equivocal
| | 3 <- set-window-configuration: t 20171119-164938.964996 *Help*⊣❮1❯glClear…• *temp*…tfield mask);⊂18⊃⊢⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…
| 2 <- shr-render-td-1: (91 91 1 (#("GLbitfield mask);" 0 1 (face variable-pitch shr-indentation 0) 1 11 (face variable-pitch) 11 15 (face variable-pitch) 15 16 (face variable-pitch) 16 17 (face variable-pitch))) 1 nil nil) 20171119-164938.965075 •*Help*⊣❮1❯glClear…⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…

1 <- shr-render-region: nil 20171119-164938.968888 •*Help*…❮1669❯glClear…⧉CNWebGL.js…	gl.❮4220❯clear(gl.COLO…






      parent reply	other threads:[~2017-11-19 23:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-18  7:19 bug#29348: 26.0.50; shr.el heisenbug Devon Sean McCullough
2017-11-18  9:09 ` Eli Zaretskii
     [not found]   ` <7C5A5D18-19DE-4EB9-8A03-CC085B868D49@jovi.net>
2017-11-18 16:29     ` Eli Zaretskii
2017-11-20  4:18       ` Devon Sean McCullough
2017-11-25 11:35         ` Eli Zaretskii
2018-04-12 23:54           ` Lars Ingebrigtsen
2017-11-19 23:56   ` Devon Sean McCullough [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A862CFB5-81B2-4776-A2E5-8FF7118C6707@jovi.net \
    --to=emacs-hacker2017@jovi.net \
    --cc=29348@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.