Only in privatemsg_sub: pm_tags
diff -urp privatemsg/privatemsg.module privatemsg_sub/privatemsg.module
--- privatemsg/privatemsg.module	2008-10-22 22:15:09.545712200 +0100
+++ privatemsg_sub/privatemsg.module	2008-10-22 22:50:23.706912200 +0100
@@ -226,11 +226,14 @@ function privatemsg_list($uid = NULL) {
     if ($uid && $uid == $user->uid) { // Viewing our own messages.
       $account = $user;
     }
-    else if ($uid && $uid != $user->uid && user_access('read all private messages')) {
+    elseif ($uid && is_numeric($uid) && $uid != $user->uid && user_access('read all private messages')) {
       $account = user_load(array('uid' => $uid));
     }
     else { // We tried viewing someone else's messages but didn't have sufficient rights.
-      drupal_set_message(t("You do not have sufficient rights to view someone else's messages"), WATCHDOG_WARNING);
+      if (is_numeric($uid)) {
+        drupal_set_message(t("You do not have sufficient rights to view someone else's messages"), WATCHDOG_WARNING);
+      }
+
       $account = $user;
     }
   }
@@ -310,11 +313,14 @@ function privatemsg_list($uid = NULL) {
       unset($row['thread_id']);
       $messages[] = $row;
     }
-    $content = theme('table', $head, $messages);
+    if (module_exists('pm_tags')) {
+      $content = drupal_get_form('pm_tags_dropdown');
+    }
+    $content .= theme('table', $head, $messages);
     drupal_add_css(drupal_get_path('module', 'privatemsg').'/styles/privatemsg-list.css');
   }
   else {
-    $content = '';
+    $content .= '';
     drupal_set_message(t('No messages to display.'));
   }
 
@@ -392,6 +398,9 @@ function privatemsg_set_new_status($acco
 function privatemsg_view($thread_id) {
   global $user;
   $output = '';
+  if (module_exists('pm_tags')) {
+    $output = drupal_get_form('pm_tags_checkbox');
+  }
   // Load the message object.
   $query = _privatemsg_assemble_query('privatemsg_messages', $thread_id, $user->uid);
   $conversation = db_query($query);
@@ -411,7 +420,7 @@ function privatemsg_view($thread_id) {
       while ($result = db_fetch_object($participants)) {
         $message['participants'][] = user_load($result->uid);
       }
-      $output = theme('privatemsg_to', $message);
+      $output .= theme('privatemsg_to', $message);
     }
     $output .= theme('privatemsg_view', $message);
 
