Index: wysiwyg.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg.module,v
retrieving revision 1.33.2.8
diff -u -p -r1.33.2.8 wysiwyg.module
--- wysiwyg.module	7 Feb 2010 15:14:03 -0000	1.33.2.8
+++ wysiwyg.module	9 Feb 2010 02:03:09 -0000
@@ -292,12 +292,12 @@ function wysiwyg_load_editor($profile) {
       }
 
       drupal_add_js(array('wysiwyg' => array(
-        'configs' => array($editor['name'] => array()),
-        // @todo Move into (global) editor settings.
-        // If JS compression is enabled, at least TinyMCE is unable to determine
-        // its own base path and exec mode since it can't find the script name.
-        'editorBasePath' => base_path() . $editor['library path'],
-        'execMode' => $library,
+        'configs' => array($editor['name'] => array('global' => array(
+          // If JS compression is enabled, at least TinyMCE is unable to determine
+          // its own base path and exec mode since it can't find the script name.
+          'editorBasePath' => base_path() . $editor['library path'],
+          'execMode' => $library,
+        ))),
       )), 'setting');
 
       $loaded[$name] = TRUE;
Index: editors/tinymce.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/tinymce.inc,v
retrieving revision 1.35.2.2
diff -u -p -r1.35.2.2 tinymce.inc
--- editors/tinymce.inc	6 Feb 2010 17:57:02 -0000	1.35.2.2
+++ editors/tinymce.inc	9 Feb 2010 02:03:10 -0000
@@ -65,6 +65,24 @@ function wysiwyg_tinymce_editor() {
           ),
         ),
       ),
+      '3.3' => array(
+        'js files' => array('tinymce-3.js'),
+        'css files' => array('tinymce-3.css'),
+        'libraries' => array(
+          '' => array(
+            'title' => 'Minified',
+            'files' => array('tiny_mce.js'),
+          ),
+          'jquery' => array(
+            'title' => 'jQuery',
+            'files' => array('tiny_mce_jquery.js'),
+          ),
+          'src' => array(
+            'title' => 'Source',
+            'files' => array('tiny_mce_src.js'),
+          ),
+        ),
+      ),
     ),
   );
   return $editor;
@@ -82,8 +100,8 @@ function wysiwyg_tinymce_editor() {
 function wysiwyg_tinymce_version($editor) {
   $script = $editor['library path'] . '/tiny_mce.js';
   $script = fopen($script, 'r');
-  // Version is contained in the first 80 chars.
-  $line = fgets($script, 80);
+  // Version is contained in the first 100 chars.
+  $line = fgets($script, 100);
   // 2.x: this.majorVersion="2";this.minorVersion="1.3"
   // 3.x: majorVersion:'3',minorVersion:'2.0.1'
   if (preg_match('@majorVersion[=:]["\'](\d).+?minorVersion[=:]["\']([\d\.]+)@', $line, $version)) {
@@ -566,10 +584,21 @@ function wysiwyg_tinymce_plugins($editor
       'internal' => TRUE,
       'load' => TRUE,
     );
-    $plugins['safari'] = array(
-      'path' => $editor['library path'] . '/plugins/safari',
-      'extensions' => array('safari' => t('Safari compatibility')),
-      'url' => 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/safari',
+    if (version_compare($editor['installed version'], '3.3', '<')) {
+      $plugins['safari'] = array(
+        'path' => $editor['library path'] . '/plugins/safari',
+        'extensions' => array('safari' => t('Safari compatibility')),
+        'url' => 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/safari',
+        'internal' => TRUE,
+        'load' => TRUE,
+      );
+    }
+  }
+  if (version_compare($editor['installed version'], '3.3', '>=')) {
+    $plugins['advlist'] = array(
+      'path' => $editor['library path'] . '/plugins/advlist',
+      'extensions' => array('advlist' => t('Advanced lists')),
+      'url' => 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist',
       'internal' => TRUE,
       'load' => TRUE,
     );
Index: editors/js/tinymce-2.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/tinymce-2.js,v
retrieving revision 1.10
diff -u -p -r1.10 tinymce-2.js
--- editors/js/tinymce-2.js	6 Mar 2009 03:22:37 -0000	1.10
+++ editors/js/tinymce-2.js	9 Feb 2010 02:03:10 -0000
@@ -19,6 +19,9 @@ Drupal.wysiwyg.editor.init.tinymce = fun
 
   // Initialize editor configurations.
   for (var format in settings) {
+    if (format == 'global') {
+      continue;
+    }
     tinyMCE.init(settings[format]);
     if (Drupal.settings.wysiwyg.plugins[format]) {
       // Load native external plugins.
Index: editors/js/tinymce-3.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/tinymce-3.js,v
retrieving revision 1.17
diff -u -p -r1.17 tinymce-3.js
--- editors/js/tinymce-3.js	13 Jun 2009 01:14:43 -0000	1.17
+++ editors/js/tinymce-3.js	9 Feb 2010 02:03:12 -0000
@@ -17,13 +17,15 @@ Drupal.wysiwyg.editor.init.tinymce = fun
   }
   // If JS compression is enabled, TinyMCE is unable to find its own base path
   // and exec mode, hence we need to define it manually.
-  // @todo Move global library settings somewhere else.
-  tinyMCE.baseURL = Drupal.settings.wysiwyg.editorBasePath;
-  tinyMCE.srcMode = (Drupal.settings.wysiwyg.execMode == 'src' ? '_src' : '');
-  tinyMCE.gzipMode = (Drupal.settings.wysiwyg.execMode == 'gzip');
+  tinyMCE.baseURL = settings.global.editorBasePath;
+  tinyMCE.srcMode = (settings.global.execMode == 'src' ? '_src' : '');
+  tinyMCE.gzipMode = (settings.global.execMode == 'gzip');
 
   // Initialize editor configurations.
   for (var format in settings) {
+    if (format == 'global') {
+      continue;
+    };
     tinyMCE.init(settings[format]);
     if (Drupal.settings.wysiwyg.plugins[format]) {
       // Load native external plugins.
