Timeline


and

Jul 24, 2011:

9:02 PM Changeset [8c3cae0] by GitHub Merge Button <merge-button@github.com>
Merge f271129fbb186598811b923e406d65f9d2b3031a into 30428a9bdfbc16468abbf043db65d5c4cb37218f
9:01 PM Changeset [f271129]release-1.9 by Jason Gross <jgross@mit.edu>
Fix up headers The additions to owl.h and some of the removals were done by Alejandro Sedeño <asedeno@mit.edu> in commit 77a0258b3919468fc9d7f7602588ac427ab36e6c. Notes: * I think owl.c lost the need for sys/time.h when we punted select() in favor of glib's main loop. * We don't actually need to include things like stdarg.h, stdio.h, glib/gstdio.h, glib-object.h. I think they get indirectly included via owl.h and/or glib.h. They're left in (or added in to) the files that use functions/types from them. * I'm not entirely sure what sys/socket.h is doing in message.c. It is there from the initial commit. I suspect it might have had something to do with the call to getnameinfo. message.c compiles without it, but http://pubs.opengroup.org/onlinepubs/009695399/functions/getnameinfo.html suggests that we're supposed to include it? *shrugs* I'm leaving it in, for now. (Rather, I'll leave one copy of the #include in.)
7:05 PM Changeset [8e755c6]release-1.8 by David Benjamin <davidben@mit.edu>
Fix missing NULL check on anyone list return value Error handling changed in ecffae6c5b3fd57d8ca74cd2ba142098748bfe7c.
7:05 PM Changeset [efef058]release-1.8 by David Benjamin <davidben@mit.edu>
Fix the description of disable-ctrl-d It was backwards. Now it's not. Reported By: William Throwe <wthrowe@mit.edu>
7:05 PM Changeset [30428a9]release-1.9 by David Benjamin <davidben@mit.edu>
Fix missing NULL check on anyone list return value Error handling changed in ecffae6c5b3fd57d8ca74cd2ba142098748bfe7c.
6:57 PM Changeset [40de739]release-1.9 by Jason Gross <jgross@mit.edu>
Fix the description of disable-ctrl-d It was backwards. Now it's not. Reported By: William Throwe <wthrowe@mit.edu>
6:23 PM Changeset [15a7aee] by David Benjamin <davidben@mit.edu>
Fix missing NULL check on anyone list return value Error handling changed in ecffae6c5b3fd57d8ca74cd2ba142098748bfe7c.
5:18 PM Changeset [2994ca2] by GitHub Merge Button <merge-button@github.com>
Merge 1314e4984b5e0326d385bdc2aebb7903f3583f67 into 7abfcf2abcef37025bc4c07654f96ccce56aabe3
3:42 PM Changeset [d98e501]release-1.8 by David Benjamin <davidben@mit.edu>
Workaround color-pairs and broken build on Solaris locker build This reverts commit a71b4e049b7d1a44ddd3f918e67c45e2f8bbef2f. Really should have verified the Solaris build first. Everything is ready for us to not need this change, but the locker build of ncurses needs to be updated. In the meantime, hack around the bug by clamping color pairs. Also revert wbkgrndset because it requires cchar_t. That gets defined on _XOPEN_SOURCE_EXTENDED or _XOPEN_SOURCE>=500. Unfortunately, the check for the latter was added after the locker version, and Solaris is a stickler about flags so _XOPEN_SOURCE>=500 and _XOPEN_SOURCE_EXTENDED conflict. Revert this change when we bundle a newer ncurses.
2:34 PM Changeset [a71b4e0]release-1.8 by David Benjamin <davidben@mit.edu>
Use wbkgrndset instead of wbkgdset in _owl_fmtext_wcolor_set This allows color pairs past 255 in an ext-color-enabled build to work. In theory anyway. Turns out ncurses is buggy and setcchar doesn't work, but when the patch is accepted upstream we can update the ncurses in the locker.
2:32 PM Changeset [7abfcf2]release-1.9 by David Benjamin <davidben@mit.edu>
Use wbkgrndset instead of wbkgdset in _owl_fmtext_wcolor_set This allows color pairs past 255 in an ext-color-enabled build to work. In theory anyway. Turns out ncurses is buggy and setcchar doesn't work, but when the patch is accepted upstream we can update the ncurses in the locker.
2:26 PM Changeset [7e9fa84] by GitHub Merge Button <merge-button@github.com>
Merge 14c15d942910b33590fc67229a029540a97eb9ac into 323412185513364eaef94cf3f6cbb70957d93c5f
10:33 AM Changeset [1314e49] by Jason Gross <jgross@mit.edu>
Fix the description of disable-ctrl-d It was backwards. Now it's not. Reported By: William Throwe <wthrowe@mit.edu>
10:17 AM Ticket #193 (M-q (edit:fill-paragraph) should be better at finding the end of a sentence) created by jgross@mit.edu
As discussed on zephyr, M-q should DTRT on (sentences in …

Jul 23, 2011:

11:30 PM Changeset [96e3221]release-1.8 by David Benjamin <davidben@mit.edu>
Don't spin CPU in AIM connections Embarrasing little bug. We were inheriting the G_IO_OUT from the login code in the branch below and thus waking up from the event loop all the time. Also adjust the comment for G_IO_OUT. It makes it sound like far more of a hack than it really is. Reported-by: Edward Z. Yang <ezyang@mit.edu>
11:28 PM Changeset [39adf06] by GitHub Merge Button <merge-button@github.com>
Merge 323412185513364eaef94cf3f6cbb70957d93c5f into cbc86575b336c399f09c67886f79383681d3e36a
11:28 PM Changeset [3234121]release-1.9 by David Benjamin <davidben@mit.edu>
Don't spin CPU in AIM connections Embarrasing little bug. We were inheriting the G_IO_OUT from the login code in the branch below and thus waking up from the event loop all the time. Also adjust the comment for G_IO_OUT. It makes it sound like far more of a hack than it really is. Reported-by: Edward Z. Yang <ezyang@mit.edu>
9:25 PM Changeset [18fd5685]release-1.8 by David Benjamin <davidben@mit.edu>
Assign all watched signals to a dummy no-op disposition Otherwise some (namely SIGWINCH) may have SIG_DFL = SIG_IGN. This means that the signal is ignored if the signal thread is in the middle of processing another signal (a race condition), and on Solaris it's not delivered at all. Also more consistently consider errors in setup here fatal. And rename CHECK_RESULT to OR_DIE. Reported-by: Benjamin Kaduk <kaduk@mit.edu> Reviewed-by: Adam Glasgall <adam@crossproduct.net>
9:24 PM Changeset [c36f4d0] by GitHub Merge Button <merge-button@github.com>
Merge c40d11a3d527920acd6063b93f1de30d1f668c96 into 4ebbfbc5360fa004637dd101f5a0c833cdccd60a
9:23 PM Changeset [cbc8657]release-1.9 by David Benjamin <davidben@mit.edu>
Don't hardcode regerror buffer size This lets us kill the silly LINE macro. regerror can be called first to get the length, and then the data.
9:23 PM Changeset [287c634]release-1.9 by David Benjamin <davidben@mit.edu>
Don't attempt to switch filters in :view -d if invalid Add return value to owl_function_create_filter and check before switching.
9:23 PM Changeset [e5baf0a]release-1.9 by David Benjamin <davidben@mit.edu>
Remove unused macro We determine the startup file relative to the OWL_CONFIG_DIR now.
8:26 PM Changeset [4ebbfbc]release-1.9 by Jason Gross <jgross@mit.edu>
Show the time zone in :info; replace ctime with strftime This fixes trac-#146. The new function owl_util_time_to_timestr takes a const struct tm * instead of a const time_t because, although we pass around time_t for just about everything else, this lets the caller decide whether to use localtime or gmtime (UTC). Note: I'm not sure that "%c" (which is locale-dependent) will always include the time zone. If not, or if we want a bit more consistency, we can switch to something like "%a %b %d %H:%M:%S %Y %Z" (like "Fri Jul 22 15:39:45 2011 EDT") or "%a %b %d, %Y %h:%M:%S %p %Z" (like "Fri Jul 22, 2011 03:39:45 PM 2011 EDT") or something. On linerva, "%c" seems to be equivalent to "%a %d %b %Y %h:%M:%S %p %Z" (like "Fri 22 Jul 2011 03:39:45 PM EDT").
8:09 PM Changeset [85bb19b] by GitHub Merge Button <merge-button@github.com>
Merge 11e78d5550a8ce2849db8c922b6515bc8d8c2616 into a7fac140d17626bc37808cae6b389f3240135903
7:32 PM Changeset [d933c3ca] by GitHub Merge Button <merge-button@github.com>
Merge a7fac140d17626bc37808cae6b389f3240135903 into f661cee8c04d441ed1b519ade4e831bb8f46b934
7:30 PM Changeset [a7fac14]release-1.9 by David Benjamin <davidben@mit.edu>
Assign all watched signals to a dummy no-op disposition Otherwise some (namely SIGWINCH) may have SIG_DFL = SIG_IGN. This means that the signal is ignored if the signal thread is in the middle of processing another signal (a race condition), and on Solaris it's not delivered at all. Also more consistently consider errors in setup here fatal. And rename CHECK_RESULT to OR_DIE. Reported-by: Benjamin Kaduk <kaduk@mit.edu> Reviewed-by: Adam Glasgall <adam@crossproduct.net>
7:22 PM Changeset [c40d11a] by David Benjamin <davidben@mit.edu>
Don't hardcode regerror buffer size This lets us kill the silly LINE macro. regerror can be called first to get the length, and then the data.
7:22 PM Changeset [83e023e] by David Benjamin <davidben@mit.edu>
Don't attempt to switch filters in :view -d if invalid Add return value to owl_function_create_filter and check before switching.
7:22 PM Changeset [e9a939b] by David Benjamin <davidben@mit.edu>
Remove unused macro We determine the startup file relative to the OWL_CONFIG_DIR now.

Jul 22, 2011:

7:20 PM Changeset [11e78d5] by Jason Gross <jgross@mit.edu>
Show the time zone in :info; replace ctime with strftime This fixes trac-#146. The new function owl_util_time_to_timestr takes a const struct tm * instead of a const time_t because, although we pass around time_t for just about everything else, this lets the caller decide whether to use localtime or gmtime (UTC). Note: I'm not sure that "%c" (which is locale-dependent) will always include the time zone. If not, or if we want a bit more consistency, we can switch to something like "%a %b %d %H:%M:%S %Y %Z" (like "Fri Jul 22 15:39:45 2011 EDT") or "%a %b %d, %Y %h:%M:%S %p %Z" (like "Fri Jul 22, 2011 03:39:45 PM 2011 EDT") or something. On linerva, "%c" seems to be equivalent to "%a %d %b %Y %h:%M:%S %p %Z" (like "Fri 22 Jul 2011 03:39:45 PM EDT").
10:59 AM Ticket #192 (Editwin prompt for jwrite is slightly inaccurate when disable-ctrl-d is off) created by jgross@mit.edu
In C, we use owl_function_write_setup and branch based on …
3:05 AM Ticket #81 (M-q messes with end-of-sentence spacing when period is in quotes) closed by jgross@mit.edu
fixed
3:00 AM Changeset [f661cee]release-1.9 by Jason Gross <jgross@mit.edu>
Treat [!.?]" as end of sentence in edit:fill-paragraph This fixes trac-#81 (M-q messes with end-of-sentence spacing when period is in quotes).
2:56 AM Changeset [092806c] by GitHub Merge Button <merge-button@github.com>
Merge e736dcbe0f115b53809df6d099b183a245c540d8 into 6500907f6e410b9b8ffb57962f97795ebeb0ccd5
2:30 AM Changeset [e736dcb] by Jason Gross <jgross@mit.edu>
Treat [!.?]" as end of sentence in edit:fill-paragraph This fixes trac-#81 (M-q messes with end-of-sentence spacing when period is in quotes).

Jul 21, 2011:

5:12 PM Changeset [6500907]release-1.9 by Jason Gross <jgross@mit.edu>
Correctly display multiline fields in :info Commit 259e60a8abc2d2d41bc7a484b02a334fdd13857f removed the length limit on :info, but kept the replacement of '\n' with '~' and '\r' with '!'. This replacement came with the initial commit, with a comment of "/* just for testing for now */". This commit does away with that replacement, and indents the fields for display purposes. This is particularly useful for messages that have very long fields, such as the original xml field for jabber messages. Trailing newlines (e.g., in formats or in the message body) are doubled, because the code is simpler that way, and because I don't see a compelling reason to strip them.
5:06 PM Changeset [14be3a5]release-1.9 by Jason Gross <jgross@mit.edu>
Give owl_text_indent an indent_first_line parameter This is useful if you need to indent text that isn't broken into chunks that end with newlines. This is primarily in preparation for the next commit, where we need to replace the indent on the first line by a prefix. The other (reasonable) option is to make owl_text_indent always prefix the string it's given with an indent, even when it's given the empty string. This would break the nice property that indent(A + B) = indent(A) + indent(B) whenever A ended with a newline. After some discussion on zephyr and on the github pull request, I decided to go with this option.
2:19 AM Ticket #191 (multiple BarnOwls in AFS should DTRT with respect to logging) closed by davidben@mit.edu
invalid: Closing this so that discussion stays with the zephyr thread from …
1:03 AM Ticket #191 (multiple BarnOwls in AFS should DTRT with respect to logging) created by jgross@mit.edu
If I have multiple BarnOwls running in AFS, all with logging turned …

Jul 20, 2011:

11:12 PM Ticket #10 (barnowl needs a test system) closed by jgross@mit.edu
fixed: We now have a "test system". At least, we have tester.c, t/, and …
11:10 PM Ticket #166 (warning: implicit declaration of function ‘pselect’) closed by jgross@mit.edu
fixed: Fixed by the g_main_loop branch (specifically commit …
4:42 PM Changeset [f60b417] by GitHub Merge Button <merge-button@github.com>
Merge ac919d96a68d7391f70c2a23255449d5f0b686fd into d8f22b65abfc43c50c273302ba9cffe7dc383ed0
4:39 PM Changeset [ac919d96] by Jason Gross <jgross@mit.edu>
Correctly display multiline fields in :info Commit 259e60a8abc2d2d41bc7a484b02a334fdd13857f removed the length limit on :info, but kept the replacement of '\n' with '~' and '\r' with '!'. This replacement came with the initial commit, with a comment of "/* just for testing for now */". This commit does away with that replacement, and indents the fields for display purposes. This is particularly useful for messages that have very long fields, such as the original xml field for jabber messages. Trailing newlines (e.g., in formats or in the message body) are doubled, because the code is simpler that way, and because I don't see a compelling reason to strip them.
4:39 PM Changeset [4d4f0ba] by Jason Gross <jgross@mit.edu>
Give owl_text_indent an indent_first_line parameter This is useful if you need to indent text that isn't broken into chunks that end with newlines.

Jul 19, 2011:

3:51 AM Changeset [aaf8a77]release-1.8 by David Benjamin <davidben@mit.edu>
Don't leak @commands we don't understand That code seriously needs a rewrite. In the meantime, plug a leak.
3:51 AM Changeset [522e03d]release-1.8 by David Benjamin <davidben@mit.edu>
Don't leak realmsg when... what is this I don't even I don't know what in the world this code is doing after the return, but it leaks!
3:51 AM Changeset [25f2e21]release-1.8 by David Benjamin <davidben@mit.edu>
Don't leak filtname when viewing an aim filter twice
3:32 AM Changeset [5787ccc] by GitHub Merge Button <merge-button@github.com>
Merge d8f22b65abfc43c50c273302ba9cffe7dc383ed0 into fa180a3e29ecef2a60831689e626652afe399964
3:30 AM Changeset [d8f22b6]release-1.9 by David Benjamin <davidben@mit.edu>
Don't leak @commands we don't understand That code seriously needs a rewrite. In the meantime, plug a leak.
3:30 AM Changeset [ff7449e]release-1.9 by David Benjamin <davidben@mit.edu>
Don't leak realmsg when... what is this I don't even I don't know what in the world this code is doing after the return, but it leaks!
3:30 AM Changeset [837bd81]release-1.9 by David Benjamin <davidben@mit.edu>
Don't leak filtname when viewing an aim filter twice
3:29 AM Changeset [aec79a1]release-1.8 by David Benjamin <davidben@mit.edu>
Don't stomp over past what owl_text_indent returns Otherwise we may eat some malloc book-keeping structures, experience some slight turbulence, and explode.
3:13 AM Changeset [9ba51c2] by GitHub Merge Button <merge-button@github.com>
Merge fa180a3e29ecef2a60831689e626652afe399964 into 6f7d4f6001eb475eed5eb55eed0ab6e14ee65e00
3:13 AM Changeset [fa180a3]release-1.9 by David Benjamin <davidben@mit.edu>
Don't stomp over past what owl_text_indent returns Otherwise we may eat some malloc book-keeping structures, experience some slight turbulence, and explode.
2:25 AM Changeset [650415e]release-1.8 by David Benjamin <davidben@mit.edu>
Pass initval to owl_variable_dict_newvar_bool as int, not bool While bool is ostensibly cleaner, the rest of the code dealing with bool owl_variables treats it as an int. Switching only this one results in valgrind complaining about conditioning on uninitialized values because we end up casting bool* to int*.
2:16 AM Changeset [778e230] by GitHub Merge Button <merge-button@github.com>
Merge 6f7d4f6001eb475eed5eb55eed0ab6e14ee65e00 into 883502d79716230ee4f4a70d9168bd87c780a7ef
2:00 AM Changeset [6f7d4f6]release-1.9 by David Benjamin <davidben@mit.edu>
Pass initval to owl_variable_dict_newvar_bool as int, not bool While bool is ostensibly cleaner, the rest of the code dealing with bool owl_variables treats it as an int. Switching only this one results in valgrind complaining about conditioning on uninitialized values because we end up casting bool* to int*.

Jul 18, 2011:

10:15 AM Ticket #190 (Warn when AFS tickets close to expiring) created by ezyang@mit.edu
Seems like a pretty reasonable thing to have built in, as opposed to …
10:12 AM Ticket #189 (IRC should say "not connected to any networks" on irc-join rather than ...) created by ezyang@mit.edu
If you ":irc-join" with no networks connected, IRC will ask you to …

Jul 17, 2011:

10:08 PM Changeset [883502d]release-1.9 by David Benjamin <davidben@mit.edu>
Bump version for development.
10:08 PM Changeset [65ff3f4]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add initial ChangeLog for the 1.8 release
9:46 PM Changeset [b0f5fe8]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Sync ChangeLog with release-1.7 branch
8:50 PM Changeset [14c15d9] by David Benjamin <davidben@mit.edu>
Use wbkgrndset instead of wbkgdset in _owl_fmtext_wcolor_set This allows color pairs past 255 in an ext-color-enabled build to work. In theory anyway. Turns out ncurses is buggy and setcchar doesn't work, but when the patch is accepted upstream we can update the ncurses in the locker.
6:56 PM Changeset [375df9c] by GitHub Merge Button <merge-button@github.com>
Merge 78a024a42892ff3336097dff8dd877a8a13ac783 into 67e5ba36abe583efd14108ede63b5f5f26887257
6:55 PM Changeset [4cb1aa2b] by GitHub Merge Button <merge-button@github.com>
Merge 176d2c7577a41cbdc70b532db15ec858803cfa60 into 67e5ba36abe583efd14108ede63b5f5f26887257
6:54 PM Changeset [67e5ba36]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Include the ncursesw headers They're apparently supposed to be compatible with the standard ones, but we get wchar_t versions of various functions and should be able to eliminate libncurses5-dev from the build deps. We also get setcchar, wbkgrndset, and friends which are needed to properly handle ext-colors in some cases.

Jul 16, 2011:

10:48 PM Changeset [78a024a] by David Benjamin <davidben@mit.edu>
Clamp the number of color pairs even on ncurses ABI 6 We should be able to handle color pairs past 256 on ABI 6 (which is most distributions but Debian-based ones), but there are more changes that need to be done. We cannot use COLOR_PAIR() and OR it into an attr_t. This means we also can't use wbkgdset and must use wbkgrdset and setcchar, but that does not seem to be sufficient. It's possible ncurses is buggy here. For now, just use the same hack as, either way, we are not ready for ext-colors yet.
1:08 AM Changeset [e9d74be] by GitHub Merge Button <merge-button@github.com>
Merge 3159e27b4b81e297a2fdbb906d6d59bcc22eb121 into b7117112ee9d20379a32ee09e7ca4c1a223bef1c
1:08 AM Changeset [117a955] by GitHub Merge Button <merge-button@github.com>
Merge 05725694eae03ea2a194fdef4bfedcdbf902813e into b7117112ee9d20379a32ee09e7ca4c1a223bef1c
1:08 AM Changeset [a105012] by GitHub Merge Button <merge-button@github.com>
Merge b8f79620c0726878681d823e0d2b042d03c998a0 into b7117112ee9d20379a32ee09e7ca4c1a223bef1c
12:34 AM Changeset [b711711]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Bundled libraries are in perl/modules now Reported-by: Edward Z. Yang <ezyang@mit.edu>
12:34 AM Changeset [9c58232]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Document the dependencies of the Twitter module Most of the stuff is pulled in by Net::Twitter::Lite, but we also use HTML::Entities (from HTML-Parser).
12:34 AM Changeset [0de04fa]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Check for AnyEvent and Glib in configure.ac They're dependencies of the core perl code now.
12:34 AM Changeset [5b24dc0]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Fix up dependencies in README file Class::Accessor is a dependency of the core code. Also, most of the ones listed are Jabber module dependencies, so we may as well list them as such. Reported-by: William Throwe <wthrowe@mit.edu>
12:31 AM Changeset [c855755]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Suppress ZERR_INTERNAL from ZSetLocation for pre-3.0 zephyr If you are subbed to your own login notifications, ZSetLocation will wait for the wrong notice and return a spurious ZERR_INTERNAL. Fortunately, from the debian/changelog, this was fixed right near the boundary between 2.0 and 3.0, so we can suppress it for the old ABI.
12:31 AM Changeset [2770be99]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't remove GPollFDs in a source's finalize Arguably this was somewhat of a poor move on glib's part, but you trip over an assert if you remove a poll from a destroyed source. (This is distinct from an unref; a source gets the destroyed flag when it is removed from its GMainContext, and it is finalized when it loses all its references.) Reported-by: Edward Z. Yang <ezyang@mit.edu>
12:29 AM Changeset [165b0c9] by GitHub Merge Button <merge-button@github.com>
Merge f6ab6ee703220c4fbafada73532fbcdc3454705a into c6332f56e9c66ca3e95915c3678d8f2426a46598
12:28 AM Changeset [f6ab6ee]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use env to set HARNESS_PERL in the prove call Apparently the previous formulation did not work on Solaris.
12:28 AM Changeset [f415f83]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't manually bootstrap BarnOwl in t/unicode.t We use a custom perl interpreter, so the BarnOwl module has already been bootstrapped. Silences warnings on older versions of perl. Also explicitly use BarnOwl in the test so we don't rely on it being done for us.
12:28 AM Changeset [0ba7333]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use g_build_filename to compute reference paths If the home directory has a trailing slash (for instance, on multics, root's home is actually '/') then our expected path is wrong.
12:28 AM Changeset [f5f6ec0]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't use export FOO=bar syntax in runtests.sh Solaris' shell can't run those. We can actually remove the variables altogether since the tester/barnowl wrapper will take care of it. Also make the error message in the latter more accurate.
12:28 AM Changeset [8219374]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use getpwnam_r instead of getpwnam It's re-entrant, so that's probably a good thing in case some other thread calls getpwnam. More relevantly, Solaris has both a standard and a non-standard version, and perl redefines getpwnam to a getpwnam_r. We manage to convince Solaris to use the standard form, but perl doesn't seem to notice and defines the macro wrong. So just avoid the function altogether. Seems as reasonable of an excuse to use the ostensibly better (and infinitely less friendly) one as any.
12:28 AM Changeset [99ac28a]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use GPid instead of pid_t for g_spawn_async's output Apparently they manage to be different on Solaris. GPid is int while pid_t is long. Better to cast the value than the pointer.
12:28 AM Changeset [396505be]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use owl_global_get_homedir for ~ in owl_util_makepath It's strange that ~/.zephyr.subs and ~/.owl/startup are computed differently. We should use the same one. This also matches bash in that ~ prefers $HOME over passwd. If don't have a homedir at all, this defaults to / instead of keeping the ~, but that won't happen and at least it's consistent with existing behavior for zephyr dotfiles.
12:28 AM Changeset [e59d775]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use the old-style mkpath invocation Allows the unit tests to run on perl 5.8.
12:28 AM Changeset [055e366]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Run barnowl-perl-config in locker-build This way we can still run the unit tests.

Jul 15, 2011:

11:40 PM Changeset [c6332f5]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Compute the home directory in zcrypt as in owl_global While I'm here, may as well be consistent and fall back to passwd entries as appropriate.
11:40 PM Changeset [dde1b4d]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use g_build_filename instead of g_strdup_printf to build paths Saves us a duplicate slash in a few places, although most of the time it doesn't do anything. Eh, may as well use it and be more explicit or something. Also change the one existing call to g_build_path to g_build_filename instead. It's much less of a pain to use.

Jul 13, 2011:

11:51 PM Changeset [8f5afcf] by GitHub Merge Button <merge-button@github.com>
Merge a7b125d60dcd2a22d2dfb2634982352acdcbc51c into 30d0cf75d34271caa5cca99bfac799fb7aaed6d7
11:32 AM Changeset [30d0cf7]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Change Owl to BarnOwl in variable.c I seemed to have missed one when I made a16d7e5b1281bf21e0fe52b6d9946fd58893da28

Jul 12, 2011:

11:27 PM Changeset [05725694] by David Benjamin <davidben@mit.edu>
Don't remove GPollFDs in a source's finalize Arguably this was somewhat of a poor move on glib's part, but you trip over an assert if you remove a poll from a destroyed source. (This is distinct from an unref; a source gets the destroyed flag when it is removed from its GMainContext, and it is finalized when it loses all its references.) Reported-by: Edward Z. Yang <ezyang@mit.edu>
10:57 PM Changeset [24b2f18]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Move actual truncation inside conditional. Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
10:35 PM Changeset [33501b2] by Edward Z. Yang <ezyang@mit.edu>
Move actual truncation inside conditional. Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
12:26 PM Changeset [a7b125d] by David Benjamin <davidben@mit.edu>
Compute the home directory in zcrypt as in owl_global While I'm here, may as well be consistent and fall back to passwd entries as appropriate.
12:26 PM Changeset [06af663] by David Benjamin <davidben@mit.edu>
Use g_build_filename instead of g_strdup_printf to build paths Saves us a duplicate slash in a few places, although most of the time it doesn't do anything. Eh, may as well use it and be more explicit or something. Also change the one existing call to g_build_path to g_build_filename instead. It's much less of a pain to use.
11:49 AM Changeset [b8f7962] by David Benjamin <davidben@mit.edu>
Suppress ZERR_INTERNAL from ZSetLocation for pre-3.0 zephyr If you are subbed to your own login notifications, ZSetLocation will wait for the wrong notice and return a spurious ZERR_INTERNAL. Fortunately, from the debian/changelog, this was fixed right near the boundary between 2.0 and 3.0, so we can suppress it for the old ABI.

Jul 11, 2011:

11:21 PM WikiStart edited by davidben@mit.edu
We support Twitter now too (diff)
10:33 AM Changeset [220db88] by GitHub Merge Button <merge-button@github.com>
Merge 16cf182d1bda3c32ab0cf40b5848f9b365f22a97 into a130fc5ed65377322966cc9423b3e4674197922c
10:31 AM Changeset [16cf182d]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Remove unused global variables I'm not sure why they existed in the first place (they were present in the initial commit), but, AFAICT, they've never been used.
9:49 AM Changeset [820e852]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Make help show the correct keybinding for A c65d81ed60fefed19f5e607c975771b10bcb62bd neglected to update help.c

Jul 10, 2011:

10:26 PM Changeset [3159e27] by David Benjamin <davidben@mit.edu>
Bundled libraries are in perl/modules now Reported-by: Edward Z. Yang <ezyang@mit.edu>
9:55 PM Changeset [176d2c75] by David Benjamin <davidben@mit.edu>
Include the ncursesw headers They're apparently supposed to be compatible with the standard ones, but we get wchar_t versions of various functions and should be able to eliminate libncurses5-dev from the build deps.
6:34 PM Changeset [998aecf] by David Benjamin <davidben@mit.edu>
Document the dependencies of the Twitter module Most of the stuff is pulled in by Net::Twitter::Lite, but we also use HTML::Entities (from HTML-Parser).
6:28 PM Changeset [c964e34] by David Benjamin <davidben@mit.edu>
Check for AnyEvent and Glib in configure.ac They're dependencies of the core perl code now.
6:28 PM Changeset [4168fb8] by David Benjamin <davidben@mit.edu>
Fix up dependencies in README file Class::Accessor is a dependency of the core code. Also, most of the ones listed are Jabber module dependencies, so we may as well list them as such. Reported-by: William Throwe <wthrowe@mit.edu>

Jul 9, 2011:

11:26 PM Changeset [4bf2a11] by GitHub Merge Button <merge-button@github.com>
Merge 8d8685d882b375158b4303af346ebccd0678c54b into a130fc5ed65377322966cc9423b3e4674197922c
10:38 PM Changeset [8d8685d] by David Benjamin <davidben@mit.edu>
Use the old-style mkpath invocation Allows the unit tests to run on perl 5.8.
10:00 PM Changeset [4823b08] by David Benjamin <davidben@mit.edu>
Run barnowl-perl-config in locker-build This way we can still run the unit tests.
5:30 PM Changeset [976e58a] by David Benjamin <davidben@mit.edu>
Don't pass --failure to prove by default Unfortunately the option is old and some of our build chroots don't understand it. This reverts 786a4108f9184d7c73170d373bc2cf80347b6456. Instead, pass "$@" to prove so that we can pass options on the command-line when running the tests manually.
4:11 PM Changeset [a130fc5]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Improved ability to delete messages from perl BarnOwl::Message now has a delete_and_expunge command, and BarnOwl::queue_message returns the queued message, so that deletion actually works; there used to be no way to get the id of a queued message, and so ->delete() didn't actually do anything...
4:11 PM Changeset [efeec7f]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Added a delete-and-expunge command. This command is analogous to the delete command, except that it also expunges only the {current,given} message. It also takes an optional --quiet parameter, because I plan to use it internally and don't want spew on success. Perhaps there's a better way to accomplish this... I couldn't figure out how the existing delete command is supposed to work internally. The logic behind the delete-and-expunge command is as follows: We always update both the message list and the display. So model the command that will do much of the work, owl_function_delete_and_expunge_message, off of owl_function_expunge. owl_function_delete_and_expunge_message takes one argument, which is the position of the item in the message list. It deletes it from the message list with a new function owl_messagelist_delete_and_expunge_element. This calls delete on the underlying owl_list, so the errors (if any) on an index that is too big might be unhelpful. owl_function_delete_and_expunge_cur and owl_function_delete_and_expunge_by_id both get the index of the relevant message (and a function owl_messagelist_get_index_by_id is added to messagelist.c to help the latter). They owl_function_error if no such message exists, and conditionally owl_function_makemsg on success.
4:11 PM Changeset [3eeb6ed]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Fixed a bug in the expunge command Expunging from past the end of the message list (e.g., the key strokes d > > x) no longer brings you to the first message. Additionally, the code in owl_function_expunge that is relevant to redisplaying after messages are removed from the message list was placed in helper functions, in preparation for the next commit.
4:10 PM Changeset [fe7ece2] by GitHub Merge Button <merge-button@github.com>
Merge caac19d40ffaea75410ce13da172590b04dae2b1 into 786a4108f9184d7c73170d373bc2cf80347b6456
4:01 PM Changeset [786a410]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Print out failing lines in prove output Makes diagnosing test failures much easier.
4:01 PM Changeset [14c9e05]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Number test output May as well appease TAP here when we can.
4:01 PM Changeset [bf5e6a2]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add unit tests for owl_util_makepath Stress all the relevant cases, including ones the previous code did not handle.
4:01 PM Changeset [c0c48d14]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Reimplement owl_util_makepath The new algorithm is cleaner and much more reasonable. foo/~/bar should not expand the ~. Also don't expand '~user /bar' as '/home/user /bar'. Also leave non-existant users unexpanded. It still has some finicky bits of string manipulations, but what can you do. A unit test is coming in the next commit.
4:01 PM Changeset [7feba19]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add some tests for owl_util_baseclass Mostly to stress some edge cases and make sure we don't accidentally crash them someday.
4:00 PM Changeset [2367f1c] by GitHub Merge Button <merge-button@github.com>
Merge 37ac3443e4be8b822ab13b34901c88bcb8ed375f into a16d7e5b1281bf21e0fe52b6d9946fd58893da28
3:59 PM Changeset [c76a12a] by GitHub Merge Button <merge-button@github.com>
Merge 6dfcb9e08f0b695564e63b9805b65e2314a8ee19 into a16d7e5b1281bf21e0fe52b6d9946fd58893da28
3:59 PM Changeset [a16d7e5]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Replaced 'Owl' with 'BarnOwl' in user visible places Updated :show license to match COPYING
3:59 PM Changeset [7756dde]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Fix a typo in variable.c and a typo in filterelement.c
3:56 PM Changeset [37ac344] by David Benjamin <davidben@mit.edu>
Print out failing lines in prove output Makes diagnosing test failures much easier.
3:56 PM Changeset [e073081] by David Benjamin <davidben@mit.edu>
Number test output May as well appease TAP here when we can.
3:56 PM Changeset [5aab6559] by David Benjamin <davidben@mit.edu>
Add unit tests for owl_util_makepath Stress all the relevant cases, including ones the previous code did not handle.
3:56 PM Changeset [ffe1135] by David Benjamin <davidben@mit.edu>
Reimplement owl_util_makepath The new algorithm is cleaner and much more reasonable. foo/~/bar should not expand the ~. Also don't expand '~user /bar' as '/home/user /bar'. Also leave non-existant users unexpanded. It still has some finicky bits of string manipulations, but what can you do. A unit test is coming in the next commit.
3:56 PM Changeset [df5488e] by David Benjamin <davidben@mit.edu>
Add some tests for owl_util_baseclass Mostly to stress some edge cases and make sure we don't accidentally crash them someday.
2:50 PM Ticket #188 (BarnOwl::Style::boldify sometimes fails on nested parenthetical commands) created by jgross@mit.edu
BarnOwl::Style::boldify('@(@<@{@[@i(@b(foo)bar@b(baz))]}>)')

Jul 8, 2011:

4:25 AM Changeset [6dfcb9e] by Jason Gross <jgross@mit.edu>
Replaced 'Owl' with 'BarnOwl' in user visible places Updated :show license to match COPYING
4:08 AM Changeset [4a01fc6] by Jason Gross <jgross@mit.edu>
Fix a typo in variable.c and a typo in filterelement.c

Jul 6, 2011:

1:34 AM Changeset [95c7f0c] by GitHub Merge Button <merge-button@github.com>
Merge 401752a309e8f11f694cfb3aa0e83b2af771e958 into 901cee9b7ebc203aee860a9c5fc3849ed3527532
1:31 AM Changeset [401752a]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Run the unit tests before installing the locker build What's the point of having them if we don't force ourselves to run them more?

Jul 4, 2011:

12:50 AM Changeset [901cee9]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Don't segfault when you expunge all messages from the messagelist When we used owl_list, trying to get an element from an empty list would return NULL. When we moved to GPtrArray, we dropped this checking, without dropping the assumption that, e.g., owl_view_get_element(v, owl_global_get_curmsg(&g)); works everywhere. This commit adds the logic back in to deal with this case. Additionally, don't segfault on things like :unpunt -1.

Jul 3, 2011:

11:47 PM Changeset [530c51c] by GitHub Merge Button <merge-button@github.com>
Merge 5c2ef5b8924ebc9e6c3d006f362dde3e73568d68 into 785ee770a72bcdda39fd541a90d8c640fa5c76ca
11:42 PM Changeset [5c2ef5b] by Jason Gross <jgross@mit.edu>
Don't segfault when you expunge all messages from the messagelist When we used owl_list, trying to get an element from an empty list would return NULL. When we moved to GPtrArray, we dropped this checking, without dropping the assumption that, e.g., owl_view_get_element(v, owl_global_get_curmsg(&g)); works everywhere. This commit adds the logic back in to deal with this case. Additionally, don't segfault on things like :unpunt -1.
9:17 PM Ticket #184 (Default zsigs are empty) closed by jgross@mit.edu
fixed: Resolved by ca749a95d6931025b7d334764a6776c9dbf0325d
8:57 PM Changeset [863f4c4] by GitHub Merge Button <merge-button@github.com>
Merge 785ee770a72bcdda39fd541a90d8c640fa5c76ca into 82e93c95ea82cdc4725e91b4d3ac6ac4f0b75f24
8:43 PM Changeset [785ee77]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Allow zsigs to be '0' Also, keep the feature that setting the zsig to '' will reset it to the default.
8:43 PM Changeset [fa981f3]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Removed some NULL checks for things that really shouldn't ever be NULL If a BarnOwl variable can't be gotten, then something is horribly wrong, and if it can't be gotten as a string, then perl will be confused (and something is probably horribly wrong anyway). Additionally, our variable descriptions shoud be descriptive. Valid settings should not be NULL (and NULL is more likely indicative of forgetting to set it than actually wanting an empty valid set).
8:43 PM Changeset [1dab38e]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Make owl_variable_dict_newvar_* give accurate validsettings
8:43 PM Changeset [b4a678a]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Added tests to tester.c to make sure that NULL values are gotten appropriately
8:43 PM Changeset [ca749a9]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Make variable getters return NULL instead of "<null>" This fixes trac-#184: Since commit 010a9511420887329269aa51e7598533e826c57f, the default zsigs show up as empty; BarnOwl::default_zephyr_signature() checks BarnOwl::getvar('zsigproc') as a boolean (which may be incorrect if you happen to have a zsigproc called 0). As of that commit, BarnOwl::getvar returns "<null>" instead of undef.
8:42 PM Changeset [ca54fd6]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Pass owl_variable * around instead of owl_vardict *. This allows (forces) functions to do their own NULL- and type- checking on variables. The functions in varsubs.c get less checking, but if these auto-generated functions are failing, something more serious is probably wrong. The owl_variable_get_* functions type-check their arguments, and owl_function_error if the argument is the wrong type (it's a programmer error and we should make some noise).
8:08 PM Changeset [bc1d648]release-1.8release-1.9 by Jason Gross <jgross@mit.edu>
Drop require_type It's not doing much for us (and would do even less after the next commit). I'm not sure whether or not we should type-check owl_variable_get_*

Jun 30, 2011:

3:16 AM Ticket #187 (The editwin should have (optional) spell check) created by jgross@mit.edu
It would be nice to be able to spell-check my zephyrs from within …

Jun 28, 2011:

1:45 PM Changeset [82e93c9]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
AX_CHECK_FLAG: Fix to work with autoconf 2.59 • AS_VAR_PUSHDEF([FLAGS], [something containing FLAGS]) caused an infinite loop before v2.65~21. • AS_VAR_APPEND was new in v2.63b~224. • AS_VAR_IF was new in v2.63~27. • AS_ECHO was new in AUTOCONF-2.61a~45, and AC_PROG_GREP in AUTOCONF-2.59c~744, but their use here is more idiomatically replaced with a case pattern anyway. • Before AUTOCONF-2.60b~8, the variable name passed to AC_CACHE_CHECK, AS_VAR_GET, AS_VAR_SET, and AS_VAR_SET_IF must be left unquoted. Signed-off-by: Anders Kaseorg <andersk@mit.edu> (cherry picked from autoconf-archive commit f5ed01f0ce1d9b3be7c0cd92db192bf5c44d7fcb)
2:09 AM Ticket #186 (Trac is slow) created by jgross@mit.edu
Login and view tickets are especially slow.

Jun 27, 2011:

1:01 PM Ticket #185 (Barnowl should warn novices that they're not subbed to a triplet ...) created by jdreed@mit.edu
(See also Debathena #938) Every so often, someone will try out zephyr …
4:28 AM Changeset [554787e8] by Jason Gross <jgross@mit.edu>
Added tests to tester.c to make sure that NULL values are gotten appropriately
4:28 AM Changeset [b75a8ac] by Jason Gross <jgross@mit.edu>
Make variable getters return NULL instead of "<null>" This fixes trac-#184: Since commit 010a9511420887329269aa51e7598533e826c57f, the default zsigs show up as empty; BarnOwl::default_zephyr_signature() checks BarnOwl::getvar('zsigproc') as a boolean (which may be incorrect if you happen to have a zsigproc called 0). As of that commit, BarnOwl::getvar returns "<null>" instead of undef.
4:28 AM Changeset [0d935a1] by Jason Gross <jgross@mit.edu>
Pass owl_variable * around instead of owl_vardict *. This allows (forces) functions to do their own NULL- and type- checking on variables. The functions in varsubs.c get less checking, but if these auto-generated functions are failing, something more serious is probably wrong.
4:28 AM Changeset [f4e857f] by Jason Gross <jgross@mit.edu>
Removed some NULL checks for things that really shouldn't ever be NULL If a BarnOwl variable can't be gotten, then something is horribly wrong, and if it can't be gotten as a string, then perl will be confused (and something is probably horribly wrong anyway). Additionally, our variable descriptions shoud be descriptive. Valid settings should not be NULL (and NULL is more likely indicative of forgetting to set it than actually wanting an empty valid set).
4:28 AM Changeset [eeba011] by Jason Gross <jgross@mit.edu>
Drop require_type It's not doing much for us (and would do even less after the next commit), and dropping it makes owl_variable_dict_newvar_* a bit more robust.
4:28 AM Changeset [3dfc083] by Jason Gross <jgross@mit.edu>
Refactored owl_variable_dict_newvar_* to give accurate validsettings, and cleanup better The cleanup no longer depends on the existing variable being the same type, and is more less likely to leak, in particular when the variables have custom delete functions. Variables created from perl now have the appropriate default validsettings.
12:38 AM Ticket #184 (Default zsigs are empty) created by jgross@mit.edu
Since commit 010a9511420887329269aa51e7598533e826c57f, the default …

Jun 26, 2011:

10:53 PM Changeset [705ea86] by Jason Gross <jgross@mit.edu>
AX_CHECK_FLAG: Fix to work with autoconf 2.59 • AS_VAR_PUSHDEF([FLAGS], [something containing FLAGS]) caused an infinite loop before v2.65~21. • AS_VAR_APPEND was new in v2.63b~224. • AS_VAR_IF was new in v2.63~27. • AS_ECHO was new in AUTOCONF-2.61a~45, and AC_PROG_GREP in AUTOCONF-2.59c~744, but their use here is more idiomatically replaced with a case pattern anyway. • Before AUTOCONF-2.60b~8, the variable name passed to AC_CACHE_CHECK, AS_VAR_GET, AS_VAR_SET, and AS_VAR_SET_IF must be left unquoted. Submitted upstream to https://savannah.gnu.org/patch/index.php?7563 . Signed-off-by: Anders Kaseorg <andersk@mit.edu>
7:37 PM Ticket #183 (Search should scroll through messages to match) created by jgross@mit.edu
If I search for a word that appears in the middle of a long message, …
12:40 AM Changeset [8fa8d0c] by GitHub Merge Button <merge-button@github.com>
Merge af562f50377925cac37704fd58ad0438060cc7fd into bad44968701bd819226d18137988f6234af2bcb4

Jun 25, 2011:

6:14 PM Changeset [af562f5] by Anders Kaseorg <andersk@mit.edu>
AX_CHECK_FLAG: Fix to work with autoconf 2.59 • AS_VAR_PUSHDEF([FLAGS], [something containing FLAGS]) caused an infinite loop before v2.65~21. • AS_VAR_APPEND was new in v2.63b~224. • AS_VAR_IF was new in v2.63~27. • AS_ECHO was new in AUTOCONF-2.61a~45, and AC_PROG_GREP in AUTOCONF-2.59c~744, but their use here is more idiomatically replaced with a case pattern anyway. • Before AUTOCONF-2.60b~8, the variable name passed to AC_CACHE_CHECK, AS_VAR_GET, AS_VAR_SET, and AS_VAR_SET_IF must be left unquoted. Submitted upstream to https://savannah.gnu.org/patch/index.php?7563 . Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:11 PM Changeset [1bdbcb1] by GitHub Merge Button <merge-button@github.com>
Merge 708837dc090b1b2239157de1d0aef4e269cf0e55 into bad44968701bd819226d18137988f6234af2bcb4
3:10 PM Changeset [708837d] by David Benjamin <davidben@mit.edu>
Revert "Replace obsolete AX_C_CHECK_FLAG with AX_CHECK_COMPILE_FLAG" This reverts commit f2a96c0fd0bab7380da67a9616eb04308488ff8f. It uses a macro AS_VAR_IF which is not available on some development environments we still support. (Entertainingly, AX_CHECK_COMPILE_FLAG itself only claims an AC_PREREQ of 2.59 which is probably a bug.)
1:17 PM Changeset [bad4496]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Reformat the man page to look more like others It doesn't look like anyone's actually consistent in man page formatting, but this looks decent. Also update it as it's rather stale in places.
1:17 PM Changeset [b8a3e00]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Consistently use BarnOwl or barnowl BarnOwl refers to the program, barnowl is the executable and any other identifiers that are conventionally lowercase.
10:01 AM Changeset [caac19d] by Jason Gross <jgross@mit.edu>
Improved ability to delete messages from perl BarnOwl::Message now has a delete_and_expunge command, and BarnOwl::queue_message returns the queued message, so that deletion actually works; there used to be no way to get the id of a queued message, and so ->delete() didn't actually do anything...
10:01 AM Changeset [67b959c] by Jason Gross <jgross@mit.edu>
Added a delete-and-expunge command. This command is analogous to the delete command, except that it also expunges only the {current,given} message. It also takes an optional --quiet parameter, because I plan to use it internally and don't want spew on success. Perhaps there's a better way to accomplish this... I couldn't figure out how the existing delete command is supposed to work internally. The logic behind the delete-and-expunge command is as follows: We always update both the message list and the display. So model the command that will do much of the work, owl_function_delete_and_expunge_message, off of owl_function_expunge. owl_function_delete_and_expunge_message takes one argument, which is the position of the item in the message list. It deletes it from the message list with a new function owl_messagelist_delete_and_expunge_element. This calls delete on the underlying owl_list, so the errors (if any) on an index that is too big might be unhelpful. owl_function_delete_and_expunge_cur and owl_function_delete_and_expunge_by_id both get the index of the relevant message (and a function owl_messagelist_get_index_by_id is added to messagelist.c to help the latter). They owl_function_error if no such message exists, and conditionally owl_function_makemsg on success.
9:51 AM Changeset [b2bfe1f] by Jason Gross <jgross@mit.edu>
Fixed a bug in the expunge command Expunging from past the end of the message list (e.g., the key strokes d > > x) no longer brings you to the first message. Additionally, the code in owl_function_expunge that is relevant to redisplaying after messages are removed from the message list was placed in helper functions, in preparation for the next commit.
7:22 AM Changeset [e1d3607] by GitHub Merge Button <merge-button@github.com>
Merge d9fbfd831d2af947f279310e5d92ba2dc15591af into 25891a81c52b4a7460682ef7a3773e6774e73e27
6:42 AM Changeset [16ce7a4] by GitHub Merge Button <merge-button@github.com>
Merge 25891a81c52b4a7460682ef7a3773e6774e73e27 into 650fb2c030491f5d6668ad439b83a6a6b7b9870e
6:42 AM Changeset [25891a8]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add a unit test for owl_history Also fix an off-by-one error in bounding the history size. May as well have those semantics be coherent and testable.
6:34 AM Changeset [d9fbfd8] by David Benjamin <davidben@mit.edu>
Reformat the man page to look more like others It doesn't look like anyone's actually consistent in man page formatting, but this looks decent. Also update it as it's rather stale in places.
6:03 AM Changeset [bc932fd] by GitHub Merge Button <merge-button@github.com>
Merge 650fb2c030491f5d6668ad439b83a6a6b7b9870e into 2560529186e398f85a038e8683d29058857eb7b7
5:46 AM Changeset [650fb2c]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Update autoconf macros from pkg-config Signed-off-by: Anders Kaseorg <andersk@mit.edu>
5:46 AM Changeset [378ede7]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Update autoconf macros from autoconf-archive Signed-off-by: Anders Kaseorg <andersk@mit.edu>
5:46 AM Changeset [f2a96c0]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Replace obsolete AX_C_CHECK_FLAG with AX_CHECK_COMPILE_FLAG Signed-off-by: Anders Kaseorg <andersk@mit.edu>
4:11 AM Changeset [d8e2f07] by GitHub Merge Button <merge-button@github.com>
Merge 2560529186e398f85a038e8683d29058857eb7b7 into 95b52d17a566adefc77f07749218fe0cb33a66b2
4:09 AM Changeset [2560529]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Consistently place function annotation at the beginning char CALLER_OWN * doesn't make a whole lot of sense.
3:26 AM Changeset [c266281]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Remove owl_list altogether All uses have been removed.
3:26 AM Changeset [ce68f23]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make owl_dict_get_keys return a GPtrArray Almost all the remaining uses of owl_list are tightly coupled into this one giant blob.
3:26 AM Changeset [3cdd6d2]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add owl_ptr_array_free convenience function Unfortunately, most uses of GPtrArray here require a two-step chant which is really annoying. Until we require glib 2.22 and get g_ptr_array_new_with_free_func, use this helper function.
3:26 AM Changeset [e4524da]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make aimsearch code use GPtrArray instead of owl_list
3:26 AM Changeset [ecffae6]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make owl_zephyr_get_anyone_list return a GPtrArray
3:26 AM Changeset [e6d7e4e]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace the puntlist with an GPtrArray
3:26 AM Changeset [eb897c6]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace owl_errqueue's owl_list with a GPtrArray
3:26 AM Changeset [7ed9bc6]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace owl_zbuddlist's owl_list with GPtrArray
3:26 AM Changeset [d191f45]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make owl_buddylist use a GPtrArray directly
3:26 AM Changeset [e4d7cb6]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace owl_keymap's list with a GPtrArray
3:26 AM Changeset [f9df2f0]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace owl_message's owl_list with a GPtrArray
3:26 AM Changeset [fc8a87a]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace owl_messagelist's internal owl_list with GPtrArray
3:26 AM Changeset [12294d2]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Remove owl_list from owl_zwrite Use a GPtrArray directly.
3:26 AM Changeset [6829afc]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Define CALLER_OWN macro Replace our exising uses of G_GNUC_WARN_UNUSED_RESULT with it. The old macro is just way too long. This also more clearly specifies the intent.
3:24 AM Changeset [95b52d1]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Store history in a GQueue Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:24 AM Changeset [8e515f9]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Do not deduplicate a partial entry This fixes a bug that let you to remove the last item from your history by typing it again, pressing up and down, and erasing it. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:24 AM Changeset [b470451]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Tell owl_history_store whether the new entry will be partial Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:24 AM Changeset [ad37b39]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Remove partial entries in owl_history_reset Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:24 AM Changeset [83a079a]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Make owl_history_store also reset It doesn’t make sense to run owl_history_store without owl_history_reset (except in one case where we know the current position is already the beginning and we’re about to owl_history_set_partial), so let’s merge these functions. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:24 AM Changeset [9923144]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Get rid of touched and associated bug This fixes the following bug: type a partial line, up, down, type the rest of the line, up, down; oops, we’re back to the first partial line. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
3:24 AM Changeset [43744ce]release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
history: Remove unused repeats flag Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2:29 AM Changeset [1c01cdf7] by GitHub Merge Button <merge-button@github.com>
Merge 2bc6bb1631398bd9cd2eaeee9ed91c2a15649b30 into 8b293ea82bfdae7cddf0e0665ef6eca1cc0df04d
2:28 AM Changeset [2bc6bb16] by Anders Kaseorg <andersk@mit.edu>
history: Store history in a GQueue Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2:23 AM Changeset [32c331d] by Anders Kaseorg <andersk@mit.edu>
history: Do not deduplicate a partial entry This fixes a bug that let you to remove the last item from your history by typing it again, pressing up and down, and erasing it. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2:23 AM Changeset [7c80ea42] by Anders Kaseorg <andersk@mit.edu>
history: Tell owl_history_store whether the new entry will be partial Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2:22 AM Changeset [35849fe] by Anders Kaseorg <andersk@mit.edu>
history: Remove partial entries in owl_history_reset Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2:15 AM Changeset [413c910] by David Benjamin <davidben@mit.edu>
Consistently use BarnOwl or barnowl BarnOwl refers to the program, barnowl is the executable and any other identifiers that are conventionally lowercase.
2:12 AM Changeset [57a66fe] by Anders Kaseorg <andersk@mit.edu>
history: Make owl_history_store also reset It doesn’t make sense to run owl_history_store without owl_history_reset (except in one case where we know the current position is already the beginning and we’re about to owl_history_set_partial), so let’s merge these functions. Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Jun 24, 2011:

11:55 AM Changeset [8b293ea]release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use glib spawn functions when launching a newmsgproc The glib version is smaller and has the advantage of not leaking all our file descriptors to the process. More importantly, it does not call malloc between fork and exec which is not safe in the presence of threads.
Note: See TracTimeline for information about the timeline view.