--- Log opened Fri Mar 11 00:00:17 2016 20160311 00:03:58-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20160311 00:05:41-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 00:12:07-!- vultraz changed the topic of #wesnoth-dev to: 1.13.4 announcing today | Wesnoth Developers Channel | >>> Want to help? Go here: http://r.wesnoth.org/t42911 (and thanks!) <<< | Logs: http://irclogs.wesnoth.org | Bug tracker: http://bugs.wesnoth.org 20160311 00:13:11< vultraz> apparently, github now has a Reaction button on posts 20160311 00:13:15< vultraz> we facebook now 20160311 00:16:29-!- louis94 [~~louis94@91.178.242.191] has quit [Quit: Konversation terminated!] 20160311 00:21:52< celticminstrel> A what button. 20160311 00:22:07< celticminstrel> vultraz: So did you have a response to my response on the formula stuff. 20160311 00:22:20< vultraz> Not really 20160311 00:22:25< celticminstrel> 'kay 20160311 00:22:49< vultraz> As long as they're not superfluous additions 20160311 00:22:53< celticminstrel> Huh, a reaction button. 20160311 00:23:15< celticminstrel> There might be some superfluous things mixed in. 20160311 00:25:17< celticminstrel> Actually, my reason for adding hypot was "oh, we have locations, so having distance calculation is good, right" ... but there's actually already distance calculation in the AI-specific code, so all I needed to do was make it global. 20160311 00:25:29< celticminstrel> (Haven't done that, but might yet.) 20160311 00:26:23< shadowm> Reaction button, seriously? 20160311 00:26:33< shadowm> Time to live this piece of crap site for GitLab or something. 20160311 00:26:35< shadowm> *leave 20160311 00:26:41< celticminstrel> Meh. 20160311 00:31:04< shadowm> vultraz: So when exactly are you going to update the wiki and post that? 20160311 00:32:00< shadowm> Ugh, ancestral uploaded the .dmg's SHA256 to SourceForge.net. 20160311 00:32:38< shadowm> Someone tell him to move it to files.wesnoth.org/releases/ when he gets back (I know he doesn't read the logs). 20160311 00:33:28< shadowm> Oh, and I guess I'm still in charge of wesnothd so I need to rebuild that and restart it when the time comes. 20160311 00:42:45-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20160311 00:53:58-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 01:04:52-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20160311 01:06:50-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 01:07:04-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20160311 01:10:21-!- ancestral [~ancestral@71-220-49-102.mpls.qwest.net] has joined #wesnoth-dev 20160311 01:20:17< celticminstrel> Sorry, wrong channel. 20160311 01:20:28< ancestral> Eh, not really “wrong” per se 20160311 01:20:37< celticminstrel> [Mar 10@7:32:01pm] shadowm: Ugh, ancestral uploaded the .dmg's SHA256 to SourceForge.net. 20160311 01:20:38< celticminstrel> [Mar 10@7:32:38pm] shadowm: Someone tell him to move it to files.wesnoth.org/releases/ when he gets back (I know he doesn't read the logs). 20160311 01:20:56< ancestral> The plan was put it in both places 20160311 01:21:02< celticminstrel> I see. 20160311 01:21:03< ancestral> I still have the sha on my computer 20160311 01:21:13< ancestral> Literally I had like 15 minutes 20160311 01:21:20< ancestral> while at work 20160311 01:26:50< ancestral> publickey denied 20160311 01:26:57< ancestral> Wait, I rememebr 20160311 01:27:05< celticminstrel> Uh, what is the point of this. 20160311 01:27:12< celticminstrel> attack_names += t_string(a->name(), "wesnoth") 20160311 01:27:20< celticminstrel> name() returns a t_string already. 20160311 01:29:04< shadowm> I guess (without looking at the relevant ctor) it's forcing a look-up on the wesnoth textdomain to protect against lazy WML coders who don't mark their attack names translatable? 20160311 01:29:47< shadowm> And if it's already translatable then it'll look up the translated version there, fail, and stick to it anyway. 20160311 01:30:13 * celticminstrel takes a look at the t_string class. 20160311 01:30:17< shadowm> It's obsoleted by the move to the wesnoth-units textdomain in a more recent development series though. 20160311 01:30:49< celticminstrel> It's a nice thought, but it doesn't actually do that. There's an implicit conversion to string before calling the constructor. 20160311 01:31:03< shadowm> Which returns the translated version as I said above. 20160311 01:31:27< celticminstrel> Right, and then it builds a new string which tries to look up the translated version in the "wesnoth" textdomain. 20160311 01:31:37< shadowm> 22:29:48 And if it's already translatable then it'll look up the translated version there, fail, and stick to it anyway. 20160311 01:31:38< celticminstrel> Are you saying I should change it to wesnoth-units instead of removing it? 20160311 01:31:53< shadowm> "fail, and stick to (the translated version) anyway" 20160311 01:32:30< shadowm> I'm not saying anything in this case. It's been two or three series with wesnoth-units already, so I don't see the point in trying to clean after other people's mess. 20160311 01:32:58< shadowm> I don't know where the relevant call happens but it seems like a waste of time for a rare best-case anyway. 20160311 01:33:18< celticminstrel> I'm shifting code around anyway, it doesn't hurt to do a little cleanup at the same time. 20160311 01:33:30< celticminstrel> Well, okay, it could hurt, I guess. Depending on the cleanup. 20160311 01:37:06< ancestral> Keep forgetting ssh-add 20160311 01:38:15-!- aeonchild [enchilado@defocus/yummy/enchilado] has quit [Ping timeout: 264 seconds] 20160311 01:45:41-!- aeonchild [enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20160311 01:50:20< ancestral> k done 20160311 01:50:21-!- ancestral [~ancestral@71-220-49-102.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160311 02:00:03-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20160311 02:01:07< vultraz_iOS> Allos 20160311 02:03:01< celticminstrel> 'li 20160311 02:03:04< celticminstrel> ^'lo 20160311 02:15:42-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20160311 02:19:17-!- mjs-de [~mjs-de@x4db6b340.dyn.telefonica.de] has quit [Remote host closed the connection] 20160311 02:30:46< vultraz_iOS> I'm away from my laptop but if you guys need anything you can ping me here 20160311 02:34:16-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160311 02:43:33-!- {V} [~V@105-70-ftth.on.nl] has quit [Ping timeout: 276 seconds] 20160311 02:44:35-!- {V} [~V@105-70-ftth.on.nl] has joined #wesnoth-dev 20160311 03:19:09-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 03:22:01 * vultraz back 20160311 03:22:51< celticminstrel> Just updated all three of my PRs. 20160311 03:23:33-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 240 seconds] 20160311 03:30:12-!- Appleman1234 [~Appleman1@KD106161151150.au-net.ne.jp] has quit [Ping timeout: 260 seconds] 20160311 03:30:37< vultraz> celticminstrel: do you know what name and write_name are supposed to do in [item] 20160311 03:31:06< celticminstrel> Uh. No idea. 20160311 03:38:43 * vultraz pings loonycyborg 20160311 03:39:33< vultraz> loonycyborg: when you're around, I'll post the announcement 20160311 03:39:43< vultraz> (since you need to update frontpage) 20160311 03:44:42< celticminstrel> Huh, I didn't know Lua had an exponentiation operator. 20160311 03:45:40< vultraz> celticminstrel: ok, dealing with those page moves 20160311 03:47:37< vultraz> the [[/foo]] includes don't seem to work, though 20160311 03:48:32< celticminstrel> You moved one already? 20160311 03:49:22< vultraz> I moved them all already 20160311 03:49:29< vultraz> (with redirects, of course) 20160311 03:49:29< celticminstrel> Ah. 20160311 03:50:41< celticminstrel> :| 20160311 03:51:38< celticminstrel> It looks like it needs to be enabled in the configuration. 20160311 03:52:34< vultraz> :| 20160311 03:52:42< vultraz> guess we need shadowm 20160311 03:52:48< celticminstrel> Guess so. 20160311 03:53:06 * celticminstrel is worried that enabling it may break existing pages using the / syntax. 20160311 03:54:34< celticminstrel> If it is to be enabled, here's how: https://www.mediawiki.org/wiki/Manual:$wgNamespacesWithSubpages 20160311 03:55:56< shadowm> celticminstrel, vultraz What are you talking about? 20160311 03:56:26< shadowm> vultraz: I just said you need me to update the MP server (no-one else has the required access or know-how atm), so since I'm around we might as well start now. 20160311 03:56:36< shadowm> Give me 5 minutes to make some tea. 20160311 03:56:40< vultraz> we need you to set $wgNamespacesWithSubpages[NS_MAIN] and $wgNamespacesWithSubpages[NS_TEMPLATE] to true on the wiki 20160311 03:56:47< celticminstrel> There's quite a few pages currently using / in the name, most of which are translations. 20160311 03:57:02< shadowm> I don't do code changes without a due explanation of their purpose. 20160311 03:57:15< celticminstrel> Perhaps this is better avoided after all. :/ 20160311 03:57:30< celticminstrel> It makes sense for the translations to be subpages, mind you. 20160311 03:57:41< celticminstrel> But some of the others, I'm less sure. 20160311 04:00:40< vultraz> random off-topic: --new-widgets makes wesnoth run slow as hell 20160311 04:00:58< celticminstrel> shadowm: The explanation of what it does is make / a special character in wiki pagenames, so that eg the page "LuaWML/Variables" would show breadcrumbs linking back to the LuaWML page, and from LuaWML you could link to it as [[/Variables]]. 20160311 04:01:07< shadowm> vultraz: So should I start or not? 20160311 04:01:24< vultraz> shadowm: yes 20160311 04:01:42< celticminstrel> I recall that on an older MW version it could cause problems if you enabled it when pages containing / already existed. I have no idea if that's still the case. It doesn't say anything on the MW page about it. 20160311 04:02:39< shadowm> I can confirm we do have pages with forward slashes in their names. 20160311 04:02:54 * celticminstrel nods. 20160311 04:03:20< celticminstrel> (The problem it caused was that the pages became inaccessible, I believe.) 20160311 04:03:42< shadowm> Yeah, that would be bad. 20160311 04:03:50 * celticminstrel nods. 20160311 04:03:59< shadowm> Do we really need it, though? https://wiki.wesnoth.org/User:Shadowmaster/AtSProseCorrection 20160311 04:04:07< shadowm> Notice that there is a link to the "parent" at the top. 20160311 04:04:28< celticminstrel> It's enabled on a per-namespace basis. 20160311 04:04:37< celticminstrel> Since that's the User namespace, it's enabled already. 20160311 04:09:06< shadowm> vultraz: You're missing the size and SHA256 of the OS X package. 20160311 04:09:20< shadowm> The info on the wiki is still out of date. 20160311 04:09:40< shadowm> https://wiki.wesnoth.org/Template:DevDownload https://wiki.wesnoth.org/Download_Xdeltas 20160311 04:10:50< vultraz> I thought we weren't doing Xdeltas this release 20160311 04:10:59< celticminstrel> If that's the case, the page should say so. 20160311 04:11:40< celticminstrel> (Is it the case?) 20160311 04:12:14 * vultraz curses sourceforge 20160311 04:12:44< vultraz> U*@()#&*(# pos interface 20160311 04:13:11< vultraz> seriously, how does one manage to keep a site this shitty 20160311 04:13:17< shadowm> That's not what SF.Nnet says: https://sourceforge.net/projects/wesnoth/files/wesnoth/wesnoth-1.13.4/ 20160311 04:14:11< celticminstrel> Huh? 20160311 04:14:16< vultraz> what? 20160311 04:14:21< shadowm> 01:10:52 I thought we weren't doing Xdeltas this release 20160311 04:14:24< shadowm> 01:13:18 That's not what SF.Nnet says: https://sourceforge.net/projects/wesnoth/files/wesnoth/wesnoth-1.13.4/ 20160311 04:14:39< celticminstrel> Oh, there's an xdelta there. 20160311 04:14:39< vultraz> blagh 20160311 04:14:54< celticminstrel> Also one for 1.13.2. 20160311 04:15:00< vultraz> wtf is wrong with the wiki's editing fields 20160311 04:15:02< celticminstrel> I mean 1.13.3. 20160311 04:15:09< vultraz> there's massive input lag when I type 20160311 04:15:15< celticminstrel> Weird. 20160311 04:15:30< shadowm> 01:15:02 wtf is wrong with my browser 20160311 04:15:32< shadowm> FTFY 20160311 04:17:25< vultraz> there's nothing wrong with my browser 20160311 04:18:00< shadowm> And there's nothing wrong with mine either, so there's no input lag for me. 20160311 04:21:45< shadowm> Hm. 20160311 04:21:51< shadowm> vultraz, what holidays do we have now? 20160311 04:21:58< vultraz> wha? 20160311 04:22:09< shadowm> "Wesnoth 1.13.4 is now available, right in time for the holidays!" 20160311 04:22:17< shadowm> Please don't tell me you didn't even check before posting this. 20160311 04:22:48< vultraz> ah, missed that 20160311 04:22:49< shadowm> It's a lazy copy-edit from my announcement for 1.13.2. 20160311 04:22:56< vultraz> Obviously 20160311 04:23:05< shadowm> And that's bad. 20160311 04:24:37< shadowm> So tell me when that post is actually finished. 20160311 04:26:57< vultraz> "You may also find packages for other platforms there as they become available." is this still relevant anymore 20160311 04:27:04< vultraz> suggest removal 20160311 04:27:25< shadowm> I suggest ignoring your suggestion. 20160311 04:28:45< vultraz> Edited post 20160311 04:29:32< shadowm> I'm assuming it's final then. Post everything so you can give me the thread number for the RA topic. 20160311 04:30:41-!- Appleman1234 [~Appleman1@KD106161151150.au-net.ne.jp] has joined #wesnoth-dev 20160311 04:30:42< vultraz> You mean post the announcement? 20160311 04:31:50< shadowm> No, I mean you post the banana pie. 20160311 04:32:03< vultraz> using mode Announcement, right, not Global? 20160311 04:32:05< shadowm> Then give me the banana pie's national identification number. 20160311 04:32:14< shadowm> Have you ever seen a release announcement in all forums? 20160311 04:32:51< vultraz> I'm just making sure 20160311 04:32:54< vultraz> I've never done this before 20160311 04:33:56< shadowm> You've been using the forums for like 6 years however. 20160311 04:34:21< vultraz> 43912 20160311 04:34:49< shadowm> Done. 20160311 04:35:51< vultraz> Alright, I've locked and demoted the 1.13.2 thread 20160311 04:37:05-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20160311 04:37:25-!- vultraz changed the topic of #wesnoth-dev to: Wesnoth Developers Channel | >>> Want to help? Go here: http://r.wesnoth.org/t42911 (and thanks!) <<< | Logs: http://irclogs.wesnoth.org | Bug tracker: http://bugs.wesnoth.org 20160311 04:37:38< vultraz> ah 20160311 04:37:39< vultraz> the tweet 20160311 04:38:11< shadowm> When I did this I made sure to have a window open with the tweet ready to submit as soon as I got the thread number. 20160311 04:38:29< shadowm> You also want to update the #wesnoth topic. 20160311 04:42:45-!- irker162 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20160311 04:42:46< irker162> wesnoth: Charles Dang wesnoth:master 07065cea46e0 / RELEASE_NOTES: Purge RELEASE_NOTES https://github.com/wesnoth/wesnoth/commit/07065cea46e0dc8a608e9b7851183eb466edccca 20160311 04:43:41< shadowm> You removed the 1.13.2 OS X package's SHA256 from the list. 20160311 04:44:42< celticminstrel> vultraz: You didn't comb changelog for release notes items? :| 20160311 04:44:58< shadowm> There's no post in the News forum yet either. 20160311 04:45:03< vultraz> ? 20160311 04:45:13< vultraz> I have to copy the frontpage thing to news? 20160311 04:45:24< shadowm> Jesus. 20160311 04:45:32< vultraz> Why doesn't frontpage just read from news... 20160311 04:45:41< shadowm> Because it's an HTML document. 20160311 04:46:34< shadowm> Also, _you_ wrote the bbcode version, and that's the one you want to copy (instead of reverse-engineering the HTML). 20160311 04:46:52< celticminstrel> Wait, why is the post in Mod Forum still? 20160311 04:47:12< shadowm> Because it doesn't need to be deleted. 20160311 04:47:20< celticminstrel> Then where's the actual post... 20160311 04:47:35< shadowm> In Release Announcements (first post) and News (last post). 20160311 04:47:44< shadowm> Except the latter is still pending. 20160311 04:48:11< celticminstrel> Release Announcements/ 20160311 04:48:13< celticminstrel> ^? 20160311 04:48:19< shadowm> Yep. 20160311 04:48:57< celticminstrel> Oh, there it is. Alright. 20160311 04:49:19< celticminstrel> Vultraz why did you not comb the changelog for release note items... 20160311 04:49:30< celticminstrel> (Or, was there nothing of interest there?) 20160311 04:49:36< vultraz> I looked, added one or two 20160311 04:49:45< vultraz> I didn't feel like writing a detailed synopsis 20160311 04:50:11< celticminstrel> So there wasn't much of note then? 20160311 04:50:28< vultraz> not much, no 20160311 04:50:42< vultraz> I suppose I could have mentioned the village graphics 20160311 04:50:59 * celticminstrel shrug 20160311 04:51:07< shadowm> I'm sure no-one will miss having an angry tyrant demanding elaborate explanations of every single changelog item that could pique people's interest. 20160311 04:51:34< celticminstrel> Eh? 20160311 04:51:41< shadowm> That's what I did. 20160311 04:52:16< vultraz> He's being facetious 20160311 04:52:17< shadowm> Read the changelogs (and Git logs for stable releases, if feasible), ask people for more details if their stuff wasn't explained in RELEASE_NOTES (or was explained poorly). 20160311 04:52:43< shadowm> I sometimes added more words of my own if I deemed it important for our user base. 20160311 04:54:28 * vultraz resumes work on GUI2 Addons Manager 20160311 04:54:35< vultraz> BTW, I've gotten the layout to stay static 20160311 04:54:44< celticminstrel> Ahh, that's why you were asking about name= and write_name= 20160311 04:54:46< vultraz> I should probably write a wiki page on GUI2 layout manipulation 20160311 04:55:05< vultraz> it's not that obvious 20160311 04:55:19< shadowm> Okay, I'm assuming I'm not required for anything else then. Goodbye. 20160311 04:55:22< celticminstrel> Oh yeah, shadowm, where's the GUI2 wikidocs again? 20160311 04:55:27< vultraz> shadowm: ty for help 20160311 04:55:39< shadowm> I have GUIToolkitWML in my browser history as a starting point. 20160311 04:55:44< celticminstrel> 'kay 20160311 04:55:55< shadowm> There's category links at the bottom, one of the categories is used for all GUI2 docs. 20160311 04:56:20< shadowm> Someone ought to remind me to regenerate them since people have been adding stuff (then again, I suspect the odds that they updated the GUI2 doc comments are pretty low). 20160311 04:56:37< vultraz> I have not updated the doccoments 20160311 04:56:59< shadowm> Color me unsurprised. 20160311 04:57:07< celticminstrel> vultraz: Do it. Now. 20160311 04:57:15< celticminstrel> tunit_preview_whatever needs docs. 20160311 04:57:53< vultraz> hey, gfgtdf also doesn't update docs 20160311 04:58:06< celticminstrel> He's not here to complain to right now. >_> 20160311 04:58:09< shadowm> "mom that kid kicked a dog in its anus too!" 20160311 04:58:10< vultraz> fabi never updated docs 20160311 04:58:13< shadowm> "im totally allowed to do that" 20160311 04:58:47< vultraz> I'm just saying, don't single me out 20160311 04:58:56< celticminstrel> I won't. 20160311 04:59:44< shadowm> This might sound like a revolutionary idea, but if you know other people don't do their best to keep things tidy, perhaps you should aim higher then? 20160311 05:00:45< vultraz> First, I must write my layout guide page, before I get run over by a bus 20160311 05:00:50< shadowm> Off for real now. 20160311 05:33:39-!- travis-ci [~travis-ci@ec2-54-198-150-86.compute-1.amazonaws.com] has joined #wesnoth-dev 20160311 05:33:40< travis-ci> wesnoth/wesnoth#8830 (master - 07065ce : Charles Dang): The build is still failing. 20160311 05:33:40< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/115238674 20160311 05:33:41-!- travis-ci [~travis-ci@ec2-54-198-150-86.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160311 05:48:00-!- VultCave [~chatzilla@124.109.10.167] has joined #wesnoth-dev 20160311 05:48:34< celticminstrel> ... 20160311 05:48:49-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 240 seconds] 20160311 05:49:05-!- VultCave is now known as vultraz 20160311 05:52:08< celticminstrel> vultraz: Looks like GUI2 addons list test failed. 20160311 05:55:07-!- ancestral [~ancestral@71-220-49-102.mpls.qwest.net] has joined #wesnoth-dev 20160311 05:56:36< celticminstrel> Also vultraz, you should probably link your new page from GUIToolkit. 20160311 06:04:29< celticminstrel> I don't suppose there're any pages that say anything about formulas used in GUI2? The GUIVariable page does mention them in passing, at least... 20160311 06:11:51< celticminstrel> Ah, there's some stuff in GUICanvasWML about it. 20160311 06:16:17< celticminstrel> Some pages don't clearly distinguish between WML attributes and formula variables. :| 20160311 06:17:17-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20160311 06:19:28-!- Greg-Bog_ [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 06:23:55-!- Greg-Bog_ [~greg_bogg@173.240.241.83] has quit [Ping timeout: 252 seconds] 20160311 06:31:21-!- Kwandulin [~Miranda@p200300760F7D734BA003229593254C80.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160311 06:37:25-!- ancestral [~ancestral@71-220-49-102.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160311 06:50:21< Aginor> vultraz: answering your questions from ~21h ago 20160311 06:50:39< celticminstrel> Oh hey, a wild Aginor. 20160311 06:50:54< Aginor> hi celticminstrel 20160311 06:52:10< Aginor> vultraz: what I've been meaning when I've referred to as a "draw cycle" is all of the rendering that's happening after updating the game state in any way 20160311 06:52:33< Aginor> any way includes advancing animations and similar things 20160311 06:52:55< Aginor> as they can be considered a part of the global game state 20160311 06:54:03< Aginor> many games have a main (simplified) loop that has the following: process inputs, update state, render 20160311 06:54:41< Aginor> so far a lot of the focus has been around the "processing inputs" aspect 20160311 06:55:22< celticminstrel> Hmm, looking at my formula engine updates, I feel like the change to head() and addition of tail() might be obsolete; head() itself is kind of pointless in the first place. 20160311 06:55:27< Aginor> but to make for a better experience, we need to streamline the rendering aspect, and do it in such a way that it will be forward extensible to support open gl 20160311 06:55:50< celticminstrel> They take the first or last n elements of a list. Originally, head() only took the first element, so it was identical to list[0]. 20160311 06:56:26< celticminstrel> Now tail(list) is identical to list[-1], head(list,n) is identical to list[1~n], tail(list,n) is identical to something like list[-1~-n]. 20160311 06:56:32< Aginor> In order to avoid isues with flickering, one thing that we need to do is to control how and when flip() is invoked. As it's a double-buffered surface, it should be safe, except that we tell it to update before the game has finished rendering 20160311 06:56:38< Aginor> causing "flickering" 20160311 06:56:52< celticminstrel> Anyone think I should drop tail() and the extra argument to head() and consider head() deprecated? 20160311 06:56:54< Aginor> so sorting that out is a next step for us 20160311 06:57:18< celticminstrel> Hmm, tail() does seem a bit more convenient than the range syntax though, I suppose... 20160311 06:57:55< Aginor> overall, it'll make the rendering aspect of the game slightly clearer, separating the concerns between the various actors 20160311 06:57:58< celticminstrel> Actually I think tail(list, n) would be list[-1 ~ -n-1] - not exactly friendly-looking. (Will test tomorrow when I have a build again.) 20160311 06:58:50< Aginor> celticminstrel: what's wrong with head and tail? 20160311 06:59:10< celticminstrel> Nothing is fundamentally wrong with them, it just looks like they might be redundant. 20160311 06:59:41< celticminstrel> head(list) already existed and is the same as list[0]. 20160311 06:59:52< celticminstrel> I added head(list, n), tail(list), tail(list, n) 20160311 07:00:00< Aginor> I think it yields additional clarity over the other syntax, making it more obvious what the overall intent is. However, what's the rest of the style for similar functions? 20160311 07:00:20< celticminstrel> Similar functions meaning...? 20160311 07:01:08< Aginor> are there other types of list-like classes that have other/similar syntax? like arrays? 20160311 07:01:12< celticminstrel> Ah. 20160311 07:01:19< celticminstrel> There's only lists and maps. 20160311 07:01:22< Aginor> how will it affect addon writers? 20160311 07:01:25< celticminstrel> Both with [] syntax. 20160311 07:01:38< celticminstrel> head() and tail() only function on lists, not maps, 20160311 07:01:41< Aginor> I guess I'm showing my ignorance of wml her e:) 20160311 07:02:01< celticminstrel> This is actually formula, not WML. :) 20160311 07:02:29< Aginor> allow me to further demonstrate my ignorance to say that I'm not aware of what the distinction is ;) 20160311 07:02:44 * celticminstrel thinks, realizes head(list, n) would actually be list[0 ~ n-1] while tail(list, n) would be list[-1 ~ -n] 20160311 07:02:44< Aginor> I've stayed away from that part of wesnoth alltogether so far 20160311 07:03:12< celticminstrel> The formula language is the functional language used in WML formula substitution syntax within $(...) 20160311 07:03:18< Aginor> celticminstrel: I can't say I particularily care for that syntax, but I think a lot of that is the ~ syntax 20160311 07:03:28< celticminstrel> It's also used in several other places, including GUI2 and unit filter formula= 20160311 07:03:55< celticminstrel> You don't like the ~ in general, or specifically here where it has something other than a single digit on each side? 20160311 07:04:49< Aginor> I don't like it in general, I think it's too similar with the bit-not operation in c-style languages 20160311 07:05:05< celticminstrel> Well, it also uses ^ for exponentiation, so... 20160311 07:05:16< celticminstrel> Also, bit-not is unary while this is binary. 20160311 07:05:21< Aginor> I'd rather take a page from python's book and use a ',' making it look more like a set-like operation 20160311 07:05:28< celticminstrel> ALSO, this is similar to the progressive animation syntax. 20160311 07:05:41< Aginor> which are all good points :) 20160311 07:06:01< Aginor> I'm usually staying out of these discussions because I have no clue ;) 20160311 07:06:27< celticminstrel> I personally think a comma is rather bad for saying "this is a range". 20160311 07:06:55< celticminstrel> So anyway, you think the redundancy of head() and tail() isn't a problem, then? 20160311 07:08:36< Aginor> not a huge one 20160311 07:08:45< Aginor> especially not if it's already used by people 20160311 07:09:01< Aginor> if there's a way to makr things as deprecated, do that instead of just removing them 20160311 07:09:11< Aginor> celticminstrel: https://en.wikipedia.org/wiki/Interval_%28mathematics%29 for ranges/intervals :) 20160311 07:09:20< celticminstrel> The only one that might already be used is head(list) - head(list,n), tail(list), and tail(list,n) I added myself. 20160311 07:09:23< Aginor> that's why I think it makes sense 20160311 07:09:29< celticminstrel> Which is why I'm thinking about the redundancy thing. 20160311 07:09:39< celticminstrel> Ah, you actually have a good point there. 20160311 07:09:49< Aginor> thanks 20160311 07:10:26< Aginor> I'm pleased to know that my first-year calculus was good for something :D 20160311 07:11:37< celticminstrel> I don't think I've ever heard of a programming language using mathematical interval syntax (barring maybe actual math languages like Maple etc), probably because of the unbalanced brackets. 20160311 07:12:11< celticminstrel> Anyway, these are discrete ranges, so the interval syntax might actually be a little misleading. 20160311 07:13:21< Aginor> celticminstrel: that's a fair point, but I actually think that the way python does it [start, finish] is pretty good 20160311 07:13:47< celticminstrel> If you mean Python slicing syntax, that's actually list[start:one_past_end]. 20160311 07:13:54< Aginor> hmm 20160311 07:14:00< celticminstrel> Or even list[start : one_past_end : step] 20160311 07:14:02 * Aginor bows his head in shame 20160311 07:14:08< Aginor> you're right 20160311 07:14:19< celticminstrel> Maybe you were thinking of the range() function though? 20160311 07:14:20< Aginor> I am misremembering and mixing things up 20160311 07:14:25 * celticminstrel shrug 20160311 07:16:04< celticminstrel> I'm still wondering if there's any point in having union, intersection, set difference, symmetric difference... especially since sets technically aren't a thing in the language. 20160311 07:16:23< Aginor> I'd argue no 20160311 07:16:28< celticminstrel> (They operate on lists - treating them as sets - or maps instead.) 20160311 07:16:33< celticminstrel> I may yet remove them. 20160311 07:16:54< Aginor> I might be cynical, but I suspect most people wouldn't know what to do with them 20160311 07:16:56< celticminstrel> I think I should probably make reverse() work on lists as well as strings. 20160311 07:17:21< celticminstrel> Initially I thought it wouldn't be needed for lists because you can do sort(list, b < a), but then I realized that that doesn't do the same thing. 20160311 07:18:03< irker162> wesnoth: Charles Dang wesnoth:master aa880e57e983 / src/tests/gui/test_gui2.cpp: Exclude addon_list from tests https://github.com/wesnoth/wesnoth/commit/aa880e57e98395ab703223711f712e34bae189db 20160311 07:18:20< celticminstrel> I'm not sure how to describe the zip() function in the changelog... 20160311 07:18:27< Aginor> celticminstrel: :D 20160311 07:18:33< celticminstrel> ? 20160311 07:19:09< Aginor> celticminstrel: maybe just link to an explanation of the zip function? 20160311 07:19:23< celticminstrel> Well, the changelog is plaintext. 20160311 07:19:26< vultraz> celticminstrel: I'm not done with my page yet 20160311 07:19:35< celticminstrel> vultraz: Fair enough. 20160311 07:19:43< celticminstrel> vultraz: Should I drop the set operations? 20160311 07:19:48< vultraz> No idea 20160311 07:19:53< vultraz> Defer to Aginor 20160311 07:20:01< celticminstrel> Heh, so helpful. :P 20160311 07:20:32< Aginor> I've got no idea what's appropriate, I'm not familiar with that aspect of the game 20160311 07:20:40< Aginor> or even, common API for those parts 20160311 07:21:02< celticminstrel> Most actual uses of this stuff in the wild is probably going to be FormulaAI, with a few unit filter formulas here and there. 20160311 07:21:34< Aginor> include it, have someone who's more familiar of the syntax sign off on it :) 20160311 07:21:38< Aginor> how are yo documenting the API? 20160311 07:21:51 * celticminstrel just resorts to writing an example for the zip() function. 20160311 07:21:56< celticminstrel> https://wiki.wesnoth.org/Wesnoth_Formula_Language#Numbers 20160311 07:22:07< celticminstrel> ^ That's the current state of the language, prior to my PR 20160311 07:22:42< celticminstrel> I'll update it with all the new info if/when my PR is merged. 20160311 07:22:51< celticminstrel> Right now I'm building changelog entries. 20160311 07:24:43< celticminstrel> Do you think there's any point in including the hypot() function? 20160311 07:25:04< celticminstrel> It's supposed to calculate a hypoteneuse with minimal precision errors. 20160311 07:25:28< celticminstrel> (ie, hypot(x,y) calculates sqrt(x*x+y*y)) 20160311 07:26:28< Aginor> where would people use trigonometry to start eith? 20160311 07:26:56< celticminstrel> Well, sin() and cos() were already there. 20160311 07:27:26< Aginor> ok 20160311 07:27:32< Aginor> hmm 20160311 07:27:56< Aginor> hypot is potentially useful, but if people are worried about errors they'll not do sqrt 20160311 07:28:24< celticminstrel> Or if you're asking why people would use hypot(), it's Euclidean distance... though there's actually an existing distance_between() function somewhere in FormulaAI which could potentially be made global. 20160311 07:28:33< celticminstrel> (Does Euclidean distance even apply on a hex grid?) 20160311 07:29:15< vultraz> I'm not sure.. 20160311 07:29:36< Aginor> celticminstrel: yes 20160311 07:30:06< celticminstrel> hypot() supposedly minimizes the error by calculating it in a non-obvious way. 20160311 07:30:57< celticminstrel> I tried it on 100 or so Pythagorean triples. It got the exact result every time. (Though I'm not sure if Pythagorean triples are a good test case for it.) 20160311 07:31:35< vultraz> I though the distance formula was sqrrt((x1+y1)2+(x2+y2)2) 20160311 07:31:37 * celticminstrel briefly considered adding the 2-argument atan() too. It supposedly calcualtes atan(x/y) with minimized error somehow. 20160311 07:31:40< vultraz> or am I misremembering 20160311 07:31:54< celticminstrel> vultraz: Your second level of +'s should be - 20160311 07:32:20< vultraz> ah, right, yes 20160311 07:32:21< wedge009> Whee, I see the 1.13.4 announcement. 20160311 07:32:22< celticminstrel> And in my formula for hypot(), x = x1-x2 and y = y1-y2 if you're calculating distance. 20160311 07:32:33< celticminstrel> So it comes out the same. :) 20160311 07:32:36< vultraz> ahh 20160311 07:32:37< vultraz> ok, good 20160311 07:32:40< vultraz> leave that 20160311 07:33:12< celticminstrel> wedge009: Any opinions on PR624? Or more specifically, on set operators? 20160311 07:34:17< wedge009> I don't really use WML, sorry. 20160311 07:37:54< celticminstrel> Draft changelog entry: https://github.com/wesnoth/wesnoth/commit/8d80697821c9ce002c54de8c80e69875f2824423 20160311 07:38:21< celticminstrel> Anything too verbose? Or misclassified? 20160311 07:38:27 * Aginor looks 20160311 07:38:43< vultraz> we should really allow wider changelog entries 20160311 07:39:01< vultraz> I have absolutely no idea where this ~70 characters per line standard is actually useful 20160311 07:39:07< celticminstrel> I don't think it's a big deal, vultraz. 20160311 07:39:14< celticminstrel> Also it's 80 characters. 20160311 07:39:26< celticminstrel> I think it means you can view it in most Terminal windows without line-wrapping, or something like that. 20160311 07:39:55< vultraz> what kind of terminal can't be resized nowadays? 20160311 07:40:05< celticminstrel> No idea. 20160311 07:40:14< Aginor> mine normally is 80... 20160311 07:40:23< Aginor> it allows me to fit 4 on the screen, which is great 20160311 07:40:34< celticminstrel> But even if they can be resized, they generally default to 80, and I suspect most people don't bother to change it even if they can. 20160311 07:40:42< celticminstrel> ...or they have good reasons not to, like Aginor. 20160311 07:41:43< Aginor> 24x80 is the traditional size, and it's stuck as a standard for a long time 20160311 07:41:49< Aginor> and probably will keep sticking 20160311 07:43:22< celticminstrel> Ah, looks like I need to update some unit tests for the formula stuff. 20160311 07:44:15< celticminstrel> Hmm, I'm not actually sure if those test failures are a code regression or a fix. I'll have to investigate more closely later. 20160311 07:44:55< celticminstrel> It's pretty suspicious that every single one is off by 1. 20160311 07:49:38< celticminstrel> Something very weird is happening with the WML tests on PR618. 20160311 07:51:10< Aginor> celticminstrel: I'm still not sold on the range operator ;) 20160311 07:51:21< celticminstrel> Any changelog comments before I sleep? 20160311 07:52:01< celticminstrel> (Though I can always see any comments you make after I wake up, too.) 20160311 07:53:41< Aginor> celticminstrel: changelog looks good 20160311 07:53:59< celticminstrel> Not too detailed or anything misclassified then? 20160311 07:55:26< Aginor> I'll have a second read-through later, but it looks good at first glance 20160311 07:55:37< celticminstrel> 'kay 20160311 07:55:59-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20160311 08:00:39-!- travis-ci [~travis-ci@ec2-54-166-43-42.compute-1.amazonaws.com] has joined #wesnoth-dev 20160311 08:00:40< travis-ci> wesnoth/wesnoth#8834 (master - aa880e5 : Charles Dang): The build is still failing. 20160311 08:00:40< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/115255036 20160311 08:00:40-!- travis-ci [~travis-ci@ec2-54-166-43-42.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160311 08:01:38< vultraz> blagh 20160311 08:01:43< vultraz> only SOME tests fail 20160311 08:09:09 * vultraz ponders best place to put Install button 20160311 08:10:06< zookeeper> celticminstrel, come on, again these invalid characters 20160311 08:10:08< zookeeper> < celticminstrel> 'li 20160311 08:20:47< vultraz> I really think we need a big-ass button 20160311 08:22:34< vultraz> we do have a big-ass button 20160311 08:24:16-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160311 08:30:45< vultraz> I'm not sure how to make use of the big-ass button 20160311 08:35:11-!- Kwandulin [~Miranda@p200300760F7D734BA003229593254C80.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160311 08:36:42-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20160311 08:37:21< zookeeper> i don't think we want ass buttons of any size :| 20160311 08:39:13-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 252 seconds] 20160311 08:39:13-!- wedge010 is now known as wedge009 20160311 08:41:42< Aginor> wedge009: I think it's great that you're doing the testing you're doing 20160311 08:42:43< loonycyborg> vultraz: I'm around now 20160311 08:42:55< vultraz> loonycyborg: shadowm already helped with the announcement 20160311 08:42:57< vultraz> thanks anyway 20160311 08:44:47< Aginor> vultraz: you should put it on reddit too: https://www.reddit.com/r/wesnoth 20160311 08:45:16< vultraz> I don't have a reddit account 20160311 08:45:20< vultraz> I think ancestral manages that 20160311 08:46:19< Aginor> signing up is too easy 20160311 08:46:21< Aginor> even I have one 20160311 08:46:28< Aginor> and that's to say something 20160311 08:46:29-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 08:48:35< vultraz> I should probably get one 20160311 08:50:49-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 240 seconds] 20160311 08:54:34< vultraz> celticminstrel: opinion on use of button like this: https://drive.google.com/file/d/0B-mR9s8FduLLbmtqRUNNQUdvT3M/view?usp=sharing 20160311 08:57:56< zookeeper> oh my 20160311 08:57:59< zookeeper> it's so big 20160311 08:58:31< vultraz> indeed 20160311 09:14:50< vultraz> I'm debating if that's the right place for it 20160311 09:17:42< vultraz> maybe I'll move it over the details bits 20160311 09:42:33-!- Appleman1234 [~Appleman1@KD106161151150.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20160311 09:55:07-!- zombah [~zombah@2a02:28:3:1:214:4fff:fe47:5920] has joined #wesnoth-dev 20160311 10:06:45< vultraz> zookeeper, celticminstrel, shadowm, gfgtdf: https://drive.google.com/file/d/0B-mR9s8FduLLWEVYRG41VzE1WVk/view?usp=sharing 20160311 10:10:44< zookeeper> looks okay. the filter options button should surely be next to the filter box though, right? 20160311 10:11:39< zookeeper> and seeing you're already using horizontal spacer lines, might consider putting one between the browser+description and the bottom help/updateall/exit buttons 20160311 10:13:09< vultraz> ehhhh 20160311 10:13:13< vultraz> I guess I can do that 20160311 10:18:10-!- irker162 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20160311 10:40:08-!- Appleman1234 [~Appleman1@KD106161150090.au-net.ne.jp] has joined #wesnoth-dev 20160311 10:41:16-!- irker544 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20160311 10:41:16< irker544> wesnoth: Charles Dang wesnoth:master cb0f7d81fa46 / data/gui/default/macros/_initial.cfg: Added macro for a horizontal spacer line https://github.com/wesnoth/wesnoth/commit/cb0f7d81fa46bf7adef3838e4b9b54e84be7e312 20160311 10:42:14-!- Nobun [~nobun@host62-49-dynamic.12-79-r.retail.telecomitalia.it] has joined #wesnoth-dev 20160311 10:46:45< Nobun> a little question around wesnoth/data/test files 20160311 10:47:05< Nobun> all those files should be tested with domain "wesnoth"? 20160311 10:57:54< vultraz> what do you mean 20160311 10:58:07-!- mjs-de [~mjs-de@f049119243.adsl.alicedsl.de] has joined #wesnoth-dev 20160311 11:02:13< Nobun> I am developing an alternate version of wmlxgettext 20160311 11:02:57< Nobun> yesterday loonycyborg reported a bug, while he was testing my script with a file contained in wesnoth/data/test 20160311 11:03:46< Nobun> (it was wesnoth/data/test/scenarios/test_lua_wml.cfg 20160311 11:04:42< Nobun> now I am asking myself if the files on wesnoth/data/test should be tested (with wmlxgettext) setting domain to "wesnoth" or if there are files that required to be tested with another domain 20160311 11:07:03< vultraz> I don't know 20160311 11:07:57< Nobun> well... thank you for trying to answer :) 20160311 11:13:40-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 11:18:27-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 264 seconds] 20160311 11:30:03-!- clavi [~clavi@163.172.10.77] has quit [Ping timeout: 276 seconds] 20160311 11:33:54-!- clavi [~clavi@163.172.10.77] has joined #wesnoth-dev 20160311 11:51:19-!- ChipmunkV [~vova@d0017-2-88-172-31-68.fbx.proxad.net] has joined #wesnoth-dev 20160311 11:56:48-!- ypnos [~ypnos@lme51.informatik.uni-erlangen.de] has joined #wesnoth-dev 20160311 12:02:55< irker544> wesnoth: Charles Dang wesnoth:master 4b2e7217d8df / data/gui/default/widget/button_default.cfg: GUI2: added Large button definition https://github.com/wesnoth/wesnoth/commit/4b2e7217d8df8311b7cd7169e5a731014a644bda 20160311 12:02:58< irker544> wesnoth: Charles Dang wesnoth:master 80bd8883cda3 / data/gui/default/window/addon_list.cfg: taddon_list: more layout progress https://github.com/wesnoth/wesnoth/commit/80bd8883cda36fd34c2fdb60977674725ff2ccf4 20160311 12:04:24-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20160311 12:08:30-!- ChipmunkV [~vova@d0017-2-88-172-31-68.fbx.proxad.net] has quit [Quit: ChipmunkV] 20160311 12:35:00-!- travis-ci [~travis-ci@ec2-54-160-169-65.compute-1.amazonaws.com] has joined #wesnoth-dev 20160311 12:35:01< travis-ci> wesnoth/wesnoth#8837 (master - 80bd888 : Charles Dang): The build is still failing. 20160311 12:35:01< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/115300288 20160311 12:35:01-!- travis-ci [~travis-ci@ec2-54-160-169-65.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160311 12:55:02< fendrin> iirc there was once a formal wml grammar 20160311 12:55:22< fendrin> Where can it be found? 20160311 12:56:55< vultraz> absolutely no idea 20160311 12:58:29< vultraz> unless you mean AlphabeticalWML 20160311 12:58:41< fendrin> hmmm 20160311 12:58:45< fendrin> can I have a link? 20160311 12:59:09< vultraz> oh wait, I deleted that 20160311 12:59:40< vultraz> https://wiki.wesnoth.org/ReferenceWML is the only comprehensive WML reference we have 20160311 13:38:27-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20160311 13:45:22-!- louis94 [~~louis94@91.178.242.191] has joined #wesnoth-dev 20160311 14:31:30< Soliton> Nobun: i would think the files in data/test should not be processed by wmlxgettext at all. we don't want to translate unit test scenarios. 20160311 14:34:17-!- boucman_work [~jrosen@wesnoth/developer/boucman] has quit [Ping timeout: 244 seconds] 20160311 14:41:00-!- louis94 [~~louis94@91.178.242.191] has quit [Ping timeout: 244 seconds] 20160311 14:46:43-!- boucman_work [~jrosen@bob75-2-81-56-46-209.fbx.proxad.net] has joined #wesnoth-dev 20160311 14:46:43-!- boucman_work [~jrosen@bob75-2-81-56-46-209.fbx.proxad.net] has quit [Changing host] 20160311 14:46:43-!- boucman_work [~jrosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20160311 14:52:51< Nobun> loonycyborg reported a problem while testing the files with my version of wmlxgettext 20160311 14:53:20< Nobun> and it was a good report since the original rule I printed to identify a tag is not god if the tag is defined inside a macro call 20160311 14:53:30< Nobun> not good * 20160311 14:53:58< loonycyborg> Soliton: that file got selected by FINDCFG script. They capture a lot of files. 20160311 14:54:38< Soliton> that might be. still doesn't sound correct. 20160311 14:55:18< Nobun> Soliton... the problem is to solve the bug that the test made by loonycyborg reported 20160311 14:55:34< Soliton> if it found a bug in some script, great. but we should not burden translators with strings from unit tests. (if there are even some.) 20160311 14:56:13< loonycyborg> maybe there's a way to reorganize those files so this test won't be in scope of pot-update infrastructure 20160311 14:56:21< Nobun> if you watch at data/test/scenario/test_wml_lua.cfg was a fine test to identify a problem 20160311 14:56:55< Nobun> in the line 48 there is a tag inside a macro call 20160311 14:57:24< Soliton> Nobun: that's great. how it follows that you need to know some default text domain for those files i ca't understand though. 20160311 14:57:30< Nobun> my current regexp failed since it searches for [tag] at the very beginning of the script 20160311 14:58:54< Nobun> Soliton: I will show the current regexp used on my script 20160311 14:59:01< Soliton> oh boy... 20160311 14:59:06< Nobun> and the regexp I was thinking for substitution 20160311 14:59:18< Nobun> if you have an idea 20160311 14:59:41< Nobun> lol... I don't want to bother you too much... I'll think by myself than xD 20160311 15:00:24< Soliton> you're welcome to bother. it's confusing if you switch topics and channels willy nilly though. to me anyway. 20160311 15:01:03< Nobun> yep since the original question was around WML only so it could be off-topic here in #wesnoth-dev 20160311 15:01:53< Nobun> but the regex is for the wmlxgettext python version I'm trying to develop 20160311 15:03:01-!- irker544 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20160311 15:03:15< Nobun> this was the original regexp I used to identify (open and closing) tags 20160311 15:03:22< Nobun> ^\s*\[\s*([\/+-]?)\s*([^\]]*?)\s*\] 20160311 15:04:09< Nobun> now I was trying to test another regexp, that seems to fix the bug, but it assumes that the first character in the tagname is a letter or an underscore and not a number 20160311 15:04:20< Nobun> the regex is this one 20160311 15:04:56< Nobun> ^[^"]*?\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 15:05:46< Nobun> the [^"]*? thing is to avoid conflicts with the rule used to capture strings (translatable or not) since the parser recursively read every line of code 20160311 15:06:22< Nobun> this regex solves the problem (on my test) but, as I said, it assumes that the tag starts with letter or underscore 20160311 15:06:40< Nobun> in order to avoid that wmlxgettext think that [n] (array index) is a tag 20160311 15:10:42< Nobun> the tagname* (after the + and / sign, if any) 20160311 15:10:59< Soliton> i'd look for the ( then. i think that's the only reasonable way to have WML as a macro argument since it's going to be multiline. 20160311 15:12:14-!- louis94 [~~louis94@91.178.242.191] has joined #wesnoth-dev 20160311 15:12:44< Nobun> yep but consider this [very crazy] scenario: 20160311 15:13:19< Nobun> {MACRO (array[0]) ([tagname]) 20160311 15:13:21< Nobun> } 20160311 15:13:27< Nobun> in that case 20160311 15:13:52< Nobun> the ( could be matched even if the first occurrence of regex does not contain a tag 20160311 15:14:28< Nobun> (that was a nice idea, though) 20160311 15:15:32< Soliton> there should be nothing but whitespace between ( and [. 20160311 15:16:47< Soliton> in any case, i'm sure you know very well that you're not going to fix every corner case. so i wouldn't try especially when "parsing" stuff that is not meant for your script. 20160311 15:16:48< Nobun> hmm.. sounds good... 20160311 15:17:28< Nobun> I really don't know, Soliton 20160311 15:18:10< Nobun> I tried to cover all things that are useful for the script itself, maintaining some choiches already used on perl version 20160311 15:19:19< Nobun> however... your idea of ( sonds very nice 20160311 15:19:30< Nobun> now I'm trying to translate it in a good regexp 20160311 15:23:25< Soliton> important part is to document all those decisions you make that have no actual basis in the WML parser but are simplifications you had to do. 20160311 15:24:32-!- louis94 [~~louis94@91.178.242.191] has quit [Ping timeout: 260 seconds] 20160311 15:27:59-!- Elvish_Hunter [~elvish_hu@wesnoth/developer/elvish-hunter] has joined #wesnoth-dev 20160311 15:30:08< Nobun> Don't know if it is what you are meaning, but: 20160311 15:30:33< Nobun> http://wmlxgettext-unoff.readthedocs.org/en/latest/enduser/wml.html 20160311 15:31:03< Nobun> I written and end-user documentation... here I wrote about # wmlxgettext, # po, # po-ovverride special comments 20160311 15:31:47< Nobun> there is also a sourcedoc documentation, but celticminstrel reported is a bit lacking... however I am here for any suggestions 20160311 15:32:30< Soliton> i'm talking about code documentation. so whoever is trying to fix your script (maybe even you in 2 months) is not just left with a cryptix regex but a description of what that regex is supposed to accomplish. 20160311 15:33:32< Soliton> and what it expects the input to look like etc. 20160311 15:33:32-!- irker929 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20160311 15:33:32< irker929> wesnoth: Charles Dang wesnoth:master cd84293b63d6 / / (3 files in 2 dirs): taddon_list: cleanup and progress https://github.com/wesnoth/wesnoth/commit/cd84293b63d6b801b9cbb341c51ae824d21fbf3e 20160311 15:34:31< Elvish_Hunter> Hi all 20160311 15:34:48< vultraz> allos 20160311 15:35:01< Elvish_Hunter> 20160311 00:26:33< shadowm> Time to live this piece of crap site for GitLab or something. 20160311 15:35:54< Elvish_Hunter> In case of need, I already have a GitLab account - so, if we ever need to move, I'm ready. 20160311 15:38:10< vultraz> eh? 20160311 15:38:12< Elvish_Hunter> The interesting thing is that they support unlimited private repos with unlimited users, and they also have support for Irker. 20160311 15:39:00< vultraz> what's this about 20160311 15:40:29< Elvish_Hunter> It's about the fact that GitHub implemented a "Reaction button" for messages. 20160311 15:41:04< vultraz> ... and that's bad? 20160311 15:42:33< Elvish_Hunter> Not necessarily. It depends if they decide to implement other features that we may not like. 20160311 15:43:06< vultraz> such as? 20160311 15:43:39< vultraz> plus, ya know, the reaction button doesn't affect us at all... 20160311 15:45:07< Elvish_Hunter> I'm aware of it. I was just saying that, *if* we ever need to move, GitLab sounds like a sensible choice. 20160311 15:45:44< Elvish_Hunter> Emphasis on *if* ;) 20160311 15:46:08< vultraz> I really doubt we'd need to move :P 20160311 15:47:30< vultraz> Especially over features similar to a reaction button 20160311 15:58:23-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20160311 16:05:47-!- Kwandulin [~Miranda@p200300760F7D7398D465980C2DEFB657.dip0.t-ipconnect.de] has joined #wesnoth-dev 20160311 16:36:35-!- travis-ci [~travis-ci@ec2-54-198-150-86.compute-1.amazonaws.com] has joined #wesnoth-dev 20160311 16:36:36< travis-ci> wesnoth/wesnoth#8838 (master - cd84293 : Charles Dang): The build has errored. 20160311 16:36:36< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/115344933 20160311 16:36:36-!- travis-ci [~travis-ci@ec2-54-198-150-86.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160311 16:39:13-!- ChipmunkV [~vova@d0017-2-88-172-31-68.fbx.proxad.net] has joined #wesnoth-dev 20160311 16:44:59-!- atarocch [~atarocch@31.157.242.199] has joined #wesnoth-dev 20160311 16:47:22-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 16:47:27-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20160311 16:47:35-!- Greg-Bog_ [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 16:56:01< celticminstrel> Fun fact: Vultraz's install button example link contained the word "dull" in it. 20160311 16:56:42< vultraz> it did? 20160311 16:57:03< vultraz> celticminstrel: well, what do you think of example two 20160311 16:57:05< celticminstrel> Nobun: While it is possible for a WML tag to begin with a number, I don't believe the engine uses any tags that do so... which means the only place you would ever find such a thing is in a saved game, and thus out of the scope of wmlxgettext. 20160311 16:57:49< celticminstrel> vultraz: Oh, I thought that was the same image because the first few characters were the same, including the "dull". 20160311 16:58:11< celticminstrel> vultraz: In the first image, the install button is a little too small to work with the adjacent buttons. 20160311 16:58:26< celticminstrel> vultraz: In the second, I'm wondering if uninstall is really as important as install. 20160311 16:59:08< celticminstrel> fendrin: I doubt there's a formal grammar of WML anywhere, but it's not actually that complicated, so I suspect one could be written fairly quickly. 20160311 16:59:42< celticminstrel> At least for preprocessed WML. Macros significantly complicate things. 20160311 16:59:49< Nobun> celticminstrel: yep... infact as Elvish_Hunter is pointing me it could, hypotetically, exists also a tag [1234] 20160311 16:59:56< Nobun> wich is a little weird to paste 20160311 16:59:57< celticminstrel> Yup. 20160311 17:00:13< vultraz> celticminstrel: why not? 20160311 17:00:19< celticminstrel> That is, indeed, a valid WML tag. You can even have 1234= as a WML attribute. 20160311 17:00:28< vultraz> celticminstrel: either way, I don't have a medium-sized button 20160311 17:00:55< celticminstrel> vultraz: Wait, didn't you make the big button? 20160311 17:01:26< celticminstrel> Also vultraz, I think the filter field could be wider. 20160311 17:01:28< Nobun> the idea is that wmlxgettext (like perl wmlxgettext) does not analyze macro calls, but "parse" macro calls as un-interesting strings since it is searching other kind of infos (translatable strings, tags and important parameters) 20160311 17:01:36< vultraz> celticminstrel: no 20160311 17:01:58< vultraz> it's our retina regular button 20160311 17:02:03< Nobun> I experienced how problematic is trying to support a macro analyzer (what I did in my past wespo project) and it is not a good idea to do 20160311 17:02:20< celticminstrel> vultraz: Then it'll need its own retina version, you know. 20160311 17:02:45-!- fendrin_ [~quassel@176.4.22.84] has joined #wesnoth-dev 20160311 17:02:59< vultraz> 4x! :D 20160311 17:03:10< vultraz> 400-px long button 20160311 17:03:10-!- fendrin [~quassel@wesnoth/developer/fendrin] has quit [Read error: Connection reset by peer] 20160311 17:03:23< fendrin_> celticminstrel: Yes, I need to write a parser 20160311 17:03:44< celticminstrel> Nobun: Analyzing macros also has the problem that you have no way to tell whether strings inside them are in the same textdomain. 20160311 17:03:58< celticminstrel> ...possibly. 20160311 17:04:26 * celticminstrel isn't entirely sure how Wesnoth deals with a textdomain declaration within a macro definition. 20160311 17:04:58< celticminstrel> fendrin_: Hmm? 20160311 17:05:15-!- boucman_work [~jrosen@wesnoth/developer/boucman] has quit [Ping timeout: 264 seconds] 20160311 17:05:47< celticminstrel> So, do you need a pre-preprocessor or post-preprocessor grammar? 20160311 17:06:09< Nobun> well, that unwanted strings, however, are acceptable since, imho, is not a good design to switch domains inside a macro definition 20160311 17:06:17< celticminstrel> Yeah. 20160311 17:06:30< celticminstrel> Generally each file will be a single textdomain. 20160311 17:06:51< celticminstrel> The main case where it's not would be in a unit type definition where core strings might be reused for attack names. 20160311 17:07:06< Nobun> you can switch domain... but not inside a macro definition for the string you passed as a parameter of the macro 20160311 17:07:21< Nobun> I mean... you could do, but it is a bad design 20160311 17:07:55< celticminstrel> wmlxgettext doesn't need to support every corner case. It can assume the WML developer is at least somewhat sane. :P 20160311 17:07:55< Nobun> you could introduce domain break changing domain inside macro definition, imho 20160311 17:08:04< Nobun> :D 20160311 17:08:38< Nobun> this is why I'm trying to figure what is the best way to capture the tags 20160311 17:08:54< Nobun> one possible way is to change the current regexp rule to this one: 20160311 17:09:08< Nobun> ^[^"]*?\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 17:09:29< Nobun> but this regexp assume that tagname must start with a letter or underscore but not with a number 20160311 17:09:48< celticminstrel> What's the current regex? 20160311 17:10:17< Nobun> the [^"]*? thing is to avoid to lose strings placed before the tag 20160311 17:10:21< Nobun> the current regex is 20160311 17:10:41< Nobun> ^\s*\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 17:11:00< Nobun> but it fails if the tag is contained in macro call, after parenthesis 20160311 17:11:01 * celticminstrel suspects the [^"] isn't necessary; I doubt macros containing tags would appear after an = 20160311 17:11:20< Nobun> I figured a situation like this, celticminstrel 20160311 17:11:23< celticminstrel> Uh. 20160311 17:11:30< celticminstrel> Why are those square brackets? 20160311 17:11:46< celticminstrel> Oh wait, they're escaped, never mind.3 20160311 17:11:46< Nobun> {MACRO _"translatable string" ([tagname] 20160311 17:11:51< Nobun> code 20160311 17:11:56< Nobun> [/tag]) } 20160311 17:12:01< celticminstrel> ^\s*\(?\s*\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 17:12:01< Nobun> figure this example 20160311 17:12:27< celticminstrel> Or ^[\s(]*\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 17:12:44< celticminstrel> Ah, right, that won't work, never mind. 20160311 17:12:53< celticminstrel> You need to match the macro invocation too. 20160311 17:12:58< Nobun> yep 20160311 17:13:06< Nobun> why? 20160311 17:14:03< Nobun> I the example before, the [^"]*? avoid that the tag rule collect also the string 20160311 17:14:08< celticminstrel> ^\s*(?:[^="]+\(\s*)\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 17:14:55< celticminstrel> That forces any tags within macros to be preceded by ( 20160311 17:15:02< celticminstrel> And separated from it only by whitespace. 20160311 17:15:30-!- zombah [~zombah@2a02:28:3:1:214:4fff:fe47:5920] has quit [Quit: Leaving] 20160311 17:16:16< Nobun> I don't understand why you typed [^="]+\(\s*) at the start of the non-capturing group 20160311 17:17:50< celticminstrel> Oh, I made a mistake. 20160311 17:17:59< celticminstrel> The non-capturing group should be followed by ? 20160311 17:18:18< celticminstrel> So, (?:[^="]+\(\s*)? 20160311 17:20:14< Nobun> the regex I gave before is tested and works (at least if the tag name starts with a letter or underscore) 20160311 17:20:43< Nobun> I used the "not quote rule" since the WmlTagState is evaluated before WmlStr01 State 20160311 17:21:03< Nobun> in the fake WML example I gave before 20160311 17:21:26< Nobun> the WmlTagState regex will not match, avoiding we could lose the translatable string 20160311 17:21:46< Nobun> than WmlStr01 will match, will capture the string and return the unpased line 20160311 17:21:47< celticminstrel> I used not quote or equals, but using not quote instead probably won't make much difference. 20160311 17:22:19< Nobun> yep... but I made it thinking about how the States works 20160311 17:22:21< celticminstrel> BTW, instead of [^\]] you can use [A-Za-z0-9_] 20160311 17:22:35< Nobun> yep 20160311 17:22:42< Nobun> you are right 20160311 17:22:54< Nobun> so this regexp could became 20160311 17:23:25< Nobun> ^\s*\[\s*([\/+-]?)\s*([A-Za-z_][A-Za-z0-9_]*?)\s*\] 20160311 17:24:15< Nobun> but this regexp, as said, works (and it is fine since it avoids we could lose a string placed before in the same line of the same macro definition) 20160311 17:24:40< Nobun> but expects that all tag name does not start with a number 20160311 17:25:19< Nobun> if we want to cover also the chance to have a "numbered" tagname the regexp would become very fool 20160311 17:25:23 * celticminstrel shrugs. 20160311 17:25:43 * Nobun don't know what shrugs means :P 20160311 17:25:52< celticminstrel> My regex is enforcing that nothing other than whitespace appears between the ( and the tag. 20160311 17:25:55< celticminstrel> Yours is not. 20160311 17:26:28< celticminstrel> By doing that, you can still support numbered tags without problems, though it's probably not necessary to do so, honestly. 20160311 17:26:30< Nobun> hmm... let me check yours better 20160311 17:27:25< Nobun> yep but there is a problem 20160311 17:27:52< Nobun> it is not your regexp fault 20160311 17:28:05< Nobun> it is my headache that doesn't let me think well xD 20160311 17:28:55< Nobun> I have the feeling that something is missing.... but I cannot understand in this moment... I have still have to think... 20160311 17:29:19< Elvish_Hunter> Now I have to go. Bye! 20160311 17:29:27-!- Elvish_Hunter [~elvish_hu@wesnoth/developer/elvish-hunter] has left #wesnoth-dev ["Ciao!"] 20160311 17:30:48< Nobun> ok I found what I didn't understand 20160311 17:31:08< Nobun> celticminstrel: what your regexp do in this case? 20160311 17:31:34< Nobun> {MACRO ( something) ( [tag] ) } 20160311 17:32:20< celticminstrel> ^\s*(?:[^="]+\(\s*)\[\s*([\/+-]?)\s*([A-Za-z_][^\]]*?)\s*\] 20160311 17:32:25< celticminstrel> Okay. 20160311 17:32:43-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20160311 17:32:52< celticminstrel> [^="]+ should match "{MACRO ( something) " 20160311 17:33:11< celticminstrel> Then the \( matches, and the \s* matches " " 20160311 17:33:17< celticminstrel> Then the \[ matches. 20160311 17:33:28< celticminstrel> And from there I'm guessing you know. 20160311 17:33:58< celticminstrel> Are you wondering why the [^="]+\(\s* doesn't instead match "{MACRO ( "? 20160311 17:34:33< Nobun> I have two doubts 20160311 17:34:39< Nobun> 1) 20160311 17:35:06< Nobun> if the [^="]+ rule will cover also the ( 20160311 17:35:14< Nobun> since it is greedy 20160311 17:35:36< celticminstrel> It will, but when it does so, the match will fail and so it will try again consuming less. 20160311 17:35:40< Nobun> 2) if we set it as non-greedy my fear is it will stop at the first ( 20160311 17:35:46< celticminstrel> In fact, on first try, it will consume the whole string. 20160311 17:36:00< celticminstrel> If you set it as non-greedy, it will indeed try to match stopping at the first ( 20160311 17:36:08< Nobun> ok 20160311 17:36:20< celticminstrel> However, since there is no [ to match there, it will fail at that position and then try again to match at the next ( 20160311 17:36:28< Nobun> perhaps now I'm understanding better (I'm not so pro on regexpes :P) 20160311 17:38:14< Nobun> I will save a log of this discussion 20160311 17:38:21< fendrin_> celticminstrel: pre precessor 20160311 17:38:40< Nobun> and I will read it again when I feel better so I can test the regexp on regex101 20160311 17:39:13< celticminstrel> fendrin_: I have a draft grammar here that I've been putting together in the last half hour or so. 20160311 17:40:19-!- Nobun [~nobun@host62-49-dynamic.12-79-r.retail.telecomitalia.it] has quit [Quit: Salve a tutti] 20160311 17:41:00< fendrin_> I am just looking into the lpeg documentation. 20160311 17:41:08< celticminstrel> The what now? 20160311 17:41:12< fendrin_> But it isn't as easy as I thought... 20160311 17:41:41< fendrin_> lpeg is a library for lua that helps with writing parsers and lexers 20160311 17:41:51< celticminstrel> Ah. 20160311 17:42:01< fendrin_> it is a pattern matching library 20160311 17:45:50< celticminstrel> Here - it's probably not very good, but it's a starting point. http://pastebin.com/gSi7jxVC 20160311 17:46:28< celticminstrel> It's too ambiguous about where whitespace is allowed/forbidden/required, in particular. 20160311 17:47:07< celticminstrel> (Normally you'd leave the whitespace up to the tokenizer, mind you, so that might not be a big problem.) 20160311 17:49:18< celticminstrel> I'm using sort of a cross between regex and backus-naur there. >_> 20160311 17:59:40-!- iceiceice [~chris@ext-74.ias.edu] has joined #wesnoth-dev 20160311 18:01:05-!- iceiceice [~chris@ext-74.ias.edu] has quit [Client Quit] 20160311 18:03:43-!- prkc [~prkc@gateway/vpn/privateinternetaccess/prkc] has quit [Remote host closed the connection] 20160311 18:04:36< mattsc> celticminstrel: Hi. I’m back, physically at least, but I have a lot of catching up to do (not talking about Wesnoth). I likely won’t have time to work on something as complex as your PR for a few more days. 20160311 18:04:44< celticminstrel> Oh hi. 20160311 18:07:00 * vultraz is feeling lethargic 20160311 18:07:07< vultraz> I've been working on too much wesnoth :| 20160311 18:07:11< celticminstrel> Maybe you should nap. 20160311 18:07:18< celticminstrel> Or go for a walk. 20160311 18:07:22< vultraz> it's 5 AM 20160311 18:07:26< vultraz> been up all night 20160311 18:07:30< vultraz> but I'm too bored to sleep 20160311 18:07:54< celticminstrel> Oh wow, I don't think I've ever been too bored to sleep... 20160311 18:09:26< vultraz> I bought a book the other day and then finished reading it in 2 days :| 20160311 18:09:36< celticminstrel> Nice. 20160311 18:09:52< celticminstrel> I have some books waiting to be read, actually. 20160311 18:11:12< vultraz> 700+ pages too 20160311 18:11:14< vultraz> I read fast :| 20160311 18:11:35< celticminstrel> I read fast too. 20160311 18:33:33-!- atarocch [~atarocch@31.157.242.199] has quit [Ping timeout: 240 seconds] 20160311 18:34:10-!- irker929 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20160311 18:55:51-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20160311 19:01:06< midzer> hi. what package do i need for compile under debian for sdl2? 20160311 19:21:57< loonycyborg> libsdl2-dev 20160311 19:22:07< loonycyborg> sdl2-foo-dev 20160311 19:24:20< loonycyborg> you'd need at least debian jessie though 20160311 19:29:47< celticminstrel> vultraz: Unused function show_desc_impl in addon_list.cpp 20160311 19:30:03< celticminstrel> (Unless the one latest commit on master fixes that.) 20160311 19:30:44< midzer> building now :) thanks loonycyborg 20160311 19:31:37< celticminstrel> Ah, looks like it probably does. Never mind then! 20160311 19:32:02-!- gfgtdf [~chatzilla@f054056011.adsl.alicedsl.de] has joined #wesnoth-dev 20160311 19:32:28< gfgtdf> vultraz: the announcement in the windows specific bugs says: "This is likely caused by outdated libraries in the packaging process. There is no built-in workaround available yet." 20160311 19:32:36< gfgtdf> vultraz: this is wrong afaik 20160311 19:32:39-!- Greg-Bog_ [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] 20160311 19:32:43< celticminstrel> gfgtdf: Did you see I updated PR618? 20160311 19:32:51< gfgtdf> vultraz: the bug is in the latest pangi version too 20160311 19:33:30-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 19:33:54< gfgtdf> celticminstrel: no, what exactly was changed ? 20160311 19:34:47< celticminstrel> The boolean parameter was removed. Most custom effects won't need a description anyway (since that's only for traits), and for those that do, an alternate mechanism is provided. 20160311 19:36:05< gfgtdf> celticminstrel: y i think this is better. 20160311 19:37:42< gfgtdf> celticminstrel: i think we might want to split apply/descibe_builtin_effect into different function for each effect whcih are then bined to the lua objects. But dont think we can do that before we make the lua kernel also avaiable during initial unit builduing 20160311 19:38:12< celticminstrel> One function per effect? Maybe. 20160311 19:38:20< celticminstrel> I didn't think that was worth the effort. 20160311 19:39:07< celticminstrel> But it would mean that those built-in effects that don't generate a description wouldn't involve a call to a no-op description-generation function. 20160311 19:39:56< celticminstrel> Did you look at the Travis failure? It seemed to be an issue with gdb, oddly. 20160311 19:40:33< celticminstrel> Would it be worthwhile to simply restart the build? 20160311 19:40:53< celticminstrel> ie, do you think it was caused by an issue with Travis rather than my code? 20160311 19:41:42< gfgtdf> celticminstrel: if its the wml unit test that fail i'd try to run the unit tests localls and see whether ti works 20160311 19:42:07< celticminstrel> ...true, though the fact that the error mentinos gdb is still suspicious. 20160311 19:42:17< celticminstrel> ^mentions 20160311 19:43:06< gfgtdf> celticminstrel: hmm the travis output says somethign like 'double free or corruption' 20160311 19:43:19 * celticminstrel now has the problem of how to create a lua_unit from a const unit& 20160311 19:44:07 * celticminstrel adds a const_cast as a temporary measure so that I can actually build, but that's not something I should commit. 20160311 19:44:21< gfgtdf> celticminstrel: which type of lua_unit do you want to create? 20160311 19:44:39< celticminstrel> I'm not actually sure. The various lua_unit types are kinda confusing. 20160311 19:45:13< celticminstrel> It's a unit referenced by the formula engine, which I think means it actually exists, either on the map or in a side's recall list. 20160311 19:45:25< gfgtdf> celticminstrel: well it has one type in case that the unti is on the map, one case for the case that it on the recall list, one type forf the case that the unit is owned by lua and a case for when you ahve a reference and dont know wnything 20160311 19:45:29< celticminstrel> Though I'd have to check where the formula engine first references it to be sure. 20160311 19:45:59< gfgtdf> celticminstrel: hmm the point is that lua can always change the units prperty 20160311 19:46:10< gfgtdf> celticminstrel: andi wouldnt suprised if forula assumes taht that is not the case 20160311 19:46:17< gfgtdf> and i* 20160311 19:46:22< celticminstrel> The formula engine, on the other hand, cannot change the unit's properties. 20160311 19:46:37< gfgtdf> celticminstrel: y 20160311 19:46:45< gfgtdf> celticminstrel: what do you want to do exactly ? 20160311 19:47:15< celticminstrel> This is a function that pushes the result of evaluating a formula onto the Lua stack. 20160311 19:48:06< gfgtdf> celticminstrel: hmm so you mena in case teh forula expression returns a unit ? 20160311 19:48:13< celticminstrel> Yeah. 20160311 19:48:50< gfgtdf> celticminstrel: y in the case you shodul most likeley use the on_map or on_recall list lua_unit, (depoending on whether its on teh map or one teh recall list) 20160311 19:49:05< celticminstrel> Hmm, alright. 20160311 19:49:46< gfgtdf> celticminstrel: you shodul not us the lua_unit that takes a unit& beause that will casue bug in case that the underlaying units freed. 20160311 19:50:09 * celticminstrel just a few moments ago had the idea to make all the lua_unit constructors private and use static functions instead. 20160311 19:50:30< celticminstrel> The static functions could even hide the use of placement new. 20160311 19:50:32< gfgtdf> celticminstrel: yopu mena liek luaW_pushunit ? 20160311 19:50:48< gfgtdf> you mean like*Ü 20160311 19:51:01< celticminstrel> Something like that. There's no such function right now, is there? (I was actually thinking static member functions, but luaW_* functions would be fine too.) 20160311 19:51:24< celticminstrel> (If it's luaW_* functions you'd declare them all friends of lua_unit.) 20160311 19:51:25< gfgtdf> celticminstrel: well theer is luaWpuchunit put it uses the consuctor that takes aa reference so its not chat you want 20160311 19:51:38< gfgtdf> luaW_pushunit 20160311 19:51:41< celticminstrel> That's luaW_pushlocalunit isn't it? 20160311 19:51:50< gfgtdf> celticminstrel: ahh right 20160311 19:51:56< gfgtdf> celticminstrel: still 20160311 19:52:51< gfgtdf> celticminstrel: i think one of the reasons why we cant so that same easily for other lua_unit types is that we want to so some handmade optimisations like when pushing multipel units in wesnoth.get_units 20160311 19:53:14< celticminstrel> Can't what? 20160311 19:53:30< celticminstrel> If there's only a few such handmade optimizations, they too could be declared friends. 20160311 19:53:45< celticminstrel> Though if they're static functions, that might cause problems. 20160311 19:54:36-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 244 seconds] 20160311 19:55:11< gfgtdf> celticminstrel: well yes but there arent too maybe function that create units in the first place, so 'only a few' could aswell mean 'most of them' 20160311 19:55:20< gfgtdf> s/maybe/many 20160311 19:55:39< celticminstrel> I don't really see that as a problem. 20160311 20:06:58< celticminstrel> I'm tempted to increase the precision of formula decimals, but that's harder than it sounds since every place that uses them currently needs to know their precision. 20160311 20:10:55< celticminstrel> gfgtdf: So, to determine if the unit is on the recall list, I use u.get_location().valid(), right? 20160311 20:11:09< gfgtdf> celticminstrel: hmm not sure 20160311 20:11:37< gfgtdf> celticminstrel: so be safe i'd use seomthing like unitmap.find(unit.location()) == unit 20160311 20:13:13< celticminstrel> That gets me a unit_ptr, right? So I could then use the unit_ptr constructor to lua_unit? 20160311 20:14:01< gfgtdf> celticminstrel: no the unit_ptr constructo of lua_unit assumes taht eth unit is owned by lua. 20160311 20:14:27< celticminstrel> See, this is why I think static factory functions would be better. They would clearly state those assumptions in the name. 20160311 20:27:57< celticminstrel> I wonder if BOOST_AUTO_TEST_SUITE creates a class. 20160311 20:29:30-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 20:34:01-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Read error: No route to host] 20160311 20:34:26-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 20:35:08< gfgtdf> celticminstrel: i'd guess it does 20160311 20:35:32< gfgtdf> celticminstrel: hmm wait 20160311 20:35:37< gfgtdf> celticminstrel: i thought you meant BOOST_AUTO_TEST_CASE 20160311 20:35:48< celticminstrel> I assumed that created a function. 20160311 20:35:48< gfgtdf> celticminstrel: not sure about the other one 20160311 20:35:54< celticminstrel> Since it's followed by a function body. 20160311 20:36:11< celticminstrel> I mean, I suppose it could create a class with one member function, but... 20160311 20:36:13< gfgtdf> celticminstrel: well yes but it must register that function somehow 20160311 20:36:31< gfgtdf> celticminstrel: and afaik a function cannot register itself 20160311 20:36:43-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20160311 20:38:07< celticminstrel> It could declare the function prototype, register it statically, and then repeat the function prototype minus the semicolon. 20160311 20:39:04< celticminstrel> How do I add a new file to the test cases? Simple put it in the scons / CMake file lists? 20160311 20:39:15< gfgtdf> celticminstrel: y any to resiter it statcally you need a classa afaik 20160311 20:39:19-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Ping timeout: 260 seconds] 20160311 20:39:19< gfgtdf> class* 20160311 20:39:23< gfgtdf> and* 20160311 20:39:25< celticminstrel> No you don't. 20160311 20:39:43-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 252 seconds] 20160311 20:39:43-!- wedge010 is now known as wedge009 20160311 20:43:22< gfgtdf> celticminstrel: hmm right 20160311 20:43:46< gfgtdf> celticminstrel: but i still think BOOST_AUTO_TEST_CASE creates a sustom class 20160311 20:45:27< gfgtdf> celticminstrel: actualyl i never added anew file to the test cases 20160311 20:45:47< celticminstrel> vultraz: Do you know? 20160311 20:45:49< gfgtdf> celticminstrel: but i guess just adding it to where allthe other files are registers will work 20160311 20:46:21< celticminstrel> gfgtdf: Well, I've added it to the sconscript and cmakelists.txt, we'll see if that works. I expect some of the tests to fail, since they're outdated. 20160311 20:46:58< gfgtdf> celticminstrel: did you solve the double free issue on the travis tests for te effects pr ? 20160311 20:47:16< celticminstrel> (I'm transferring old conditionally-compiled tests for the formula engine over to the Boost framework.) 20160311 20:47:23< celticminstrel> I haven't gotten back to that yet, no. 20160311 20:48:50< gfgtdf> celticminstrel: there are afaik quite some conditionally compiled "int main(int argc .." ine the code for testign purposes, maybe we shoudl convert all of them tooboost test cases 20160311 20:48:57< gfgtdf> celticminstrel: (and remove those who dont compile) 20160311 20:49:12< celticminstrel> Yeah, we probably should. 20160311 20:49:52< celticminstrel> git grep shows 15 of them, not counting this one. 20160311 20:50:23< celticminstrel> 6 of those are in src/tools 20160311 20:50:53< celticminstrel> Oh, one of them is in Lua, so it's probably not important. (I imagine it's the Lua REPL or something.) 20160311 21:03:08-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20160311 21:11:38-!- Greg-Boggs [~greg_bogg@173.240.241.83] has joined #wesnoth-dev 20160311 21:13:09-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20160311 21:14:16-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160311 21:14:16-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Client Quit] 20160311 21:54:46-!- atarocch [~atarocch@151.64.78.59] has joined #wesnoth-dev 20160311 22:15:38-!- irker504 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20160311 22:15:38< irker504> wesnoth: Elias Pschernig wesnoth:master 127921496808 / data/tools/ (wesnoth/wmlparser3.py wmlunits): [wmlparser3] use less recursion when parsing https://github.com/wesnoth/wesnoth/commit/127921496808a27a109a92cbeb1c48f0ef7bdcc9 20160311 22:23:41-!- Kwandulin [~Miranda@p200300760F7D7398D465980C2DEFB657.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160311 22:26:40-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20160311 22:36:20-!- mjs-de [~mjs-de@f049119243.adsl.alicedsl.de] has quit [Remote host closed the connection] 20160311 22:56:39-!- ChipmunkV [~vova@d0017-2-88-172-31-68.fbx.proxad.net] has quit [Quit: ChipmunkV] 20160311 22:58:30< celticminstrel> It's a little annoying how Wesnoth keeps stealing the focus when I'm running unit tests. 20160311 22:59:05< celticminstrel> I'm guessing this is related to the SDL_Init() call. 20160311 23:01:05< celticminstrel> Though I suppose it's also possible that it's due to the SDLApplication entry point. 20160311 23:01:17-!- travis-ci [~travis-ci@ec2-54-160-143-193.compute-1.amazonaws.com] has joined #wesnoth-dev 20160311 23:01:18< travis-ci> wesnoth/wesnoth#8840 (master - 1279214 : Elias Pschernig): The build passed. 20160311 23:01:18< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/115434599 20160311 23:01:18-!- travis-ci [~travis-ci@ec2-54-160-143-193.compute-1.amazonaws.com] has left #wesnoth-dev [] 20160311 23:02:14-!- Waste [~Cracker@blk-138-75-115.eastlink.ca] has joined #wesnoth-dev 20160311 23:11:22-!- gfgtdf [~chatzilla@f054056011.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 20160311 23:11:59-!- louis94 [~~louis94@91.178.242.191] has joined #wesnoth-dev 20160311 23:17:43< celticminstrel> gfgtdf: No assertion failures or anything when running the WML unit tests on the effects branch. 20160311 23:23:31-!- atarocch [~atarocch@151.64.78.59] has quit [Remote host closed the connection] 20160311 23:54:30< celticminstrel> Huh. The AI branch failed to compile on Travis due to a missing operator<< o.o 20160311 23:59:23-!- Greg-Boggs [~greg_bogg@173.240.241.83] has quit [Remote host closed the connection] --- Log closed Sat Mar 12 00:00:12 2016