IRC channel logs

2020-02-12.log

back to list of logs

<daviid>I think I am going to remove the <gdk-event> subclasses, and always return a <gdk-event>, then the accessors, gdk-event:window, gdk-event:time, gdk-event:state ...
<daviid>the reason I started implemeting subclasses was to be fully compatible with guile-gnome, but guile-gnome was accessing the C struct instance element, where g-golf uses the gdk-event api, which is the same for all and every gdk-event
<daviid>this will save quite a bit of unusefull code, and greatly simplify the doc as well ...
<daviid>if anyone has an opinionated opinion, now is the time :)
<str1ngs>daviid: I'm happy with your choice. I don't have an opinion. I would imagine this will impact guile-gnome users more.
<daviid>str1ngs: ok, tx for the feedback, i'll ahead and simplify
<daviid>str1ngs: this will also allow users to access any GdkEvent(structure), and right now, they can only acces a few of the many ... so this will be a win as well
<str1ngs>nice, my GdkEvent usage is pretty basic. but latter I can see this being really helpful.
<daviid>the reason that motivates me is that the GdkEvent api won't raise exception if the struct doen't offer the 'element', but return #f ... it has been planed to work on any GdkEvent ...
<daviid>by the gnome team i mean ....
<daviid>str1ngs: in this makefile example you posted yesterdy, i see 2 tests
<daviid>from a scheme point of view, what would './open & disown' mean?
<daviid>str1ngs: i guess i can use './open https://www.gnu.org/software/guile' as an example
<daviid>though ...
<daviid>str1ngs: in this example you posted, you wrote ';; This does not work\n(g-application-run app (length args) args)' when running a gule script, args is bound to a string that contains first the script name, then the user args ..k
<daviid>so, peekeing args for ./open.scm https://www.gnu.org/software/guile and you get
<daviid>;; ((./open.scm https://www.gnu.org/software/guile))
<daviid>where i think the (g-application-run app ...) you want to pass 1 arg, in this example of course, and that is https://www.gnu.org/software/guile
<str1ngs>daviid ./open & disown forks a default appliation. and then the next call ./open https://gnu.org opens those files on the default application. it's like how emacsclient would work
<daviid>str1ngs: but can i just try ./open.scm https://www.gnu.org/software/guile, for the sake of testing argc, argv in a pure scheme script?
<daviid>actually, i should try this from a repl
<str1ngs>if you an get argv to work yep, and the 'open works
<daviid>working on this with a scrpt is pita :)
<str1ngs>just make sure to thread the g_application_run call so it doesn't block
<str1ngs>this is actually hard to test in a REPL unless you have a good understanding of stat.
<str1ngs>state*
<daviid>maybe i can work and test using gtk-ini, or clutter-initt
<daviid>but i'd neeed a 'sensible example', and it's been decades that we (not only me) always call those passing nul pointers
<str1ngs>I think that will confuse things. because activate setups all the application uniqueness
<daviid>noone actually use this to initialize an app, which is ok, bit i' not familiar
<daviid>i'm going to ask for a imple example for gtk-init or clutter-init on introspectionf
<str1ngs>umm this is GTK recommend way to create a gtk application.
<str1ngs>gtk-init is for trivial applications.
<str1ngs>see the tutorial https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
<daviid>str1ngs: yes, well i don't beleive much int this 'modern way is better', but ... fine
<daviid>str1ngs: not going to do this now, but thanks
<daviid>i need to work on the mechanic
<str1ngs>well the main thing is argv. this can be done with gtk-init so no biggy
<daviid>that does not depend on any thread, nor 'specific' artillary .. just two iit args
<daviid>argc is 'backward' filled by those init functions
<daviid>so g-golf problem is array, all arrays, not just these utf8, but it's a stat
<str1ngs>two do this in a REPL you need arv to work. and two thread app runs with two apps with the same application-id
<str1ngs>to do*
<daviid>yep, and i don't want to try that, i want to try using clutter-iit or gtk-init
<daviid>lt me ask on introspection
<str1ngs>if you focus on argv I will worry about the GApplication aspect. or provided with a testable example
<daviid>str1ngs: exactly
<str1ngs>great thanks
<str1ngs>I know you like gtk-init. but for a large scale application I need the features GApplication provides. namely application uniqueness and its dbus integration
<daviid>str1ngs: sure, it's not that i don't like g-application-run and friends, it is that is unusefully raisng the complexity
<daviid>str1ngs: i don't need that complexity to work on and solve the missig array type in g-golf
<daviid>once it works for gtk-init, clutter-init ... it will work for your use case ...
<str1ngs>right makes sense
<str1ngs>whatever makes things easier for you daviid just let me know what you need from me.
<daviid>str1ngs: they just told me on itrospection gtk4 won't accept any argument
<daviid>but i'll work on this anyway
<str1ngs>gtk4 wont take any command arguements?
<daviid>str1ngs: in your scheme script, you should play with and use (command-line) and compare to what arg is bound to (in the main procedure), because as it is you are truying to pass to many args ...
<daviid>gtk4 gtk-init function
<str1ngs>ahh okay
<str1ngs>also daviid I have this list->argv might be useful http://git.savannah.nongnu.org/cgit/nomad.git/tree/typelib/util.c?h=feature-g-golf#n93
<str1ngs>see the scm_nomad_free_argv above it as well
<daviid>introspection floks suggested to lok at this instead https://developer.gnome.org/gtk3/stable/gtk-running.html
<daviid>i'll use one or more of those, as i told you, it doesn't matter, i jst need a few 'sensible' test examples
<daviid>could use the --name
<str1ngs>do you need a gtk-init example from me. I'm confused. I thought it was established argv was not working?
<daviid>str1ngs: no, tx
<daviid>i usd the wrong channel
<str1ngs>ah okay
<apteryx>hello! Apparently, running QEMU with -nographic resets the terminal (perhaps sending a character such as '\033c'). QEMU is currently launched using Guile's 'execl'. What should I use to be able to filter out any potential \033c character? A pipe?
<dsmith>apteryx: Hmm. That's two chars. '\033' and 'c'. Is that like a vt52 control code
<dsmith>?
<dsmith>Nope. That seems to be ANSI reset terminal to initial state.
<RhodiumToad>where do you think ANSI got it :-)
<RhodiumToad>it's a vt52/vt100/xterm etc. control code
<dsmith>vt52 was way simpler than vt100
<dsmith>apteryx: Maybe there is an option to prevent quemu from doing that?
<dsmith>Maybe "-display none" ? (I've only ever used quemu with debootstrap)
<apteryx>dsmith: I don't think there's a user controllable switch for this in QEMU. I've read the man page, and asked #QEMU.
<apteryx>I was told it's probably the BIOS doing it (not sure about this, since I think for the system tests in Guix most boot straight from the kernel, without involving a BIOS).
<apteryx>dsmith: but I'll try your '-display none', seems it may be related
<apteryx>idea*
<apteryx>nope, didn't do it :-/. Perhaps the Linux kernel itself sends the reset code. I can't scroll back past: "[ 0.000000] Linux version 5.4.18-gnu ..."
<rlb>Say you have a big module with a lot of exports/replaces/etc. -- what's the recommended way to write it to work with 2.2 and 3.0 without "overrides" warnings? i.e. in 3.0 you need #:re-export-and-replace, but 2.2 will reject that, and you can't use cond-expand in define-module as far as I know.
<rlb>I suppose if there were a re-export! that did replacement like export!, then maybe you could use cond-expand after the main define-module to handle just the replaces for each guile, but doesn't look like there is one yet.
***apteryx is now known as Guest15789
***apteryx_ is now known as apteryx
***jonsger1 is now known as jonsger
<dftxbs3e>hey, is GNU Guile being tested on big endian systems at all?
<lloda>dftxbs3e: there was a flurry of mails in the list about hppa, I think that's big endian, isn't it?
<lloda>so yes?
<dftxbs3e>lloda, alright, thanks. I'll have a go at the test suite in a minute.
<dftxbs3e>(compiling from sources..)
<dftxbs3e>((((bootstrap taking **forever**))))
<nerdypepper>/join #termux
<nerdypepper>erm my bad
<dsmith>dftxbs3e: Yes. Good news is, it usually finishes before the next release comes out.
<mwette>Is object code generated by the JIT translater cached to files on disk?
<dsmith-work>Hey Hi Howdy, Guilers
<wingo>mwette: no
<wingo>otoh i am not sure if that would improve things; certainly not for spinning metal, maybe not even for ssd. it's not quite object code either
<stis>heya guileres!
<oni-on-ion>hi =)
<dftxbs3e>GNU Guile's `make check` passed fully on IBM POWER9 ppc64 big endian -- lloda
<dftxbs3e>guile (GNU Guile) 2.2.4
<dftxbs3e>Is GNU Guile's bytecode format portable if built on a little endian system and then used with guile on a big endian system?
<dsmith-work>dftxbs3e: Nope. There are 4 total flavors of .go files. A combo of 32/64 and be/le.
<dftxbs3e>dsmith-work, ah! GNU Guix, when it cross compiles bootstrap binaries embeds the bootstrap .go built from from say little endian amd64 and then you execute it on big endian.. would that be an issue?
<dsmith-work>Yep
<dftxbs3e>dsmith-work, how would you cross compile GNU Guile bytecode?
<dsmith-work>But the packaged tarball already has .go files of different kinds. So the build knows somehow.
<dsmith-work>Unless I'm mistaken..
<dsmith-work>dftxbs3e: Take a look in guile-3.0.0/prebuilt/ from the release tarball.
<dftxbs3e>dsmith-work, FYI, I use guile 2.2 here
<dsmith-work>It's in there too.
<dftxbs3e>dsmith-work, okay
<dftxbs3e>dmiles, I am on a 64bit big endian system, it seems no other platform has that combination
<dsmith-work>:(
<dftxbs3e>A statically linked GNU Guile binary compiled with GNU Guix just segfaults, I'm trying to find the cause
<dftxbs3e>2.2 binary
<dftxbs3e>It segfaults short after loading `ice-9/psyntax-pp.go` and using '_llseek(5, 0, [506061], SEEK_END)' then mmap PROT_READ and mprotect PROT_READ|PROT_WRITE
<dftxbs3e>The segfault also happens if I set GUILE_SYSTEM_PATH=/usr/lib64/guile/2.2/ -- a directory that contains compiled bytecode that work with a dynamically linked version of GNU Guile 2.2.4 -- statically linked version is 2.2.6
<dsmith-work>dftxbs3e: What does "file psyntax-pp.go" say? Should tell bit size and what endian.
<dsmith-work>(they are elf files)
<dftxbs3e>dsmith-work, /tmp/lib/guile/2.2/ccache/ice-9/psyntax-pp.go: ELF 64-bit MSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped
<dftxbs3e>Looks wrong
<dftxbs3e>Is it not?
<dsmith-work>64 be
<dftxbs3e>Where do you see BE?
<dsmith-work>le would be LSB
<dftxbs3e>Okay
<dftxbs3e>Then it should work?
<dsmith-work>That part of it anyway. Sounds like there may be bugs there. Doens't look like that combo is used much.
<dsmith-work>dftxbs3e: Sounds like bug report time.
<dsmith-work>sneek: bugs?
<sneek>bugs is send reports to bug-guile@gnu.org, and see bug reports at http://bugs.gnu.org/guile
<dftxbs3e>dsmith-work, I'll do it ASAP. It seems that it worked by using the system's .go files instead of the files included in the statically linked's version archive
<mfg>Hi there, i'm having trouble with the peg module. I'm trying to parse Androids .bp files. I have this grammar: https://pastebin.com/6egs1A8g , but it fails to parse the test snippet because the string contains numbers which i don't match in my string non termianl. after adding 0-9 to the character class it doesn't work anymore.
<mfg>Can anyone help me? This is the first time i'm using pegs ...