Bluefish 1.3.3 under OpenSolaris or Solaris Nevada

To speed things up Bluefish 1.3.3 has static inline functions. However, GCC thinks that the “inlineness” is defined twice:

bftextview2_scanner.c:257: error: duplicate `inline’
bftextview2_scanner.c:305: error: duplicate `inline’
bftextview2_scanner.c:339: error: duplicate `inline’
bftextview2_scanner.c:383: error: duplicate `inline’
bftextview2_scanner.c:432: error: duplicate `inline’
gmake[3]: *** [bftextview2_scanner.o] Error 1
gmake[3]: Leaving directory `/var/tmp/bluefish-unstable-1.3.3/src’
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/var/tmp/bluefish-unstable-1.3.3/src’
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/var/tmp/bluefish-unstable-1.3.3/src’
gmake: *** [all-recursive] Error 1

This is an excerpt from the source:

#ifdef __GNUC__
__inline__
#endif

static inline void paint_margin_line(BluefishTextView *btv,
GdkEventExpose * event,
gint w,gint height) {

To fix remove one of the inline definitions for all functions. For example, change from:

static inline void paint_margin_line(BluefishTextView *btv,
GdkEventExpose * event,
gint w,gint height) {

to

static void paint_margin_line(BluefishTextView *btv,
GdkEventExpose * event,
gint w,gint height) {

Also see the previous post (/archives/432) on Bluefish.

WordPress and TinyMCE

TinyMCE (platform independent web based Javascript HTML WYSIWYG editor) is developed by Moxiecode Systems AB.

Update wp-includes/js/tinymce with files from tinymce/jscripts/tiny_mce

3d party TinyMCE plugins can be downloaded from SourceForge and should be placed in wp-includes/js/tinymce/plugins

To activate plugins and/or tune TinyMCE edit wp-includes/js/tinymce/tiny_mce_config.php (do not forget to make a backup copy first).

To add/remove plugins change $plugins variable. By default (wp2.6) it’s set to:

$plugins = array( 'safari', 'inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress', 'media', 'fullscreen' , 'wpeditimage');

If you use full version of TinyMCE (e.g. downloaded from Moxiecode) instead of the bundled one, this string may look like (see Plugins reference):

$plugins = array( 'safari', 'inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress', 'media', 'fullscreen', 'advhr', 'advimage', 'advlink', 'emotions', 'inlinepopups', 'insertdatetime', 'layer', 'nonbreaking', 'pagebreak', 'preview', 'searchreplace', 'style', 'table', 'visualchars', 'xhtmlxtras' , 'wpeditimage');

To add buttons to 4 available rows modify corresponding variables $mce_buttons, $mce_buttons_2, $mce_buttons_3 and $mce_buttons_4 (see Control reference). For example:

$mce_buttons = apply_filters('mce_buttons', array('search', 'replace', 'bold', 'italic', 'strikethrough',  'underline', '|', 'bullist', 'numlist', 'blockquote', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', '|', 'link', 'unlink', 'image', 'wp_more', 'pagebreak',  'spellchecker', 'fullscreen', 'table', 'wp_adv' ));

$mce_buttons_2 = apply_filters('mce_buttons_2', array('formatselect', 'code', 'forecolor', '|', 'pastetext', 'pasteword', 'removeformat', '|', 'media', 'charmap', '|', 'outdent', 'indent', '|', 'undo', 'redo', 'wp_help', 'advhr', 'emotions', 'insertdate', 'inserttime', 'preview' ));

$mce_buttons_3 = apply_filters('mce_buttons_3', array('fontselect', 'fontsizeselect', 'fullpage'));

The result can be viewed in a browser:
/wp/wp-includes/js/tinymce/tiny_mce_config.php

Note: AdBlock Plus Firefox extension blocks the contents of the TinyMCE popups (you will see empty pop-up windows).  You might consider replacing ABP with Adblock or whitelisting your whole site.