00:00.36 Opened logfile log/20130111. 00:00.36 ircCheck: possible lost in space; checking.Fri Jan 11 00:00:36 2013 00:00.36 >ghostbot< TEST 00:00.36 IRCTEST: Yes, we're alive. 00:05.46 Chans: (ghostbot) in:#ghostscript 00:09.56 FORK(28170) --- fork starting for 'RSSFeeds', PID == 28170, bot_pid == 32511 --- 00:09.57 FORK(28170) !ERROR! cannot load my module: RSSFeeds 00:09.57 FORK(28170) fork: took 1s for RSSFeeds. 00:09.57 FORK(28170) --- fork finished for 'RSSFeeds' --- 00:35.21 LOG: last message repeated 3 times 00:35.21 >>> join/#ghostscript ray_laptop (~chatzilla@rrcs-64-183-45-163.west.biz.rr.com) 00:36.56 Chans: (ghostbot) in:#ghostscript 00:37.01 >>> dlty has signed off IRC (Ping timeout: 245 seconds) [#ghostscript] 00:40.06 FORK(26444) --- fork starting for 'RSSFeeds', PID == 26444, bot_pid == 32511 --- 00:40.07 FORK(26444) !ERROR! cannot load my module: RSSFeeds 00:40.07 FORK(26444) fork: took 1s for RSSFeeds. 00:40.07 FORK(26444) --- fork finished for 'RSSFeeds' --- 00:45.06 >>> ray_laptop has signed off IRC (Quit: ChatZilla 0.9.89 [Firefox 13.0.1/20120614114901]) [#ghostscript] 00:45.24 >>> marcosw has signed off IRC (Quit: marcosw) [#ghostscript] 00:53.06 Chans: (ghostbot) in:#ghostscript 00:53.16 --- Saved uptime records. 01:04.16 ircCheck: possible lost in space; checking.Fri Jan 11 01:04:16 2013 01:04.16 >ghostbot< TEST 01:04.16 IRCTEST: Yes, we're alive. 01:09.56 Chans: (ghostbot) in:#ghostscript 01:10.46 FORK(29778) --- fork starting for 'RSSFeeds', PID == 29778, bot_pid == 32511 --- 01:10.47 FORK(29778) !ERROR! cannot load my module: RSSFeeds 01:10.47 FORK(29778) fork: took 1s for RSSFeeds. 01:10.47 FORK(29778) --- fork finished for 'RSSFeeds' --- 01:40.56 FORK(30801) --- fork starting for 'RSSFeeds', PID == 30801, bot_pid == 32511 --- 01:40.57 FORK(30801) !ERROR! cannot load my module: RSSFeeds 01:40.57 FORK(30801) fork: took 1s for RSSFeeds. 01:40.57 FORK(30801) --- fork finished for 'RSSFeeds' --- 01:53.36 --- Saved uptime records. 01:57.06 Chans: (ghostbot) in:#ghostscript 02:07.46 ircCheck: possible lost in space; checking.Fri Jan 11 02:07:46 2013 02:07.46 >ghostbot< TEST 02:07.46 IRCTEST: Yes, we're alive. 02:11.46 FORK(3340) --- fork starting for 'RSSFeeds', PID == 3340, bot_pid == 32511 --- 02:11.47 FORK(3340) !ERROR! cannot load my module: RSSFeeds 02:11.47 FORK(3340) fork: took 1s for RSSFeeds. 02:11.47 FORK(3340) --- fork finished for 'RSSFeeds' --- 02:13.16 Chans: (ghostbot) in:#ghostscript 02:38.55 LOG: last message repeated 3 times 02:38.56 !WARN! PERL: readdir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 862. 02:38.56 !WARN! PERL: closedir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 869. 02:41.56 FORK(4577) --- fork starting for 'RSSFeeds', PID == 4577, bot_pid == 32511 --- 02:41.57 FORK(4577) !ERROR! cannot load my module: RSSFeeds 02:41.57 FORK(4577) fork: took 1s for RSSFeeds. 02:41.57 FORK(4577) --- fork finished for 'RSSFeeds' --- 02:45.05 Chans: (ghostbot) in:#ghostscript 02:45.35 >>> liucougar has signed off IRC (Ping timeout: 264 seconds) [#ghostscript] 02:54.36 --- Saved uptime records. 03:02.25 Chans: (ghostbot) in:#ghostscript 03:07.55 ircCheck: possible lost in space; checking.Fri Jan 11 03:07:55 2013 03:07.55 >ghostbot< TEST 03:07.55 IRCTEST: Yes, we're alive. 03:12.26 FORK(7763) --- fork starting for 'RSSFeeds', PID == 7763, bot_pid == 32511 --- 03:12.27 FORK(7763) !ERROR! cannot load my module: RSSFeeds 03:12.27 FORK(7763) fork: took 2s for RSSFeeds. 03:12.27 FORK(7763) --- fork finished for 'RSSFeeds' --- 03:18.15 Chans: (ghostbot) in:#ghostscript 03:43.15 FORK(11983) --- fork starting for 'RSSFeeds', PID == 11983, bot_pid == 32511 --- 03:43.16 FORK(11983) !ERROR! cannot load my module: RSSFeeds 03:43.16 FORK(11983) fork: took 1s for RSSFeeds. 03:43.16 FORK(11983) --- fork finished for 'RSSFeeds' --- 03:46.30 >>> join/#ghostscript marcosw (~marcosw@67.169.6.130) 03:49.59 >>> join/#ghostscript tkamppeter_ (~till@p5DDBA8BC.dip.t-dialin.net) 03:49.59 Chans: (ghostbot) in:#ghostscript 03:53.17 >>> tkamppeter has signed off IRC (Ping timeout: 248 seconds) [#ghostscript] 03:55.15 --- Saved uptime records. 04:05.25 Chans: (ghostbot) in:#ghostscript 04:05.26 >>> join/#ghostscript mvrhel_laptop (~chatzilla@c-174-61-155-196.hsd1.wa.comcast.net) 04:11.15 ircCheck: possible lost in space; checking.Fri Jan 11 04:11:15 2013 04:11.15 >ghostbot< TEST 04:11.15 IRCTEST: Yes, we're alive. 04:13.55 FORK(16300) --- fork starting for 'RSSFeeds', PID == 16300, bot_pid == 32511 --- 04:13.56 FORK(16300) !ERROR! cannot load my module: RSSFeeds 04:13.56 FORK(16300) fork: took 1s for RSSFeeds. 04:13.56 FORK(16300) --- fork finished for 'RSSFeeds' --- 04:22.05 Chans: (ghostbot) in:#ghostscript 04:22.59 >>> marcosw has signed off IRC (Quit: marcosw) [#ghostscript] 04:24.10 >>> join/#ghostscript marcosw (~marcosw@67.169.6.130) 04:37.45 Chans: (ghostbot) in:#ghostscript 04:44.15 FORK(17434) --- fork starting for 'RSSFeeds', PID == 17434, bot_pid == 32511 --- 04:44.16 FORK(17434) !ERROR! cannot load my module: RSSFeeds 04:44.16 FORK(17434) fork: took 1s for RSSFeeds. 04:44.16 FORK(17434) --- fork finished for 'RSSFeeds' --- 04:55.55 --- Saved uptime records. 05:09.15 Chans: (ghostbot) in:#ghostscript 05:13.21 >>> marcosw has signed off IRC (Quit: marcosw) [#ghostscript] 05:14.25 FORK(18965) --- fork starting for 'RSSFeeds', PID == 18965, bot_pid == 32511 --- 05:14.26 FORK(18965) !ERROR! cannot load my module: RSSFeeds 05:14.26 FORK(18965) fork: took 1s for RSSFeeds. 05:14.26 FORK(18965) --- fork finished for 'RSSFeeds' --- 05:14.35 ircCheck: possible lost in space; checking.Fri Jan 11 05:14:35 2013 05:14.35 >ghostbot< TEST 05:14.35 IRCTEST: Yes, we're alive. 05:24.55 Chans: (ghostbot) in:#ghostscript 05:44.55 FORK(19871) LOG: last message repeated 3 times 05:44.55 FORK(19871) --- fork starting for 'RSSFeeds', PID == 19871, bot_pid == 32511 --- 05:44.56 FORK(19871) !ERROR! cannot load my module: RSSFeeds 05:44.56 FORK(19871) fork: took 1s for RSSFeeds. 05:44.56 FORK(19871) --- fork finished for 'RSSFeeds' --- 05:56.05 LOG: last message repeated 3 times 05:56.05 --- Saved uptime records. 05:57.35 Chans: (ghostbot) in:#ghostscript 05:58.15 marcos: bugzilla exploded on me 05:58.32 There was an error sending mail from 'bugzilla-daemon@ghostscript.com' to 'marcos.woehrmann@artifex.com': Error executing /usr/lib/sendmail: Cannot allocate memory 06:05.35 >>> join/#ghostscript marcosw (~marcosw@67.169.6.130) 06:08.50 >>> marcosw has signed off IRC (Client Quit) [#ghostscript] 06:13.45 Chans: (ghostbot) in:#ghostscript 06:15.25 FORK(21009) --- fork starting for 'RSSFeeds', PID == 21009, bot_pid == 32511 --- 06:15.26 FORK(21009) !ERROR! cannot load my module: RSSFeeds 06:15.26 FORK(21009) fork: took 1s for RSSFeeds. 06:15.26 FORK(21009) --- fork finished for 'RSSFeeds' --- 06:39.05 !WARN! PERL: readdir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 862. 06:39.05 !WARN! PERL: closedir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 869. 06:45.05 Chans: (ghostbot) in:#ghostscript 06:45.55 FORK(22480) --- fork starting for 'RSSFeeds', PID == 22480, bot_pid == 32511 --- 06:45.56 FORK(22480) !ERROR! cannot load my module: RSSFeeds 06:45.56 FORK(22480) fork: took 1s for RSSFeeds. 06:45.56 FORK(22480) --- fork finished for 'RSSFeeds' --- 06:56.05 Seen: Flushed 1 entries. 06:56.26 --- Saved uptime records. 07:00.35 Chans: (ghostbot) in:#ghostscript 07:00.35 ircCheck: possible lost in space; checking.Fri Jan 11 07:00:35 2013 07:00.35 >ghostbot< TEST 07:00.35 IRCTEST: Yes, we're alive. 07:16.05 FORK(24400) --- fork starting for 'RSSFeeds', PID == 24400, bot_pid == 32511 --- 07:16.06 FORK(24400) !ERROR! cannot load my module: RSSFeeds 07:16.06 FORK(24400) fork: took 1s for RSSFeeds. 07:16.06 FORK(24400) --- fork finished for 'RSSFeeds' --- 07:16.25 Chans: (ghostbot) in:#ghostscript 07:46.25 FORK(23814) --- fork starting for 'RSSFeeds', PID == 23814, bot_pid == 32511 --- 07:46.26 FORK(23814) !ERROR! cannot load my module: RSSFeeds 07:46.26 FORK(23814) fork: took 2s for RSSFeeds. 07:46.26 FORK(23814) --- fork finished for 'RSSFeeds' --- 07:47.22 >>> join/#ghostscript kens (~Miranda@87.114.43.127) 07:48.34 Chans: (ghostbot) in:#ghostscript 07:56.54 --- Saved uptime records. 07:57.42 >>> chrisl_away materializes into chrisl 08:04.04 Chans: (ghostbot) in:#ghostscript 08:04.04 ircCheck: possible lost in space; checking.Fri Jan 11 08:04:04 2013 08:04.04 >ghostbot< TEST 08:04.05 IRCTEST: Yes, we're alive. 08:10.04 >>> mvrhel_laptop has signed off IRC (Ping timeout: 240 seconds) [#ghostscript] 08:16.35 FORK(23533) --- fork starting for 'RSSFeeds', PID == 23533, bot_pid == 32511 --- 08:16.36 FORK(23533) !ERROR! cannot load my module: RSSFeeds 08:16.36 FORK(23533) fork: took 2s for RSSFeeds. 08:16.36 FORK(23533) --- fork finished for 'RSSFeeds' --- 08:19.44 Chans: (ghostbot) in:#ghostscript 08:46.44 FORK(19841) LOG: last message repeated 3 times 08:46.44 FORK(19841) --- fork starting for 'RSSFeeds', PID == 19841, bot_pid == 32511 --- 08:46.45 FORK(19841) !ERROR! cannot load my module: RSSFeeds 08:46.45 FORK(19841) fork: took 1s for RSSFeeds. 08:46.45 FORK(19841) --- fork finished for 'RSSFeeds' --- 08:52.10 LOG: last message repeated 4 times 08:52.10 >>> kens has signed off IRC (Read error: Connection reset by peer) [#ghostscript] 08:57.14 --- Saved uptime records. 09:01.48 >>> join/#ghostscript kens (~Miranda@87.114.43.127) 09:07.34 Chans: (ghostbot) in:#ghostscript 09:07.34 ircCheck: possible lost in space; checking.Fri Jan 11 09:07:34 2013 09:07.34 >ghostbot< TEST 09:07.34 IRCTEST: Yes, we're alive. 09:16.54 FORK(6325) --- fork starting for 'RSSFeeds', PID == 6325, bot_pid == 32511 --- 09:16.56 FORK(6325) !ERROR! cannot load my module: RSSFeeds 09:16.56 FORK(6325) fork: took 2s for RSSFeeds. 09:16.56 FORK(6325) --- fork finished for 'RSSFeeds' --- 09:23.44 Chans: (ghostbot) in:#ghostscript 09:28.32 >>> join/#ghostscript paulgardiner (~chatzilla@smtp.glidos.net) 09:32.27 >>> tkamppeter_ materializes into tkamppeter 09:39.14 Chans: (ghostbot) in:#ghostscript 09:47.04 FORK(23841) --- fork starting for 'RSSFeeds', PID == 23841, bot_pid == 32511 --- 09:47.05 FORK(23841) !ERROR! cannot load my module: RSSFeeds 09:47.05 FORK(23841) fork: took 1s for RSSFeeds. 09:47.05 FORK(23841) --- fork finished for 'RSSFeeds' --- 09:56.03 >>> kens has signed off IRC (Read error: Connection reset by peer) [#ghostscript] 09:57.23 --- Saved uptime records. 10:10.54 Chans: (ghostbot) in:#ghostscript 10:10.54 ircCheck: possible lost in space; checking.Fri Jan 11 10:10:54 2013 10:10.54 >ghostbot< TEST 10:10.54 IRCTEST: Yes, we're alive. 10:17.14 FORK(26434) --- fork starting for 'RSSFeeds', PID == 26434, bot_pid == 32511 --- 10:17.15 FORK(26434) !ERROR! cannot load my module: RSSFeeds 10:17.15 FORK(26434) fork: took 1s for RSSFeeds. 10:17.15 FORK(26434) --- fork finished for 'RSSFeeds' --- 10:26.24 Chans: (ghostbot) in:#ghostscript 10:28.03 >>> join/#ghostscript kens (~Miranda@87.114.43.127) 10:31.47 >>> join/#ghostscript tor8 (~tor@c-a37a71d5.04-50-6c756e10.cust.bredbandsbolaget.se) 10:39.14 !WARN! PERL: readdir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 862. 10:39.14 !WARN! PERL: closedir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 869. 10:41.06 >>> join/#ghostscript oy (~kuwe@f055010253.adsl.alicedsl.de) 10:42.16 Chans: (ghostbot) in:#ghostscript 10:47.54 FORK(10046) --- fork starting for 'RSSFeeds', PID == 10046, bot_pid == 32511 --- 10:47.55 FORK(10046) !ERROR! cannot load my module: RSSFeeds 10:47.55 FORK(10046) fork: took 1s for RSSFeeds. 10:47.55 FORK(10046) --- fork finished for 'RSSFeeds' --- 10:57.34 --- Saved uptime records. 10:58.14 Chans: (ghostbot) in:#ghostscript 11:05.08 >>> join/#ghostscript mvrhel_laptop (~chatzilla@c-174-61-155-196.hsd1.wa.comcast.net) 11:14.54 Chans: (ghostbot) in:#ghostscript 11:14.54 ircCheck: possible lost in space; checking.Fri Jan 11 11:14:54 2013 11:14.54 >ghostbot< TEST 11:14.54 IRCTEST: Yes, we're alive. 11:17.04 >>> join/#ghostscript mai_ (7a03305a@gateway/web/freenode/ip.122.3.48.90) 11:17.27 >>> mai_ materializes into Guest7980 11:18.00 hello! 11:18.00 FORK(10530) --- fork starting for 'RSSFeeds', PID == 10530, bot_pid == 32511 --- 11:18.01 FORK(10530) !ERROR! cannot load my module: RSSFeeds 11:18.01 FORK(10530) fork: took 1s for RSSFeeds. 11:18.01 FORK(10530) --- fork finished for 'RSSFeeds' --- 11:19.10 Are there any MUPDF developers currently around? 11:21.20 there are. 11:21.58 hello Robin! I have many one page pdf files and I would like to merge it into one pdf file with mupdf library on android device. Is this possible? 11:22.44 We don't currently have a merge facility. 11:22.52 >>> mvrhel_laptop has signed off IRC (Ping timeout: 248 seconds) [#ghostscript] 11:23.09 but I suspect it wouldn't be too hard. 11:24.12 Another workaround I'm currently entertaining is to reload the contents of the ReaderView with the next pdf file; assuming of course that the pdf filenames are named after their page number 11:25.21 We had a customer recently who wanted to display n 1 page PDFs as 1 n page PDF. 11:25.50 and paulgardiner did that for them by tweaking the top level app classes. 11:26.26 Say after swiping 1.pdf to the right, call the view to load the contents of the 2.pdf 11:26.53 do you have any idea how paulgardiner did it? 11:29.10 Guest7980: I still have the patch. It would probably need some fiddling to apply it to current head of master but it shouldn't be too far off 11:29.46 hi Paul! would you mind sharing the patch? 11:30.17 Sure not a problem. Let me see where I can upload it. 11:30.36 thank you so much! 11:30.37 >>> join/#ghostscript deleet (~deleet@chronos.andreferreira.com) 11:31.07 Chans: (ghostbot) in:#ghostscript 11:36.50 Guest7980: here you go - http://intranet.glidos.net/~paul/first-page.diff 11:37.50 thank you Paul! Got it 11:41.23 Guest7980: So you're writing an android app based on MuPDF? 11:41.54 As I'm sure you're aware, MuPDF is available under 2 licenses; the GNU GPL and the Artifex commercial license. 11:42.10 Hi Robin, I'm Mai. For some strange reason IRC changed my nickname because I failed to identify in time. 11:42.34 Anyway, yes, I'm writing an Android App based on MuPDF. 11:43.44 Ah, ok. I was just going to give my usual spiel about either complying with the GNU GPL (including, but not limited to making source code available for the whole app), or needing to get a commercial license before release. 11:46.33 I will check which license we'll be adopting, but I don't see any problem with getting a commercial license if needed. Thanks for the heads up. 11:46.42 no worries. 11:47.14 Chans: (ghostbot) in:#ghostscript 11:48.30 Robin, Paul thanks again. 11:48.45 Let us know how you get on. 11:48.45 FORK(1037) --- fork starting for 'RSSFeeds', PID == 1037, bot_pid == 32511 --- 11:48.46 FORK(1037) !ERROR! cannot load my module: RSSFeeds 11:48.46 FORK(1037) fork: took 1s for RSSFeeds. 11:48.46 FORK(1037) --- fork finished for 'RSSFeeds' --- 11:49.21 Will do! 11:52.46 >>> part/#ghostscript Guest7980 (7a03305a@gateway/web/freenode/ip.122.3.48.90) 11:57.54 Seen: Flushed 3 entries. 11:58.24 --- Saved uptime records. 12:02.44 Chans: (ghostbot) in:#ghostscript 12:19.04 FORK(2024) --- fork starting for 'RSSFeeds', PID == 2024, bot_pid == 32511 --- 12:19.05 FORK(2024) !ERROR! cannot load my module: RSSFeeds 12:19.05 FORK(2024) fork: took 1s for RSSFeeds. 12:19.05 FORK(2024) --- fork finished for 'RSSFeeds' --- 12:19.38 Robin_Watts, tor8: would you check over the review on paulg/master please, when you get a free moment? 12:20.45 will do. just trying to check the link stuff. 12:32.47 tor8: Various commits on my repo. The last 2 give me warnings about not being utf-8 conformant due to their being accents in the commit messages. Do you have any idea what to do about that? 12:32.51 paulgardiner: Looking now. 12:32.56 ta 12:34.44 Chans: (ghostbot) in:#ghostscript 12:49.14 FORK(763) --- fork starting for 'RSSFeeds', PID == 763, bot_pid == 32511 --- 12:49.15 FORK(763) !ERROR! cannot load my module: RSSFeeds 12:49.15 FORK(763) fork: took 1s for RSSFeeds. 12:49.15 FORK(763) --- fork finished for 'RSSFeeds' --- 12:49.52 paulgardiner: I see 4 commits on your repo to look at. 12:50.22 Chans: (ghostbot) in:#ghostscript 12:51.10 Yep 12:52.44 http://git.ghostscript.com/?p=user/paulg/mupdf.git;a=commitdiff;h=5ffe63ad521dc71b33d9c280ad108ca495a450d1 12:53.16 If we fz_throw from Java_com_artifex_mupdf_MuPDFCore_text, will that not leak barr, larr etc? 12:54.50 I believe it's ok. You have to call DeleteLocalRef only to stop the system running out of local storage while you are in the call. It frees everthing automatically when you return. 12:55.42 really? boggle. 12:56.47 Just googled and found a forum where it explains that it is like setting a java var to null. Unnecessary but can allow sooner garbage collection 12:57.04 ok, fair enough. 12:57.49 AFAIK you don't need to call it at all unless you are allocating loads of stuff repeatedly in a loop 12:57.54 + private native TextChar[][][][] text(); 12:57.54 Process: '+' flag detected; changing reply to public 12:58.04 Seen: Flushed 2 entries. 12:58.06 Is that like the java equivalent of being a 4 * programmer ? :) 12:58.36 --- Saved uptime records. 12:59.40 :-) Damn! Should have made it 5. 13:01.06 android's x86 doesn't have sigsetjmp I think 13:06.34 Chans: (ghostbot) in:#ghostscript 13:07.57 I thought we only used sigsetjmp on macOS? 13:13.32 paulgardiner: is there are reason why the patch does: if (!selecting) { do the not selecting thing } else { do the selecting thing } 13:13.53 rather than: if (selecting) { do the selecting thing } else { do the non selecting thing } ? 13:14.31 I find the latter makes more sense to my tiny brain. 13:15.23 Well... only because selecting is the unusual case. It's do the usual sensible thing when not selecting. Inhibit that and do something else when selecting 13:16.22 but it scales poorly, IMHO. When we have another unusual case we end up doing: if (!selecting && !bibbling && !dribbling) ... 13:16.52 wheras: if (selecting) select else if (bibbling) bibble else if (dribbling) dribble else normal; 13:17.41 That's a good point 13:18.16 Is it the last commit where I do that? 13:18.24 http://git.ghostscript.com/?p=user/paulg/mupdf.git;a=commitdiff;h=a9df730e0c215f8ff213814686a8df0767cece31 13:18.30 2 of 4. 13:18.52 but it's a small point. 13:19.32 FORK(1982) --- fork starting for 'RSSFeeds', PID == 1982, bot_pid == 32511 --- 13:19.33 FORK(1982) !ERROR! cannot load my module: RSSFeeds 13:19.33 FORK(1982) fork: took 1s for RSSFeeds. 13:19.33 FORK(1982) --- fork finished for 'RSSFeeds' --- 13:20.07 If it's 2 of 4 then it might cause the 3 and 4 to apply badly hence best altered as a separate commit. In which case, shall I keep it in mind to alter when I'm next changing that file 13:20.17 sure. 13:20.48 So the highlight is drawn as an inverted rectangle ? 13:21.15 No. It's the same as the text search highlight. 13:21.26 >>> kens has signed off IRC (Read error: Connection reset by peer) [#ghostscript] 13:21.27 oh, sorry, it's in a loop. 13:21.34 Robin_Watts: contents of last 3 commits LGTM 13:21.50 Robin_Watts: set your editor to use utf-8 encoding (or approximate his name with ascii) 13:21.54 each line of the highlight is a rectangle. right. 13:22.01 tor8: OK. 13:22.14 Robin_Watts: which editor do you use to type the commit messages? 13:22.19 emacs 13:22.31 right. so that one ought to be able to do utf-8 easily enough 13:22.42 I'm sure it's defaulted to latin-1 though 13:22.51 Ctrl-x return f utf8 or something. 13:23.51 Chans: (ghostbot) in:#ghostscript 13:24.05 tor8: Had you previously OKd the fax decoder and atoi ones ? 13:25.31 >>> join/#ghostscript kens (~Miranda@87.114.43.127) 13:27.46 paulgardiner: What's the animation for with the copy to clipboard stuff ? 13:28.34 Robin_Watts: no. I didn't like (or understand) the fax one... it seems like we're stabbing in the dark there 13:28.48 It fades in quickly. hangs around for a bit and then fades out slowly. xml gives a nice concise way to set it up 13:28.51 Robin_Watts: the atoi one, I was thinking fz_atoi that is safe for NULL and use that everywhere instead 13:29.05 tor8: fz_atoi - OK. 13:29.13 in case there are more places like it 13:29.22 paulgardiner: That's for a message saying "copied to clipboard?" 13:29.37 tor8: The fax one... there is a problem with the current code. 13:29.38 yes, 13:30.13 In that if we call in with x > (w-1)>>3 (i.e. into the last byte), we overread by 1 byte. 13:30.14 paulgardiner: Robin_Watts: about the icons, the clipboard icon looks more like a bookmark and the arrow doesn't make much sense. I know robin has expressed a dislike for the icon aesthetics before, so maybe we should look for another set to use? 13:31.04 tor8: We could keep with iconic but add a few of our own. 13:31.20 paulgardiner: Robin_Watts: have a look through http://adamwhitcroft.com/batch/ 13:31.36 I too don't like my current choice, but I couldn't find others within iconic that seemed better 13:31.38 tor8: So how about with the fax one, I strip out the debugging code, and just put the fix in? 13:31.53 there's also http://aristath.github.com/elusive-iconfont/ 13:32.27 Robin_Watts: we should send zeniko the debug code so he can track it down, but leave it out of master, if he's amenable to that 13:32.40 tor8: OK. I'll sort that out. 13:32.53 paulgardiner: nope, it's a bit limited in choice, iconic 13:33.18 if we don't care about icon consistency, there's http://thenounproject.com/ 13:33.46 We have these lovely hires, color screens. And we're restricting ourselves arbitrarily to mono, blocky icons. 13:34.25 Robin_Watts: well, we could go retro 32x32 pixel art ;) 13:34.39 I mean, clipboards are rectangular things, with a clip on, plus a piece of paper. 13:35.10 but if we restrict ourselves to blocky mono, it's impossible to draw that with any form of clarity. 13:35.26 http://thenounproject.com/tag/clipboard/ 13:35.38 I'd highly recommend a solution that doesn't depend on any artistry from me. 13:36.01 tor8: OK, but do we have that many pixels to throw around ? 13:36.24 We seem to be aiming at 32x32 and 24x24 13:37.01 for ipad I think we would want something around 40x40 for the lowres ones 13:37.12 android a bit lower than that 13:37.30 damn these multiple resolutions, we should have something more scalable than just sets of png files :( 13:37.39 do you know if android drawables can do svg? 13:38.22 Robin_Watts: I'm not opposed to color icons, but then you need to hire someone who can draw a decent, coherent, good looking set that will fit all these funky android and ios color schemes. 13:38.42 less so now that I've hardcoded the colors and got rid of the theming from android buttons 13:39.01 The button for which I've used the up-left arrow may be in itself temporary. I t may make no sense when we've added various forms of annotation editing. 13:39.23 monochrome silhouette based icons can work well in many environments 13:39.33 Chans: (ghostbot) in:#ghostscript 13:42.48 monochrome seems to gel well with ICS on the S2 13:44.36 Just a paperclip might be good for copy to clipboard 13:44.55 paulgardiner: maybe a pen or marker for selecting text? 13:46.10 For copy to clipboard, we want a clipboard with an arrow pointing onto it, I reckon. 13:46.18 tor8: maybe. We will also be selecting text for the addition of highlight, underline and strikethrough annotations. 13:46.58 * Robin_Watts/#ghostscript is being called by the boss for food. 13:47.07 paulgardiner: Your reviews look good. I will push after lunch. 13:47.24 And there are annotations that don't involve text selection. I think getting the UI right for that will take a little trial and error. 13:48.01 On the plus side, Android allows for fairly quick reworking of UI. 13:49.54 FORK(31718) --- fork starting for 'RSSFeeds', PID == 31718, bot_pid == 32511 --- 13:49.55 FORK(31718) !ERROR! cannot load my module: RSSFeeds 13:49.55 FORK(31718) fork: took 2s for RSSFeeds. 13:49.55 FORK(31718) --- fork finished for 'RSSFeeds' --- 13:51.19 paulgardiner: the batch icon set has a more typical clipboard icon, but I wouldn't sweat too much on it 13:51.36 I'll try out a few different sets when I get bored later :) 13:52.51 That would be good. I chose those icons with every intention that they would be changed. 13:52.55 paulgardiner: I wonder if we could use a custom truetype iconfont there 13:53.04 to get good scalability with a minimal amount of hassle 13:54.45 Google doesn't seem to be helping much with whether ttfs can be used for icons 13:55.15 Chans: (ghostbot) in:#ghostscript 13:55.19 Which batch icon were you refering to, out of interest 13:55.21 ? 13:55.52 6 down to the very right? 13:58.13 Seen: Flushed 4 entries. 13:58.43 --- Saved uptime records. 14:01.55 I'm sure I've seem a paperclip used before, and that was the only time I'd immediately recognised the icon as "copy to clipboard" rather than thought "what exactly is that a picture of?" 14:07.08 paulgardiner: yeah. there's also a case for using the two stacked documents as in all windows toolbars from the 90's 14:07.46 paulgardiner: as long as we can load up a font and use it it can be used as text with a funky encoding to get the icon 14:07.47 Yes true. 14:08.39 That was yes to point 1 14:09.03 Point 2: ah of course. I guess we'd just use a TextView rather than an ImageView. 14:09.16 The alteration would be more hassle 14:11.53 Chans: (ghostbot) in:#ghostscript 14:17.10 * Robin_Watts/#ghostscript pops into town. bbs. 14:20.33 FORK(9094) --- fork starting for 'RSSFeeds', PID == 9094, bot_pid == 32511 --- 14:20.35 FORK(9094) !ERROR! cannot load my module: RSSFeeds 14:20.35 FORK(9094) fork: took 2s for RSSFeeds. 14:20.35 FORK(9094) --- fork finished for 'RSSFeeds' --- 14:27.53 Chans: (ghostbot) in:#ghostscript 14:39.53 !WARN! PERL: readdir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 862. 14:39.53 !WARN! PERL: closedir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 869. 14:40.33 leak: 1 nuh{} items deleted; now have 29 14:43.33 Chans: (ghostbot) in:#ghostscript 14:50.43 FORK(31746) --- fork starting for 'RSSFeeds', PID == 31746, bot_pid == 32511 --- 14:50.44 FORK(31746) !ERROR! cannot load my module: RSSFeeds 14:50.44 FORK(31746) fork: took 1s for RSSFeeds. 14:50.44 FORK(31746) --- fork finished for 'RSSFeeds' --- 14:58.23 Seen: Flushed 2 entries. 14:59.13 --- Saved uptime records. 14:59.23 Chans: (ghostbot) in:#ghostscript 15:09.53 ircCheck: possible lost in space; checking.Fri Jan 11 15:09:53 2013 15:09.53 >ghostbot< TEST 15:09.53 IRCTEST: Yes, we're alive. 15:15.13 Chans: (ghostbot) in:#ghostscript 15:16.20 >>> join/#ghostscript henrys (~henrys@c-50-134-235-109.hsd1.co.comcast.net) 15:21.13 FORK(29273) --- fork starting for 'RSSFeeds', PID == 29273, bot_pid == 32511 --- 15:21.14 FORK(29273) !ERROR! cannot load my module: RSSFeeds 15:21.14 FORK(29273) fork: took 1s for RSSFeeds. 15:21.14 FORK(29273) --- fork finished for 'RSSFeeds' --- 15:24.51 paulgardiner: pushed, along with the reviews that tor liked of mine. 15:25.24 Great. Thanks. 15:31.13 Chans: (ghostbot) in:#ghostscript 15:34.35 tor8: Updated versions of fz_atoi and fax decoder reviews online for you at your convenience. 15:36.10 Robin_Watts: you still have the if (s == NULL) throw in there 15:36.19 D'Oh. 15:37.37 New version online, sorry. 15:38.12 looks better now, thanks 15:38.23 nod to both of them 15:38.25 Ta. 15:39.39 henrys: so, the MT stuff is fixed, we believe. 15:40.06 Was there anything else release critical I should be looking at, or is it back to the customer 395 bugs ? 15:40.53 Robin_Watts: yes huge fix prior to the release. I can't think of anything else that needs immediate attention. 15:41.30 cool. I am crap at remembering things, so thought I'd ask :) 15:44.27 I sent sags a reminder email yesterday so see if he had further thoughts on the unicode/utf8 stuff, but haven't heard back. 15:47.53 Chans: (ghostbot) in:#ghostscript 15:51.53 FORK(11998) --- fork starting for 'RSSFeeds', PID == 11998, bot_pid == 32511 --- 15:51.54 FORK(11998) !ERROR! cannot load my module: RSSFeeds 15:51.54 FORK(11998) fork: took 1s for RSSFeeds. 15:51.54 FORK(11998) --- fork finished for 'RSSFeeds' --- 15:52.45 >>> join/#ghostscript mvrhel_laptop (~chatzilla@c-174-61-155-196.hsd1.wa.comcast.net) 15:58.33 Seen: Flushed 4 entries. 16:00.03 --- Saved uptime records. 16:04.03 Chans: (ghostbot) in:#ghostscript 16:12.33 >>> mvrhel_laptop has signed off IRC (Ping timeout: 240 seconds) [#ghostscript] 16:20.13 Chans: (ghostbot) in:#ghostscript 16:22.02 paulgardiner: can't we ask freetype to render glyphs from the icon ttf and use that as an image in an ImageView? I fail to see why it _has_ to be a TextView...? 16:22.03 FORK(27696) --- fork starting for 'RSSFeeds', PID == 27696, bot_pid == 32511 --- 16:22.04 FORK(27696) !ERROR! cannot load my module: RSSFeeds 16:22.04 FORK(27696) fork: took 2s for RSSFeeds. 16:22.04 FORK(27696) --- fork finished for 'RSSFeeds' --- 16:25.39 sebras: That would mean lots more complexity in the app side of things. 16:31.24 >>> join/#ghostscript marcosw (~marcosw@67.169.6.130) 16:32.54 >>> join/#ghostscript sh4rm4 (~sh4rm@gateway/tor-sasl/sh4rm4) 16:33.22 i am trying to build mupdf for my embedded distro 16:33.30 there are 2 issues... 16:33.40 1) Makefile does not support DESTDIR 16:33.49 2) openjpeg uses CMAKE 16:34.25 1) is easy to fix: http://sprunge.us/XPDb 16:34.34 but 2) is a major problem 16:34.37 sh4rm4: 2 is not an issue, if you build with our makefiles and without using a shared lib. 16:34.43 my distro does not even have a C++ compiler 16:35.00 Are you building from git or from release? 16:35.01 Robin_Watts, where is that Makefile ? 16:35.10 release 16:35.34 OK, so download the mupdf-thirdparty.zip file from mupdf.com, and unpack that into the thirdparty directory within the source. 16:35.53 .zip on unix ? 16:36.07 Then just do 'make', and our makefile will spot the presence of the libraries within thirdparty and build appropriately. 16:36.15 zip because it works on both unix and windows. 16:36.15 Chans: (ghostbot) in:#ghostscript 16:36.38 that will require that i rebuild busybox with zip support 16:37.08 sh4rm4: well, you can always repack from .zip to .tgz on a different platform. 16:37.22 can't i just unpack the openjpeg tarball into the source tree ? 16:37.34 (2.0.0, that is) 16:37.40 sh4rm4: You can if you want, but then you won't get any of our fixes. 16:37.53 ah 16:37.54 And it won't work because 2.0.0 is not supported in the last release. 16:37.59 oh 16:38.03 We are using 1.5.0 16:38.33 We have a branch on which we can use 2.0.0, but 2.0.0 fails to decode some images that 1.5.0 decodes just fine. 16:38.45 so we won't be swapping to it by default until that is fixed. 16:40.06 hmm it would be nice if you could offer a mupdf + dependencies tarball 16:40.20 dealing with 2 different archives defeats the logic of my package manager 16:41.27 (repacking is not an option, as all tarballs are taken from official site for trust reasons) 16:42.14 Sorry, but I don't see us changing that any time soon. 16:42.23 :( 16:42.45 zip doesnt even support unix permissions... 16:42.48 Robin_Watts: I'm not so sure. I was considering it for the next tarball release. 16:43.14 tor8: Fair enough then, it's your baby :) 16:43.37 * Robin_Watts/#ghostscript wonders what happens when people complain they have to get v8 separately then... 16:45.15 is it ok to use jbigdec version 0.11 ? 16:45.46 or do you also have modifications in your 3rd party package ? 16:47.16 sh4rm4: If you want to use our makefile, use our dependency archive. 16:47.50 If you want to come back to us with problems, use our dependency archive, or the first thing we'll do is to tell you to retry with a version that uses our dependency archive :) 16:48.01 he he 16:48.18 feel free to apply the DESTDIR fix http://sprunge.us/XPDb 16:49.09 oops, there is one whitespace bug in there 16:49.30 $(DESTDIR) $(incdir) -> $(DESTDIR)$(incdir) 16:52.23 Chans: (ghostbot) in:#ghostscript 16:52.53 FORK(11319) --- fork starting for 'RSSFeeds', PID == 11319, bot_pid == 32511 --- 16:52.54 FORK(11319) !ERROR! cannot load my module: RSSFeeds 16:52.54 FORK(11319) fork: took 1s for RSSFeeds. 16:52.54 FORK(11319) --- fork finished for 'RSSFeeds' --- 16:58.43 Seen: Flushed 4 entries. 17:00.33 --- Saved uptime records. 17:02.31 >>> join/#ghostscript mvrhel_laptop (~chatzilla@ip-64-134-142-82.public.wayport.net) 17:08.33 Chans: (ghostbot) in:#ghostscript 17:23.03 FORK(18619) --- fork starting for 'RSSFeeds', PID == 18619, bot_pid == 32511 --- 17:23.04 FORK(18619) !ERROR! cannot load my module: RSSFeeds 17:23.04 FORK(18619) fork: took 1s for RSSFeeds. 17:23.04 FORK(18619) --- fork finished for 'RSSFeeds' --- 17:23.57 >>> marcosw has signed off IRC (Quit: marcosw) [#ghostscript] 17:25.03 Chans: (ghostbot) in:#ghostscript 17:29.20 tor8: 3 more small reviews. 17:38.01 sh4rm4: if you want a smaller patch, wouldn't changing prefix ?= /usr/local to prefix ?= $(DESTDIR)/usr/local be even more minimal? 17:38.14 smaller patches are usually more appealing... 17:41.03 Chans: (ghostbot) in:#ghostscript 17:46.58 Robin_Watts: 3 commits LGTM 17:47.04 tor8: Thanks. 17:53.33 FORK(26941) --- fork starting for 'RSSFeeds', PID == 26941, bot_pid == 32511 --- 17:53.34 FORK(26941) !ERROR! cannot load my module: RSSFeeds 17:53.34 FORK(26941) fork: took 1s for RSSFeeds. 17:53.34 FORK(26941) --- fork finished for 'RSSFeeds' --- 17:53.42 >>> join/#ghostscript jordyd (~jordyd@unaffiliated/jordyd) 17:57.03 Chans: (ghostbot) in:#ghostscript 17:58.53 Seen: Flushed 3 entries. 18:00.53 --- Saved uptime records. 18:02.00 Hi! I'm a student, looking to implement a %ram% device, partly because it's bountiable, and partly because I want something to do. Anyway, I was reading the source, and I was wondering, in gsiodev.h, why in gx_io_device_procs_s, there is both iodev_proc_open_file and iodev_proc_fopen, and then also why in the definition of %os%, the iodev_proc_open_file field is NULL. 18:02.03 Robin_Watts: so while my customer bug fix runs, just a quick mupdf question for you. So fz_new_stream is considered an internal command. Any chance that could be opened up or should I add a new similar one that I can use in wrapping my stream 18:02.47 or that may be a question for you tor8 18:03.36 mvrhel_laptop: just include fitz-internal.h 18:03.58 I thought about that... 18:07.16 >>> chrisl materializes into chrisl_away 18:07.51 >>> join/#ghostscript ray_work (~ray_dual@rrcs-64-183-45-162.west.biz.rr.com) 18:09.01 mvrhel_laptop: the internal/external border is a bit fuzzy, but in general we consider stuff in the external header to be "stable" api:s that we rarely change 18:09.13 the internal header can be changed at any time at our whim 18:09.15 jordyd: Great! I'll try and answer your issues (it's been a while since I looked at the bug report, so I'm doing that now) 18:09.16 ok. that makes sense. now I don't feel like I am cheating... 18:09.43 in general most clients will rarely need to use the internal apis 18:12.32 Chans: (ghostbot) in:#ghostscript 18:12.36 Robin_Watts: I see the patch went in, thanks 18:12.51 <- dlty from yesterdya 18:12.58 bbiaw... 18:13.01 >>> mvrhel_laptop has signed off IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232]) [#ghostscript] 18:16.01 sebras, prefix != destdir 18:16.40 see https://github.com/miniupnp/miniupnp/issues/26 18:17.12 prefix is for hardcoded paths that end up in binaries etc 18:17.21 sh4rm4: we never use hardcoded paths anywhere 18:17.35 how can a packager know ? 18:17.47 he just assumes that prefix and destdir work as usual 18:18.02 and if destdir is not supported, he has to calculate with the worst 18:18.44 sh4rm4: well, I guess the packager would need to read up a bit on the package he's packaging if it turns out to be using something else than autotools... ;) 18:19.02 we should support destdir 18:19.03 sebras, yes and that is a major PITA 18:19.39 tor8: we could, and that's why I suggested prepending DESTDIR in prefix. 18:20.11 sebras: why prepend? 18:20.38 tor8: as opposed to replace? because autotools-stuff assume that the prefix is kept. 18:20.48 http://bugs.ghostscript.com/show_bug.cgi?id=693366 18:21.06 tor8: so you would install to $DESTDIR$prefix/{bin,share,lib}.... 18:21.29 sebras: is that what DESTDIR is supposed to do? 18:21.34 citing https://github.com/miniupnp/miniupnp/issues/26 18:21.35 n my case, prefix="" (empty) and DESTDIR=/opt/packagename 18:21.35 that makes libdir=/lib and things get installed to /opt/packagename/lib 18:21.39 (being ignorant here) 18:21.47 please read the link i pasted 18:21.54 sh4rm4: I did. 18:21.57 its 15 lines, so not tl;dr 18:22.00 jordyd: actually, it looks like alexcher or someone should have reviewed the "real %ram% device" patch in comment #8. Just a quick look at it makes me think that it is already done. 18:22.28 sh4rm4: very few things are tl;dr for me. it's just a question of whether they keep me interested enough. 18:22.34 we arent' very good sometimes about reviewing patches on bountiable bugs, it seems. :-( 18:22.36 ray_work, that patch doesn't support directories, I don't believe. 18:22.36 the length seldom matters in that case. 18:23.12 tor8: http://www.gnu.org/prep/standards/html_node/DESTDIR.html 18:23.18 sh4rm4: sebras: so the patch in the bug I linked should work 18:23.23 jordyd: as long as it supports a 'flat file system' and allows '/' to be part of the name, it is compatible with Adobe implementations. 18:23.32 tor8: don't know yet. *looking* 18:23.44 ray_work, oic 18:23.54 FORK(15714) --- fork starting for 'RSSFeeds', PID == 15714, bot_pid == 32511 --- 18:23.55 FORK(15714) !ERROR! cannot load my module: RSSFeeds 18:23.55 FORK(15714) fork: took 1s for RSSFeeds. 18:23.55 FORK(15714) --- fork finished for 'RSSFeeds' --- 18:24.06 tor8, that patch is suboptimal 18:24.11 tor8: well, you risk getting double slashes. 18:24.17 jordyd: this still allows enumeration of things like "mydir/*" 18:24.24 tor8: if you remove the slash after DESTDIR then it's better. 18:24.43 there should not be any slashes between DESTDIR and prefix 18:24.47 tor8: however given how we use $prefix I suggest that we might as well just prepend DESTDIR there. 18:25.01 sebras: double slashes are safe, but ugly 18:25.13 tor8, wrong 18:25.26 double slashes are according to posix reserved for network shares 18:25.28 but it will make a relative prefix wrong, so shouldn't have a / there 18:25.29 tor8: if we happen to use $prefix for hardcoded paths (like sh4rm4 mentioned) we could handle that then. 18:25.33 it works in practice tho 18:25.37 ray_work, I'll have a look at some of the other bountiables then 18:26.05 sh4rm4: oh. that's news to me, thought that was a windows specific misfeature :) 18:26.14 nope :) 18:26.16 jordyd: but it does mean that mydir can exist as a file along with mydir/ and mydir/temp1 as unique files, but that's OK generally (even if not intuitive to those that expect unix like directory path separators) 18:26.42 so thats why there must be no slashes between DESTDIR and prefix. this way, it always comes out correct 18:26.55 and i never heard about *relative* prefixes 18:27.23 sh4rm4: make prefix=local/test/dir install 18:27.28 I've done it on occasion 18:27.43 sh4rm4: prefix is just a variable, you can assign it to whatever you like. 18:27.48 jordyd: OK, thanks. If there are open bugs that don't have 'private' attachments, feel free to ask us to make it bountiable even if it isn't currently 18:28.08 Chans: (ghostbot) in:#ghostscript 18:28.16 ray_work, Alright, thanks. 18:28.18 jordyd: here's an OK place to ask, but you can also email that kind of question to gs_devel at ghostscript.com 18:28.53 ray_work, is the mailing list preferred for this sort of thing then? 18:29.57 jordyd: you'll get an interactive response here if the right people are online and paying attention, so if I were you, I'd ask here first and if nobody replies, use the mailing list 18:30.11 ray_work, Ok, thanks. 18:33.55 sh4rm4: tor8: http://goo.gl/pBNko (last sentence) it is only double slashes at the _beginning_ of a pathname that must be interpreted specially. 18:34.07 sebras, yes 18:34.53 so if prefix="/" and DESTDIR=/tmp, you end up with double slashes with the patch from the bugreport 18:34.56 sh4rm4: also POSIX doesn't state that it must be networkshares. just that the resolution is implementation-defined. 18:35.18 sh4rm4: I know, I mentioned this to tor8 a few minutes ago. 18:36.08 also, my patch makes it explicitly clear that destdir is only used for install 18:36.56 if someone later uses libdir in another makefile target, DESTDIR will mess that up 18:37.15 (in the other patch) 18:39.36 sh4rm4: I think we have all the info needed, let's see what changes tor8 applies to the Makefile. 18:39.49 http://sprunge.us/XAJj fixed version of my patch 18:40.19 !WARN! PERL: readdir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 862. 18:40.19 !WARN! PERL: closedir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 869. 18:42.55 >>> join/#ghostscript liucougar (~cougar@173-164-215-126-SFBA.hfc.comcastbusiness.net) 18:44.32 Chans: (ghostbot) in:#ghostscript 18:45.24 sebras: Robin_Watts: patch to review on tor/master 18:46.19 looks ok to me. 18:49.22 tor8: give me a minute. 18:49.52 Robin_Watts: did you update freetype too? 18:50.48 tor8: lgtm. 18:51.16 sebras: I believe so. 18:51.35 Robin_Watts: anything new that has changed? 18:51.50 Robin_Watts: is the rendering similar to what it used to be, e.g.? 18:52.03 tor8: there's a patch over at sebras/master which you ought to include. 18:52.19 well, you ought to review it at least. 18:54.10 FORK(20466) --- fork starting for 'RSSFeeds', PID == 20466, bot_pid == 32511 --- 18:54.11 FORK(20466) !ERROR! cannot load my module: RSSFeeds 18:54.11 FORK(20466) fork: took 2s for RSSFeeds. 18:54.11 FORK(20466) --- fork finished for 'RSSFeeds' --- 18:56.33 sebras: you can probably squash those two 18:56.39 sebras: There are a few small changes in rendering- nothing earth shattering. 18:57.00 and a fix for a file from customer 395 that used to cause an overflow and then a SEGV. 18:57.43 >>> jordyd has signed off IRC (Quit: Leaving) [#ghostscript] 18:58.33 tor8: I would, but I think Robin merged the first one already. 18:59.12 tor8: yes, he did. I checked just now. 18:59.19 sebras: You should rebase, and then we'd know :) 18:59.19 Seen: Flushed 8 entries. 18:59.21 oh. right. 19:01.02 --- Saved uptime records. 19:01.02 Chans: (ghostbot) in:#ghostscript 19:02.27 liucougar: A patch based on yours has been pushed. Many thanks. 19:03.59 Robin_Watts: ;) 19:05.40 e 19:11.20 >>> kens has signed off IRC (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org) [#ghostscript] 19:16.00 Is Andre Ferreira here? 19:17.12 Chans: (ghostbot) in:#ghostscript 19:24.23 FORK(2723) --- fork starting for 'RSSFeeds', PID == 2723, bot_pid == 32511 --- 19:24.24 FORK(2723) !ERROR! cannot load my module: RSSFeeds 19:24.24 FORK(2723) fork: took 2s for RSSFeeds. 19:24.24 FORK(2723) --- fork finished for 'RSSFeeds' --- 19:31.03 >>> sh4rm4 has signed off IRC (Ping timeout: 276 seconds) [#ghostscript] 19:31.35 Robin_Watts: thanks for fixing the patch 19:32.12 Robin_Watts: just added a comment there to suggest modify usage message for pdfclean 19:33.42 Chans: (ghostbot) in:#ghostscript 19:36.33 deleet: is Andre Ferreira, I believe ? 19:39.23 deleet: are you still here? 19:49.42 Chans: (ghostbot) in:#ghostscript 19:52.03 >>> join/#ghostscript marcosw (~marcosw@ip-64-134-230-8.public.wayport.net) 19:54.32 FORK(25120) --- fork starting for 'RSSFeeds', PID == 25120, bot_pid == 32511 --- 19:54.33 FORK(25120) !ERROR! cannot load my module: RSSFeeds 19:54.33 FORK(25120) fork: took 1s for RSSFeeds. 19:54.33 FORK(25120) --- fork finished for 'RSSFeeds' --- 19:59.42 Seen: Flushed 5 entries. 20:01.32 --- Saved uptime records. 20:05.32 Chans: (ghostbot) in:#ghostscript 20:24.42 FORK(15484) LOG: last message repeated 3 times 20:24.42 FORK(15484) --- fork starting for 'RSSFeeds', PID == 15484, bot_pid == 32511 --- 20:24.43 FORK(15484) !ERROR! cannot load my module: RSSFeeds 20:24.43 FORK(15484) fork: took 1s for RSSFeeds. 20:24.43 FORK(15484) --- fork finished for 'RSSFeeds' --- 20:43.02 LOG: last message repeated 4 times 20:43.02 ircCheck: possible lost in space; checking.Fri Jan 11 20:43:02 2013 20:43.02 >ghostbot< TEST 20:43.02 IRCTEST: Yes, we're alive. 20:53.59 >>> liucougar has signed off IRC (Ping timeout: 265 seconds) [#ghostscript] 20:54.09 Chans: (ghostbot) in:#ghostscript 20:54.50 FORK(30167) --- fork starting for 'RSSFeeds', PID == 30167, bot_pid == 32511 --- 20:54.51 FORK(30167) !ERROR! cannot load my module: RSSFeeds 20:54.51 FORK(30167) fork: took 2s for RSSFeeds. 20:54.51 FORK(30167) --- fork finished for 'RSSFeeds' --- 21:01.52 --- Saved uptime records. 21:09.42 Chans: (ghostbot) in:#ghostscript 21:16.51 >>> join/#ghostscript e98 (~e98@p4FD5ECA2.dip.t-dialin.net) 21:23.02 hi, I have a shell script to use in place of Apache FOP for generating placeholder PDF files 21:23.16 which are actually real PDF files, but it seems I didn't read/understand enough of 21:23.35 the PDF spec introduction and my template is kinda broken in the xref table 21:23.39 and the offsets 21:24.33 this is the current script as found in Erlang/OTP's master branch: https://github.com/erlang/otp/blob/master/make/fakefop 21:24.54 FORK(16840) --- fork starting for 'RSSFeeds', PID == 16840, bot_pid == 32511 --- 21:24.55 FORK(16840) !ERROR! cannot load my module: RSSFeeds 21:24.55 FORK(16840) fork: took 1s for RSSFeeds. 21:24.55 FORK(16840) --- fork finished for 'RSSFeeds' --- 21:25.04 and these are the changes/fixes slated to be included in the next release 21:25.06 https://github.com/tuncer/otp/compare/master...fakefop 21:25.32 Chans: (ghostbot) in:#ghostscript 21:27.57 hopefully with a little help from you guys I can correct the minor issues and write PDF files without errors contained 21:31.18 e98: Hi. 21:31.23 I replied to your email earlier. 21:31.47 A good plan is to take your broken files, say test.pdf and do: 21:32.00 mutool.exe clean -difgggg test.pdf fixed.pdf 21:32.10 and that'll save the fixed version out as fixed.pdf 21:32.19 Then you can look at the two and see what's different. 21:32.39 I did actually try that 2 seconds ago but without the flags 21:32.56 Robin_Watts: four g's? I thought three were enough. 21:33.11 without the flags should work too, as your source was uncompressed. 21:33.18 sebras: Now we need 4 :) 21:33.39 it's intentional to be all text for simplicity, portability, maintainability 21:33.40 A commit went in earlier today that makes 4g's mean "remove duplicate streams" 21:34.23 e98: Your files are pretty close. I outlined all that was wrong with them in my email. Was it not clear? 21:34.24 Robin_Watts: oh! how do you compare the two? readall? 21:34.40 Read the streams and diff them, yes. 21:34.54 Robin_Watts: ok. 21:35.08 Robin_Watts: I understood what you said but without mutool I wouldn't have quikly fixed the problem, but I'm wondering 21:35.22 Robin_Watts: might be worthwhile to md5 the streams when doing a O 21:35.28 an O(n^2)... 21:35.29 some parts of the text are dynamic 21:35.37 >>> marcosw has signed off IRC (Quit: marcosw) [#ghostscript] 21:35.37 * Robin_Watts/#ghostscript steps away from keyboard for a bit. 21:35.48 Robin_Watts: though this ought to be a _fairly_ uncommon operation. ;) 21:35.52 so, does it mean I'd have to adjust the offsets? 21:35.54 sebras: possibly, yes. The main thing is that people can choose not to do it. 21:36.06 if yes, that'd complicate the script considerably 21:36.11 e98: You need to get the values correct, yes. 21:36.20 but that really shouldn't be hard. 21:37.17 is there no way to just include plain text without character-level references or length spec? 21:38.42 Robin_Watts: right, so we just compared the streamdicts before. how foolish of me. 21:41.00 the mutool clean'ed file has interesting differences: 21:41.03 2nd line: 21:41.06 %μῦ 21:41.26 Chans: (ghostbot) in:#ghostscript 21:41.28 and it's missing EnOfFileFile as last line 21:42.29 Robin_Watts: if I can really not have that one shell var dynamic without having to add offset calc 21:43.03 Robin_Watts: I'll just make it static text for simplicitys sake. it's more important to have correct PDF than addition content in a placeholder file 21:44.46 oops, that EndOfFile is of course not to be part of he PDF 21:44.52 it's my shell script code 21:46.02 hmm, it seems I need the second line 21:46.04 %μῦ 21:46.16 without it I get: 21:46.17 error: expected 'obj' keyword (8 0 ?) 21:46.17 error: cannot parse trailer (compressed) 21:46.17 error: cannot read trailer 21:46.17 warning: trying to repair broken xref 21:46.24 but that makes no sense 21:46.41 there's certainly something else which causes this that's hidden by that 'mysterious to me' 2nd line 21:54.11 e98: you are aware that the xref table at the end encodes the byte offsets from the beginning of the file to each object? 21:55.00 >>> join/#ghostscript mvrhel_laptop (~chatzilla@c-174-61-155-196.hsd1.wa.comcast.net) 21:55.10 FORK(2426) --- fork starting for 'RSSFeeds', PID == 2426, bot_pid == 32511 --- 21:55.11 FORK(2426) !ERROR! cannot load my module: RSSFeeds 21:55.11 FORK(2426) fork: took 1s for RSSFeeds. 21:55.11 FORK(2426) --- fork finished for 'RSSFeeds' --- 21:56.03 sebras: not necessarily, no 21:56.51 sebras: as it's just a placeholder file I'm totally OK with having a static text and skip the dynamic part (`basename OUTFILE`) 21:57.14 sebras: so, if I can understand that 2nd line and why it suddenly makes a difference and what it means 21:57.34 Chans: (ghostbot) in:#ghostscript 21:57.35 sebras: I'm confident that the new script with the right offsets based on the static text 21:58.03 sebras: together with the reformatting of the syntax by 'mupdf clean' 21:58.11 >>> join/#ghostscript liucougar (~cougar@173-164-215-126-SFBA.hfc.comcastbusiness.net) 21:58.13 sebras: is enough to fix the script 22:00.03 Seen: Flushed 3 entries. 22:02.13 --- Saved uptime records. 22:04.15 so, any idea what "%μῦ\n" on line 2 is? 22:04.25 adding that make mupdf happy 22:05.29 oh, it's octal 22:05.33 reminds me of Postscript 22:05.35 %\316\274\341\277\246 22:08.31 good god why does only emacs show the octal codes and vim try's to be smart and display some characters I cane make sense of 22:14.12 Chans: (ghostbot) in:#ghostscript 22:14.56 Robin_Watts: ping 22:21.18 >>> oy has signed off IRC (Quit: tschüß) [#ghostscript] 22:25.52 FORK(13067) --- fork starting for 'RSSFeeds', PID == 13067, bot_pid == 32511 --- 22:25.53 FORK(13067) !ERROR! cannot load my module: RSSFeeds 22:25.53 FORK(13067) fork: took 1s for RSSFeeds. 22:25.53 FORK(13067) --- fork finished for 'RSSFeeds' --- 22:30.22 Chans: (ghostbot) in:#ghostscript 22:33.55 e98: are you working at ericsson? 22:34.39 sebras: nope 22:34.44 sebras: why do you ask? 22:34.52 e98: because the copyright refers to Ericsson AB.... 22:35.37 sebras: I wrote that script in 2010 as a way to avoid Apache FOP's time and space inefficiency 22:35.57 sebras: especially because the man pages and html pages are built by xsltproc already 22:36.16 e98: so why does it efer to Ericsson AB? 22:36.19 sebras: and it saves JVM OOM issues and saves time and dependencies 22:36.20 refer 22:36.45 sebras: I contributed that file and made it copyright both Ericsson and myself 22:37.16 sebras: I don't think it matters much in this case 22:37.21 e98: right. I worked for Ericsson up until 4-5 years ago. this is why I'm intrigued. 22:37.29 sebras: ah, I see :) 22:37.49 sebras: no, I'm just someone who had fun poking around the erlang source to fix issues and add stuff 22:39.54 hah, I fixed it 22:40.09 1. use printf to write those octal values in line 2 22:40.23 2. when doing 2. make sure to add trailing \n at end of file 22:40.27 3. make text static 22:40.27 !WARN! PERL: readdir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 862. 22:40.27 !WARN! PERL: closedir() attempted on invalid dirhandle DEBIAN at ./src/IRC/Schedulers.pl line 869. 22:40.34 4. use static table and length 22:40.43 and have it all still plain text 22:40.45 yay 22:40.59 e98: http://pastebin.com/qczV1tBw 22:41.16 it even works with pdf.js now 22:41.17 yay 22:42.17 e98: the pastebin.com fixes it as well. the xref never needs changing, the octal-stuff your are talking about is not strictly necessary. 22:42.35 sebras: I didn't have it before 22:42.44 e98: oh, and my version places the object with variable length at the end and hopes that the text is never longer than 10240 bytes... 22:43.05 e98: did you look at the pastebin-link? if not, then what I write will not make sense to you. 22:43.20 sebras: I did 22:43.27 sebras: you moved the table to the beginning 22:43.31 e98: exactly. 22:43.47 sebras: will this version work regardless of what $NAME is? 22:43.49 e98: this means that the offsets in the table do not depend onf where in the pdf-file the table is... 22:43.58 e98: no, not regardless 22:44.08 e98: it works most of the time. 22:44.37 basically I gamble on that the pdf reader will not try to read 10240 bytes in object 5 if the object is shorter (which it will be). 22:44.52 and that the pdf reader does not complain about the object stream being short. 22:45.16 ok, I might still go with static text just in case something could/would overflow the limit or extreme portability 22:45.27 but avoiding the octal values is great 22:45.42 Chans: (ghostbot) in:#ghostscript 22:45.48 because I don't have to use /usr/bin/printf 22:45.55 e98: if you don't need $NAME in there, then its easy to fix it. 22:46.22 e98: do you want me to fix that as well? 22:46.38 sebras: if you want to save me time, I'd appreciate it 22:47.09 e98: what text do you want displayed instead of $NAME? 22:47.26 I did remove it in my static variant 22:47.37 it was just a text to display the filename without file extension 22:47.51 because that's the name of the lib the pdf contains documentation for 22:47.58 like say wxErlang.pdf 22:50.23 e98: http://pastebin.com/0sBZ8WJZ 22:50.45 e98: I'm assuming that the position doesn't matter. 22:51.09 centering would be nice but is not important 22:51.15 give me a second 22:51.29 want kudos in the commit for the 'rewritten' pdf structure? 22:52.03 e98: oh... change the 10240 at the end of the file to 89. 22:53.19 e98: doesn't matter much but if you want to you can attribute it to Sebastian Rasmussen 22:53.58 well, I can even use that git author id if you want to 22:54.01 it's only fair 22:54.23 Robin_Watts: Do you remember why gx_dc_pattern_read() doesn's set all members of pdevc, esp. ccolor ? git blames this on you. 22:54.28 e98: ok. it's no big deal for me. :) 22:54.39 the only downside now is that running it through mutool clean produces a totally different structure 22:54.58 >>> paulgardiner has signed off IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232]) [#ghostscript] 22:55.01 sebras: with table at end and stuff 22:55.52 e98: I know. I placed the table at the beginning to accomodate for that the text could be dynamic in length. but as far as I know there is not thing in the pdf spec requiring it to be at the end. 22:56.22 FORK(28126) --- fork starting for 'RSSFeeds', PID == 28126, bot_pid == 32511 --- 22:56.23 FORK(28126) !ERROR! cannot load my module: RSSFeeds 22:56.23 FORK(28126) fork: took 1s for RSSFeeds. 22:56.23 FORK(28126) --- fork finished for 'RSSFeeds' --- 22:58.02 sebras: I changed the only content (text) again as I did earlier today 22:58.14 sebras: it doesn't affect anything right? 22:59.03 sebras: your PDF doesn't render in pdf.js but the other one I had written did 22:59.07 sebras: hmm 23:00.42 Seen: Flushed 4 entries. 23:01.03 e98: yes, changing the (text) matters. 23:01.16 e98: if you change the (text) then you need to adjust the /Length 23:01.26 Chans: (ghostbot) in:#ghostscript 23:01.53 the /Length states how many bytes are contained in the object stream of object 5 in your file. 23:02.13 * sebras/#ghostscript discovers that starting a sentence with /Length on IRC is not a good idea... 23:02.53 --- Saved uptime records. 23:12.02 >>> mvrhel_laptop has signed off IRC (Ping timeout: 240 seconds) [#ghostscript] 23:17.12 Chans: (ghostbot) in:#ghostscript 23:26.52 FORK(3792) --- fork starting for 'RSSFeeds', PID == 3792, bot_pid == 32511 --- 23:26.53 FORK(3792) !ERROR! cannot load my module: RSSFeeds 23:26.53 FORK(3792) fork: took 1s for RSSFeeds. 23:26.53 FORK(3792) --- fork finished for 'RSSFeeds' --- 23:45.14 >>> join/#ghostscript mvrhel_laptop (~chatzilla@c-174-61-155-196.hsd1.wa.comcast.net) 23:49.11 Chans: (ghostbot) in:#ghostscript 23:51.31 >>> join/#ghostscript sh4rm4 (~sh4rm@gateway/tor-sasl/sh4rm4) 23:57.12 FORK(23686) --- fork starting for 'RSSFeeds', PID == 23686, bot_pid == 32511 --- 23:57.13 FORK(23686) !ERROR! cannot load my module: RSSFeeds 23:57.13 FORK(23686) fork: took 2s for RSSFeeds. 23:57.13 FORK(23686) --- fork finished for 'RSSFeeds' ---