diff -Nurd -x'*~' gnote-0.7.1.orig/src/Makefile.in gnote-0.7.1/src/Makefile.in
--- gnote-0.7.1.orig/src/Makefile.in	2010-01-04 09:16:51.000000000 -0500
+++ gnote-0.7.1/src/Makefile.in	2012-05-09 06:04:15.000000000 -0400
@@ -39,10 +39,10 @@
 bin_PROGRAMS = gnote$(EXEEXT)
 check_PROGRAMS = trietest$(EXEEXT) stringtest$(EXEEXT) \
 	notetest$(EXEEXT) dttest$(EXEEXT) uritest$(EXEEXT) \
-	filestest$(EXEEXT) xmlreadertest$(EXEEXT)
+	filestest$(EXEEXT) fileinfotest$(EXEEXT) xmlreadertest$(EXEEXT)
 TESTS = trietest$(EXEEXT) stringtest$(EXEEXT) notetest$(EXEEXT) \
 	dttest$(EXEEXT) uritest$(EXEEXT) filestest$(EXEEXT) \
-	xmlreadertest$(EXEEXT)
+	fileinfotest$(EXEEXT) xmlreadertest$(EXEEXT)
 @HAVE_PANELAPPLETMM_TRUE@am__append_1 = @LIBPANELAPPLETMM_CFLAGS@
 @HAVE_PANELAPPLETMM_TRUE@am__append_2 = @LIBPANELAPPLETMM_LIBS@
 @HAVE_DBUS_TRUE@am__append_3 = dbus
@@ -151,6 +151,9 @@
 	debug.$(OBJEXT)
 dttest_OBJECTS = $(am_dttest_OBJECTS)
 dttest_DEPENDENCIES =
+am_fileinfotest_OBJECTS = fileinfotest.$(OBJEXT) fileinfo.$(OBJEXT)
+fileinfotest_OBJECTS = $(am_fileinfotest_OBJECTS)
+fileinfotest_DEPENDENCIES =
 am_filestest_OBJECTS = filestest.$(OBJEXT) files.$(OBJEXT)
 filestest_OBJECTS = $(am_filestest_OBJECTS)
 filestest_DEPENDENCIES =
@@ -223,12 +226,12 @@
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(libgnote_a_SOURCES) $(dttest_SOURCES) $(filestest_SOURCES) \
+SOURCES = $(libgnote_a_SOURCES) $(dttest_SOURCES) $(fileinfotest_SOURCES) $(filestest_SOURCES) \
 	$(gnote_SOURCES) $(notetest_SOURCES) $(stringtest_SOURCES) \
 	$(trietest_SOURCES) $(uritest_SOURCES) \
 	$(xmlreadertest_SOURCES)
 DIST_SOURCES = $(am__libgnote_a_SOURCES_DIST) $(dttest_SOURCES) \
-	$(filestest_SOURCES) $(gnote_SOURCES) $(notetest_SOURCES) \
+	$(fileinfotest_SOURCES) $(filestest_SOURCES) $(gnote_SOURCES) $(notetest_SOURCES) \
 	$(stringtest_SOURCES) $(trietest_SOURCES) $(uritest_SOURCES) \
 	$(xmlreadertest_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -682,6 +685,9 @@
 	@rm -f dttest$(EXEEXT)
 	$(CXXLINK) $(dttest_OBJECTS) $(dttest_LDADD) $(LIBS)
 filestest$(EXEEXT): $(filestest_OBJECTS) $(filestest_DEPENDENCIES) 
+fileinfotest$(EXEEXT): $(fileinfotest_OBJECTS) $(fileinfotest_DEPENDENCIES)
+	@rm -f fileinfotest$(EXEEXT)
+	$(CXXLINK) $(fileinfotest_OBJECTS) $(fileinfotest_LDADD) $(LIBS)
 	@rm -f filestest$(EXEEXT)
 	$(CXXLINK) $(filestest_OBJECTS) $(filestest_LDADD) $(LIBS)
 gnote$(EXEEXT): $(gnote_OBJECTS) $(gnote_DEPENDENCIES) 
@@ -759,6 +765,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynamicmodule.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileinfotest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filestest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnote.Po@am__quote@
@@ -1267,6 +1274,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dttest.obj `if test -f 'test/dttest.cpp'; then $(CYGPATH_W) 'test/dttest.cpp'; else $(CYGPATH_W) '$(srcdir)/test/dttest.cpp'; fi`
 
+fileinfotest.o: test/fileinfotest.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fileinfotest.o -MD -MP -MF $(DEPDIR)/fileinfotest.Tpo -c -o fileinfotest.o `test -f 'test/fileinfotest.cpp' || echo '$(srcdir)/'`test/fileinfotest.cpp
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/fileinfotest.Tpo $(DEPDIR)/fileinfotest.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='test/fileinfotest.cpp' object='fileinfotest.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fileinfotest.o `test -f 'test/fileinfotest.cpp' || echo '$(srcdir)/'`test/fileinfotest.cpp
+
+fileinfotest.obj: test/fileinfotest.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fileinfotest.obj -MD -MP -MF $(DEPDIR)/fileinfotest.Tpo -c -o fileinfotest.obj `if test -f 'test/fileinfotest.cpp'; then $(CYGPATH_W) 'test/fileinfotest.cpp'; else $(CYGPATH_W) '$(srcdir)/test/fileinfotest.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/fileinfotest.Tpo $(DEPDIR)/fileinfotest.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='test/fileinfotest.cpp' object='fileinfotest.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fileinfotest.obj `if test -f 'test/fileinfotest.cpp'; then $(CYGPATH_W) 'test/fileinfotest.cpp'; else $(CYGPATH_W) '$(srcdir)/test/fileinfotest.cpp'; fi`
+
 filestest.o: test/filestest.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT filestest.o -MD -MP -MF $(DEPDIR)/filestest.Tpo -c -o filestest.o `test -f 'test/filestest.cpp' || echo '$(srcdir)/'`test/filestest.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/filestest.Tpo $(DEPDIR)/filestest.Po
diff -Nurd -x'*~' gnote-0.7.1.orig/src/sharp/directory.cpp gnote-0.7.1/src/sharp/directory.cpp
--- gnote-0.7.1.orig/src/sharp/directory.cpp	2009-12-28 06:04:54.000000000 -0500
+++ gnote-0.7.1/src/sharp/directory.cpp	2012-05-09 05:41:28.000000000 -0400
@@ -1,6 +1,7 @@
 /*
  * gnote
  *
+ * Copyright (C) 2011 Debarshi Ray
  * Copyright (C) 2009 Hubert Figuiere
  * 
  * Permission is hereby granted, free of charge, to any person obtaining a
@@ -27,8 +28,10 @@
 #include <boost/filesystem/convenience.hpp>
 #include <boost/filesystem/path.hpp>
 #include <boost/filesystem/operations.hpp>
+#include <glibmm.h>
 
 #include "sharp/directory.hpp"
+#include "sharp/fileinfo.hpp"
 #include "sharp/string.hpp"
 
 namespace sharp {
@@ -38,20 +41,21 @@
                                     const std::string & ext,
                                     std::list<std::string> & list)
   {
-    boost::filesystem::path p(dir);
-    
-    if(!exists(p)) {
+    if (!Glib::file_test(dir, Glib::FILE_TEST_EXISTS))
       return;
-    }
-    boost::filesystem::directory_iterator end_itr; 
-    for ( boost::filesystem::directory_iterator itr( p );
-          itr != end_itr;
-          ++itr )
-    {
-      // is_regular() is deprecated but is_regular_file isn't in 1.34.
-      if ( is_regular(*itr) && (ext.empty() || (sharp::string_to_lower(extension(*itr)) == ext)) )
-      {
-        list.push_back(itr->string());
+
+    if (!Glib::file_test(dir, Glib::FILE_TEST_IS_DIR))
+      return;
+
+    Glib::Dir d(dir);
+
+    for (Glib::Dir::iterator itr = d.begin(); itr != d.end(); ++itr) {
+      const sharp::FileInfo file_info(*itr);
+      const std::string & extension = file_info.get_extension();
+
+      if (Glib::file_test(*itr, Glib::FILE_TEST_IS_REGULAR)
+          && (ext.empty() || (sharp::string_to_lower(extension) == ext))) {
+        list.push_back(*itr);
       }
     }
   }
diff -Nurd -x'*~' gnote-0.7.1.orig/src/sharp/fileinfo.cpp gnote-0.7.1/src/sharp/fileinfo.cpp
--- gnote-0.7.1.orig/src/sharp/fileinfo.cpp	2009-11-25 08:12:33.000000000 -0500
+++ gnote-0.7.1/src/sharp/fileinfo.cpp	2012-05-09 05:41:28.000000000 -0400
@@ -23,8 +23,7 @@
  */
 
 
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/convenience.hpp>
+#include <glibmm.h>
 #include "sharp/fileinfo.hpp"
 
 
@@ -42,17 +41,19 @@
 
   std::string FileInfo::get_name() const
   {
-#if BOOST_VERSION >= 103600
-    return boost::filesystem::path(m_path).filename();
-#else
-    return boost::filesystem::path(m_path).leaf();
-#endif
+    return Glib::path_get_basename(m_path);
   }
 
 
   std::string FileInfo::get_extension() const
   {
-    return boost::filesystem::extension(m_path);
+    const std::string & name = get_name();
+
+    if ("." == name || ".." == name)
+      return "";
+
+    const std::string::size_type pos = name.find_last_of('.');
+    return (std::string::npos == pos) ? "" : std::string(name, pos);
   }
 
 
diff -Nurd -x'*~' gnote-0.7.1.orig/src/sharp/files.cpp gnote-0.7.1/src/sharp/files.cpp
--- gnote-0.7.1.orig/src/sharp/files.cpp	2009-11-25 08:12:33.000000000 -0500
+++ gnote-0.7.1/src/sharp/files.cpp	2012-05-09 05:41:28.000000000 -0400
@@ -24,7 +24,7 @@
 
 #include <boost/version.hpp>
 #include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/convenience.hpp>
+#include <glibmm.h>
 
 #include "files.hpp"
 
@@ -34,30 +34,28 @@
 
   bool file_exists(const std::string & file)
   {
-    boost::filesystem::path p(file);
-    // is_regular_file isn't in 1.34. is_regular is deprecated.
-    return (exists(p) && is_regular(p));
+    return Glib::file_test(file, Glib::FILE_TEST_EXISTS)
+           && Glib::file_test(file, Glib::FILE_TEST_IS_REGULAR);
   }
 
 
   std::string file_basename(const std::string & p)
   {
-#if BOOST_VERSION >= 103600
-    return boost::filesystem::path(p).stem();
-#else
-    return boost::filesystem::basename(boost::filesystem::path(p));
-#endif
+    const std::string & filename = Glib::path_get_basename(p);
+    const std::string::size_type pos = filename.find_last_of('.');
+
+    return std::string(filename, 0, pos);
   }
 
   std::string file_dirname(const std::string & p)
   {
-    return boost::filesystem::path(p).branch_path().string();
+    return Glib::path_get_dirname(p);
   }
 
 
   std::string file_filename(const std::string & p)
   {
-    return boost::filesystem::path(p).leaf();
+    return Glib::path_get_basename(p);
   }
 
   void file_delete(const std::string & p)
diff -Nurd -x'*~' gnote-0.7.1.orig/src/test/fileinfotest.cpp gnote-0.7.1/src/test/fileinfotest.cpp
--- gnote-0.7.1.orig/src/test/fileinfotest.cpp	1969-12-31 19:00:00.000000000 -0500
+++ gnote-0.7.1/src/test/fileinfotest.cpp	2012-05-09 05:41:28.000000000 -0400
@@ -0,0 +1,62 @@
+/*
+ * gnote
+ *
+ * Copyright (C) 2011 Debarshi Ray
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <boost/test/minimal.hpp>
+
+#include "sharp/fileinfo.hpp"
+
+int test_main(int /*argc*/, char ** /*argv*/)
+{
+  {
+    sharp::FileInfo file_info("/foo/bar/baz.txt");
+
+    BOOST_CHECK(file_info.get_name() == "baz.txt");
+    BOOST_CHECK(file_info.get_extension() == ".txt");
+  }
+
+  {
+    sharp::FileInfo file_info("/foo/bar/baz.");
+
+    BOOST_CHECK(file_info.get_name() == "baz.");
+    BOOST_CHECK(file_info.get_extension() == ".");
+  }
+
+  {
+    sharp::FileInfo file_info("/foo/bar/baz");
+
+    BOOST_CHECK(file_info.get_name() == "baz");
+    BOOST_CHECK(file_info.get_extension() == "");
+  }
+
+  {
+    sharp::FileInfo file_info("/foo/bar/..");
+
+    BOOST_CHECK(file_info.get_name() == "..");
+    BOOST_CHECK(file_info.get_extension() == "");
+  }
+
+  {
+    sharp::FileInfo file_info("/foo/bar/");
+
+    BOOST_CHECK(file_info.get_name() == "bar");
+    BOOST_CHECK(file_info.get_extension() == "");
+  }
+
+  return 0;
+}
diff -Nurd -x'*~' gnote-0.7.1.orig/src/test/filestest.cpp gnote-0.7.1/src/test/filestest.cpp
--- gnote-0.7.1.orig/src/test/filestest.cpp	2009-11-25 08:12:33.000000000 -0500
+++ gnote-0.7.1/src/test/filestest.cpp	2012-05-09 05:41:28.000000000 -0400
@@ -1,6 +1,7 @@
 /*
  * gnote
  *
+ * Copyright (C) 2011 Debarshi Ray
  * Copyright (C) 2009 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
@@ -20,6 +21,7 @@
 #include <iostream>
 
 #include <boost/test/minimal.hpp>
+#include <glibmm.h>
 
 #include "sharp/files.hpp"
 
@@ -27,10 +29,46 @@
 
 int test_main(int /*argc*/, char ** /*argv*/)
 {
-  std::string path = "/foo/bar/baz.txt";
+  {
+    std::string path = "/foo/bar/baz.txt";
 
-  BOOST_CHECK(file_basename(path) == "baz");
-  BOOST_CHECK(file_dirname(path) == "/foo/bar");
+    BOOST_CHECK(file_basename(path) == "baz");
+    BOOST_CHECK(file_dirname(path) == "/foo/bar");
+    BOOST_CHECK(file_filename(path) == "baz.txt");
+  }
+
+  {
+    std::string path = "/foo/bar/baz";
+
+    BOOST_CHECK(file_basename(path) == "baz");
+    BOOST_CHECK(file_dirname(path) == "/foo/bar");
+    BOOST_CHECK(file_filename(path) == "baz");
+  }
+
+  {
+    std::string path = "/foo/bar/..";
+
+    BOOST_CHECK(file_basename(path) == ".");
+    BOOST_CHECK(file_dirname(path) == "/foo/bar");
+    BOOST_CHECK(file_filename(path) == "..");
+  }
+
+  {
+    std::string path = "/foo/bar/";
+
+    BOOST_CHECK(file_basename(path) == "bar");
+    BOOST_CHECK(file_dirname(path) == "/foo/bar");
+    BOOST_CHECK(file_filename(path) == "bar");
+  }
+
+  {
+    std::string dir = Glib::get_current_dir();
+
+    BOOST_CHECK(file_exists(dir) == false);
+    // Very unlikely to exist.
+    BOOST_CHECK(file_exists(__FILE__ __FILE__) == false);
+    BOOST_CHECK(file_exists(__FILE__) == true);
+  }
 
   return 0;
 }
