1 ------------------------------------
2 MUI TextEditor MCC class - ChangeLog
3 ------------------------------------
5 $Id: ChangeLog,v 1.89 2006/01/17 22:31:23 damato Exp $
6 $Source: /cvsroot/texteditor-mcc/ChangeLog,v $
8 2006-01-17 Jens Langner <Jens.Langner@light-speed.de>
10 * mcp/locale: added russian catalog translation kindly created and
11 provided by Michael Malyshev
13 2005-12-09 Gunther Nikl <gni@gecko.de>
15 * mcp/private.h (FunctionName): Make "char *".
16 mcp/ObjectCreator.c (FunctionName): Adapt.
17 (PrefsObject): Use loops to initialize arrays.
19 #### v15.17 RELEASE ############################################################
21 2005-12-07 Jens Langner <Jens.Langner@light-speed.de>
23 * mcc/HandleInput.c,Methods.c: fixed the long-standing bug #1286500 where
24 TextEditor.mcc deleted/overwrote certain text passages if the mouse was
25 initially used to position the cursor within some text. This really was
26 a very old bug, very hard to reproduce and very annoying. But due to
27 the help of the reporter of that bug it was much more easier to identify
28 and eliminate. Thanks AlexC.
30 2005-08-16 Jens Langner <Jens.Langner@light-speed.de>
32 * mcc/Dispatcher.c: fixed a crash bug in the MUIM_Setup function where we did
33 forgot to initialize the font pointer if no explicit font was configured by
36 2005-08-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
38 * mcc/Makefile.mos: Added 'dump' rule to actually make some use of debug
39 binaries. Didn't change other makefiles (probably not interesting).
41 2005-08-08 Gunther Nikl <gni@gecko.de>
43 * mcc/ExportText.c, mcc/TextEditor-Test.c, ChangeLog: Fix typos.
45 2005-08-07 Jens Langner <Jens.Langner@light-speed.de>
47 * mcc: reverted ilkka's fix on VisualHeight() because it didn't catch all
48 cases which gave trouble on a hidden TextEditor object. Now all TextFit()
49 and TextLength() functions always use a temporary rastport for finding
50 out the text limits. In addition, some checks for data->rport and
51 data->shown were added to various functions such that a texteditor object
52 should not crash anymore if it is used in a hidden state (e.g. hidden in
55 2005-08-06 Jens Langner <Jens.Langner@light-speed.de>
57 * mcc/AllocFunctions.c: implemented new AllocLine/FreeLine functions where
58 certain operations during the allocation/memory freeing times can be
59 performed to ensure the consistency of certian other structures. In fact
60 by adding checks for the global blockinfo structure in FreeLine() a
61 crash bug is now fixed that occurred when having deleted some empty
62 lines at the end of a document.
63 * mcc/ExportHook.c,ExportText.c: fixed another bug in the undo/redo
64 processing where TextEditor.mcc did always strip the last newline char
65 of a line due to the bugfix of bug #1227680. Now the proper bugfix for
66 that bug is located in ExportText.c instead.
68 2005-08-03 Gunther Nikl <gni@gecko.de>
70 * mcp/CreatePrefsGroup.c/CreatePrefsGroup (editpopupdata): Move GetStr()
71 calls into a separate loop to save stackspace and to reduce programsize.
73 2005-08-02 Ilkka Lehtoranta <ilkleht@isoveli.org>
75 * mcc/Debug.c,mcc/Debug.h,mcp/Debug.c,mcp/Debug.h: Fixed KPutFmt() to use
76 VNewRawDoFmt() call in MorphOS for proper vararg handling.
77 * mcc/MixedFunctions.c: Added proper test for antialiased fonts in MorphOS.
78 * mcc/MixedFunctions.c: Fixed VisualHeight() to not call LineCharsWidth()
79 when object is not visible. Editor no longer crash in a hidden state when
82 #### v15.16 RELEASE ############################################################
84 2005-08-01 Jens Langner <Jens.Langner@light-speed.de>
86 * mcc/MixedFunctions.c: fixed a bug #1249673 in the SetCursor() function where
87 on use of a non antialiased font, the cursor background was not successfully
88 cleared and caused the cursor to leave graphical trails.
90 #### v15.15 RELEASE ############################################################
92 2005-07-31 Jens Langner <Jens.Langner@light-speed.de>
94 * mcc/ImportHook.c: fixed bug #1235375 that caused the EMail import hook not
95 to stop analyzing a string at the line end and caused e.g. single slashes in
96 a line to set text to italic if some other text on more lines contain a
98 * mcc/ExportHook.c: fixed bug #1235756 where the ExportHook always cleared out
99 the last character of an export operation instead of checking for the
100 particular newline character we wanted to clear. This had the effect that the
101 undo/redo operations of TextEditor was slightly broken and did always redo
102 one character less that the undo operation cutted.
103 * mcc/Dispatcher.c: fixed bug #1246944 where the use of MUIA_TextEditor_Columns
104 seemed to have caused crashes because the rastport was not completly ready
105 at the time the AskMinMax() method was called by MUI. Now we take the
106 nominal fontwidth size attribute tf_XSize instead of using TextLength(), so
107 that this function should now also hopefully match the column with a bit
110 2005-07-30 Jens Langner <Jens.Langner@light-speed.de>
112 * mcc/HandleInput.c,Dispatcher.c: added IDCMP_EXTENDEDMOUSE support to
113 catch the new wheelmouse events supported since intuition.library
115 * mcp/KeyStorage.c: changed the rawkey based wheelmouse name to carry
116 a "nm_" prefix so that it refers to newmouse based wheelmouse events
117 and doesn't conflict with the new wheelmouse events in AmigaOS4.
119 2005-07-25 Jens Langner <Jens.Langner@light-speed.de>
121 * mcc/ImportHook.c: fixed a minor bug in the ImportHook routines where
122 upon an import of bold/italic/underline via escape sequences always
123 terminating grow elements where inserted for all possible soft-types.
125 2005-07-14 Ilkka Lehtoranta <ilkleht@isoveli.org>
127 * mcc/TextEditor-Test.c: Request version 36 of rexxsyslib for AmigaOS
128 3.0/3.1 compatibility.
130 2005-07-07 Jens Langner <Jens.Langner@light-speed.de>
132 * mcc/library.c: added missing USEDCLASSESP define so that MUI knowns
133 which mcp class belongs to the mcc.
135 2005-07-05 Jens Langner <Jens.Langner@light-speed.de>
137 * mcc/MixedFunctions.c: fixed another possible signedness problem which
138 might have caused problem with characters > 127 and was found by Georg
141 2005-07-04 Ilkka Lehtoranta <ilkleht@isoveli.org>
143 * mcc/MixedFunctions.c: Antialias font detection didnt work in MorphOS
144 (there isn't FSF_ANTIALIAS flag) and cursor background was not cleared
145 accordingly. Rather assume font is always antialiased what is true in
148 #### v15.14 RELEASE ############################################################
150 2005-07-02 Jens Langner <Jens.Langner@light-speed.de>
152 * mcc/ImportHook.c: fixed bug #1229129 where the new "EMail" import hook
153 didn't correctly parse lines with typical email like highlight chars,
154 which in fact caused applications using this import to display some
155 hightligthed sections incorrect.
156 * mcc/Search.c: fixed bug #1231207 where the MUIM_TextEditor_Search method
157 was broken due to a changed datatype.
158 * mcc/HandleInput.c: fixed a bug where after having tripleclicked on an empty
159 line, another normal click on another line caused the empty line to stay
162 2005-07-02 Sebastian Bauer <mail@sebastianbauer.info>
164 * doc/MCC_TextEditor.doc: Described that for other import hooks than the
165 plain hook, escape sequences have to be supported as well, as some
166 progams have insisted on this former undocumented "feature".
168 2005-06-30 Jens Langner <Jens.Langner@light-speed.de>
170 * mcc/HandleInput.c: if the user tripleclicks on a character that is
171 a separating character the texteditor previously didn't allow to mark
172 the whole line. Now always the whole line is marked if the user
173 tripleclicks somewhere on a line.
174 * mcc/PrintLineWithStyles.c: fixed a minor bug in the text marking display
175 routines where on centered and right aligned lines not always the whole
176 line was correctly displayed as being marked. Now it should be fairly
177 better, however the current solution still doesn't cover all cases and
178 probably requires a rewrite in some day in future :)
180 2005-06-28 Jens Langner <Jens.Langner@light-speed.de>
182 * mcc/HandleInput.c: fixed bug #1229170 where due to a signedness problem
183 characters with a code >128 couldn't be typed in under OS3.
185 #### v15.13 RELEASE ############################################################
187 2005-06-26 Jens Langner <Jens.Langner@light-speed.de>
189 * mcc/PrintLineWithStyles.c: fixed a bug where we did also paint the
190 non printable newline characters at the end of each line. This caused
191 that with some fonts the newlines where printed with special glyphes.
192 * mcc/ExportHook.c: fixed bug #1227680 where the ExportText() method did
193 always export one line too much due to not clearing the last 0x0a, which
194 in fact is always articial.
195 * mcc/HandleInput.c, mcc/Methods.c, mcc/Navigation.c, misc: fixed another
196 bunch of problems with hard wrapped lines. There were still some problems
197 in correctly selecting a whole hard wrapped line by tripleclicking on it.
198 Now TextEditor.mcc should hopefully behave correct with hard wrapped lines
199 and display it as correct as it allows to select such lines.
200 * mcc/HandleInput.c, mcc/PrintLineWithStyle.c: on a doubleclick on a word
201 the editor always marked the block from zero which in fact was a bit
202 unintuitive and uncommon compared to other editors. Now if a user double-
203 clicks on a word that is e.g. centered only the word is marked.
204 In contrast, now also the whole line is drawed marked if the line is
207 2005-06-24 Gunther Nikl <gni@gecko.de>
209 * mcc/library.c: Only open V36 of layers.library, keymap.library and
211 * mcc/BlockOperators.c, mcc/EditorStuff.c, mcc/TextEditor-Test.c: Added
212 "#include <devices/clipboard.h>" for <libraries/iffparse.h>.
213 * mcc/Dispatcher.c, mcc/GetSetAttrs.c, mcc/HandleInput.c: Added
214 "#include <intuition/classes.h>" for INST_DATA #define.
215 * mcc/private.h: Cleanup #include statements.
216 * mcc/AllocBitMap.c: Free allocated bitmap on failure in non-V39 case.
217 Move version check into USE_OS3 #define.
218 (MUIG_AllocBitMap): Improved friend handling.
219 * mcc/AllocFunctions.c: Minor changes.
220 * mcc/BlockOperators.c, mcc/Dispatcher.c, mcc/EditorStuff.c, mcc/ExportHook.c,
221 mcc/ExportText.c, GetSetAttrs.c, mcc/HandleARexx.c, mcc/HandleInput.c,
222 mcc/ImportHook.c, mcc/ImportText.c, mcc/InitConfig.c, mcc/MixedFunctions.c,
223 mcc/PrintLineWithStyles.c, mcc/Search.c, mcc/SpellChecker.c,
224 mcc/StyleOperators.c: Cleanup #include statements.
225 * mcc/SpellChecker.c: Fixed WorkbenchControl() replacement for GCC 3.4.x
226 and newer (has to use stdarg.h macros!)
227 (CloneSearchPath, FreeSearchPath): Delete >=44 check since thats what
228 OpenLibrary() requests.
229 (SendRexx, SendCLI): Use LONG as return type.
230 (LookupWord, SuggestWord): Update to match SendRexx and SendCLI.
232 2005-06-18 Jens Langner <Jens.Langner@light-speed.de>
234 * mcc/Navigation.c: fixed a bug in the CursorOffset() function which cures
235 the problem with being unable to select the last character of a hard
236 wrapped line with the mouse.
238 2005-06-14 Jens Langner <Jens.Langner@light-speed.de>
240 * mcp/KeyStorage.c: improved the extended keycode recognition to also
241 recognize NUMLOCK and the newmouse wheel events as well as the
242 media keys. So now a user might more intuitively connect commands
243 to these extended keycodes as well.
245 2005-06-12 Jens Langner <Jens.Langner@light-speed.de>
247 * mcc/MixedFunctions.c: fixed bug #1215342 where on hard wrapped lines a
248 single character was missing at the end of the wrapped line.
249 * mcc/HandleInput.c: applied a patch from Gunther Nikl which removes the
250 forbidden floating point math in the wheelmouse scrolling code to due
251 our shared library nature.
252 * mcc/ImportHook.c: fixed the Plain ImportHook to also call AddGrow for
253 every style/color item found instead of combining them. This in fact fixes
254 problems with being unable to set text bold on text that was imported.
255 * mcc/TextFunctions.c: replaced own anyway slightly buggy TextLength/TextFit
256 functions with the OS's own TextLength/TextFit functions and adapted sources
259 2005-06-04 Jens Langner <Jens.Langner@light-speed.de>
261 * mcc/ImportHook.c: reworked the MIME/Email based ImportHook to properly
262 recognize the ESC sequences like the plain import hook does. This in fact
263 seems to be the same behaviour than the old 68k ASM based ImportHooks had.
264 Also improved the termination/recognition of the /,*,#,_ chars to make it
265 possible to set soft styles on a particular text. This should also fix
267 * mcp: added keycodes for the extended keys available in AmigaOS4/MorphOS for
268 example. Now keys like PAGE_UP/PAGE_DOWN are properly recognized by the
269 preference pane and more intuitively configurable.
271 2005-06-01 Jens Langner <Jens.Langner@light-speed.de>
273 * mcc/GetSetAttrs.c: if MUIA_Disabled is used on a TextEditor object, an
274 existing slider was not automatically disabled as well. bug #1212811
276 #### v15.12 RELEASE ############################################################
278 2005-05-28 Jens Langner <Jens.Langner@light-speed.de>
280 * mcp/CreatePrefsGroup.c: fixed a crash bug where the InsertHook() was
281 using the passed function parameters incorrectly.
282 * mcc: fixed bug #1187007 where upon using anti-aliased proportional fonts
283 caused the texteditor to not correctly clear the whole cursor areas and
284 therefore left some cursor "signs" back in the editor.
285 * mcc/Dispatcher.c, mcc/HandleInput.c: fixed bug #1178168 where upon switching
286 from another gadget to a texteditor object via the TAB key automatically
287 caused that a TAB key is inserted into the text.
288 * mcc/HandleInput.c: implemented wheel-mouse event recognition via the rawkey
289 based NEWMOUSE standard. Now, each TextEditor.mcc object should allow to
290 use an existing wheel-mouse to scroll text up/down. Previously each
291 application had to implement that on its own. However, for those apps
292 already having implemented it, nothing will change.
294 2005-05-25 Jens Langner <Jens.Langner@light-speed.de>
296 * library.c: added missing USE_UTILITYBASE define which in fact was the reason
297 why the last two previous releases crashed on OS3 machines. bug #1180094
299 #### v15.11 RELEASE ############################################################
301 2005-05-14 Jens Langner <Jens.Langner@light-speed.de>
303 * mcc/TextFunctions.c: with help of the new debugging scheme I was
304 finally able to find and fix the reason why under certain circumstances
305 a texteditor.mcc gadget could end up in an endless loop if used in write
306 mode. This should fix bug #1180094, #1181948.
307 * misc: after having finally found a reproduceable case for bug #1180094
308 and similar reports, I tight together a complete runtime debugging
309 system similar to the one in YAM. It should help in finding this and
310 other bugs more easily in future. This new debugging system will search
311 for an "texteditor.mcc.debug" ENV variable and does accept similar
312 variable content identifies like in YAM. E.g. to pull out all possible
313 debug information, compile with -DDEBUG (is the default) and set
314 the env variable to "@all all". However, please review the YAM
315 ChangeLog for a more detailed description on the debugging scheme.
317 2005-04-20 Sebastian Bauer <mail@sebastianbauer.info>
319 * mcc/Keybinings.c: The default keybindings array has to be
320 terminated with a -1. Problem found by Georg Steger.
322 2005-04-17 Sebastian Bauer <mail@sebastianbauer.info>
324 * mcc/Dispatcher.c: Don't add MBQ_MUI_MAXMAX when requesting maximal
325 dimension in MUIM_AskMinMax but assign MUI_MAXMAX instead.
327 2005-04-11 David Rey <tactica@users.sourceforge.net>
329 * doc/MCC_TextEditor.guide: general rework - fixed typos and grammar;
330 dropped the fancy V40+ formatting to make maintenance easier
331 (sorry Allan :o); put the old (<15.10) changes in a separate page;
332 documented the historic HD recovery... TODO: installation, arexx,
334 * mcp/CreatePrefsGroup.c: no longer highlights the LGPL tidbit (it
335 would be unreadable against a white background otherwise, which
336 would be quite common for a text editor :); fixed typos and grammar;
337 reformatted to be more readable; made the usage and arexx parts
338 match what the guide says; added the missing KILLLINE, TOUPPER &
339 TOLOWER ARexx commands; no longer refers the user to the AUI
340 Style Guide for documentation that belongs to local docs; fixed
341 wrong copyright attribution (copyright for the open source code
342 begins in 2005, not in 1997)
343 * mcc/rev.h, mcp/rev.h: changed copyright mark "(c)" to "(C)" for
344 being generally better accepted though still not legally binding
345 * doc/MCC_TextEditor.doc: likewise
347 2005-04-10 Jens Langner <Jens.Langner@light-speed.de>
349 * includes/mccheader.c: updated common MCC include file to reflect the
350 latest changes done in the nlist.mcc project.
351 * includes/mccclass_68k: replaced the assembler based OS4/68k stub by an
352 easier manageable C-based variant.
354 2005-04-10 Ilkka Lehtoranta <ilkleht@isoveli.org>
356 * mcc/library.c: Request rexxsyslib.library V36 (KS 3.1) instead of V38.
358 #### v15.10 RELEASE ############################################################
360 2005-04-09 Jens Langner <Jens.Langner@light-speed.de>
362 * all: last preparations for the 15.10 release. bumped version date and
365 2005-04-08 Ilkka Lehtoranta <ilkleht@isoveli.org>
367 * mcc/SpellChecker.c: Now compiles without OS4 headers too.
368 * mcc/TextEditor-Test.c: Fixed MorphOS build.
369 * includes/SDI_hook.h: Changed MorphOS hooks to use HookEntry stub.
371 2005-04-08 Sebastian Bauer <mail@sebastianbauer.info>
373 * TODO: Added two more entries (italic letter problem, tabs)
375 2005-04-08 Jens Langner <Jens.Langner@light-speed.de>
377 * mcp/CreatePrefsGroup.c: fixed incorrectly formatted about text.
378 * mcp: added missing ENTRY() calls to the Dispatchers which are required
379 by the MorphOS build. However, this required to put the Create/Delete
380 of our subclasses into Dispatcher.c, but now the mcp should hopefully
381 work on MorphOS as well.
383 2005-04-07 David Rey <tactica@users.sourceforge.net>
385 * doc/MCC_TextEditor.doc: fixed typos, corrected grammar, reformatted
386 to make it a bit more readable and adapted to the new state of
389 2005-04-07 Sebastian Bauer <mail@sebastianbauer.info>
391 * mcc/SpellChecker.c: Reimplemented the search path feature also
392 for systems not having a recent workbench.library. Code is mainly
393 untested but the core is taken from YAM with permission from
394 Jens Langner. So TextEditor-mcc is still LGPL ;)
395 Note that this code is not included within the OS4 compile so
396 this feature requires at least version 44 of workbench.library
397 here. But this is a tautology.
398 * mcc: No longer uses static hook declarations within functions,
399 because same code of a mcc can be executed by several tasks!
400 * doc/MCC_TextEditor.doc: Warn about unpredictable results of
401 forbidden placement of some escape sequences for the plain import
404 2005-04-06 Jens Langner <Jens.Langner@light-speed.de>
406 * mcc: fixed OS3 build as well and removed all remaining compiler
408 * mcc/Dispatcher.c: fixed recently broken OS4 build due to latest
411 2005-04-06 Ilkka Lehtoranta <ilkleht@isoveli.org>
413 * mcc: Removed compiler warnings for MorphOS build.
415 2005-04-06 Sebastian Bauer <mail@sebastianbauer.info>
417 * mcc/ImportHook.c: Changed behaviour of FindEOL() not to return NULL
418 if the text only consits of a 0 byte. This fixed bug #1177619.
420 2005-04-05 Sebastian Bauer <mail@sebastianbauer.info>
422 * mcc: Clipboard handling for copy/paste was totaly broken (don't
423 confuse clipboard.device with console.device ;) ). Now only one
424 pointer is used within the instance data for the clipboard io
426 * mcc: Reimplemented Workbench path search support when starting shell
427 commands (e.g. for the spell checkers). This however requires at
428 least version 44 of workbench.library (coming with OS3.5)
429 * mcc: Finished complete reimplementation of the import hooks. Because
430 the nature of a reimplementation, the behaviour of the new functions
431 might be different and even buggy. Exporting also works in the
434 2005-04-04 Jens Langner <Jens.Langner@light-speed.de>
436 * mcc/ImportText.c: fixed bug where an empty MUIA_TextEditor_Contents
437 string didn't clear the texteditor area.
438 * mcc: removed the last bunch of compiler warnings and made the
439 custom class compile with -DDEBUG disabled.
441 2005-04-01 Sebastian Bauer <mail@sebastianbauer.info>
443 * mcc: Now clears the area before the text near the cursor is
444 redrawn. Fixes bug #1172355 aka "anti alias bug". This is no
446 * mcc: Started to reimplement all of the import and export hooks
447 which were 68k asm before
449 2005-03-31 Sebastian Bauer <mail@sebastianbauer.info>
451 * mcc: Fixed buffer overflow which happened if the font name was
452 longer than 27 chars.
453 * all: Enforce amiga align for the keybinding structure because
454 this is exported to the settings file and has to be compatible
455 with the 68k version.
457 2005-03-31 Gunther Nikl <gni@gecko.de>
459 * all: Source cleanup and minor OS3 makefile changes.
461 2005-03-31 Jens Langner <Jens.Langner@light-speed.de>
463 * mcp: modified preferences sources to use flexcat to generate
464 the locale.c,h files out of the new TextEditor_mcp.cd and C_?.sd
465 files instead of having a static locale interface.
467 2005-03-31 David Rey <tactica@users.sourceforge.net>
469 * mcp/locale/TextEditor_mcp.cd: added
471 2005-03-28 Jens Langner <Jens.Langner@light-speed.de>
473 * initial LGPL release published at sf.net