mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-23 14:42:29 +01:00
updated NEWS and ChangeLogs about new proplist code in WINGs before a new release
This commit is contained in:
@@ -25,7 +25,8 @@ Changes since version 0.65.1:
|
|||||||
compatibility header file is provided which maps old libPropList
|
compatibility header file is provided which maps old libPropList
|
||||||
function names to the new WINGs based proplist names allowing old code
|
function names to the new WINGs based proplist names allowing old code
|
||||||
to be linked to WINGs with minimal changes. For details on how to use
|
to be linked to WINGs with minimal changes. For details on how to use
|
||||||
the compat mode, read the comments on the top of WINGs/proplist-compat.h
|
the compat mode, read the comments on top of WINGs/WINGs/proplist-compat.h
|
||||||
|
More details about this can be found in WINGs/ChangeLog and WINGs/NEWS.
|
||||||
Say bye, bye libPropList =)
|
Say bye, bye libPropList =)
|
||||||
- rewrote all Window Maker code to use the new WINGs based proplist functions.
|
- rewrote all Window Maker code to use the new WINGs based proplist functions.
|
||||||
- fixed a few compilation warnings and a problem caused by an uninitialized
|
- fixed a few compilation warnings and a problem caused by an uninitialized
|
||||||
|
|||||||
8
NEWS
8
NEWS
@@ -18,8 +18,12 @@ Less dependancies
|
|||||||
|
|
||||||
starting with 0.70.0 libPropList is no longer required to build Window
|
starting with 0.70.0 libPropList is no longer required to build Window
|
||||||
Maker. PropList handling code was added to WINGs being now better
|
Maker. PropList handling code was added to WINGs being now better
|
||||||
integrated with all the rest. For more details check the Changelog
|
integrated with all the rest. For more details check the Changelog and the
|
||||||
./WINGs/NEWS, ./WINGs/WINGs/WUtil.h and ./WINGs/WINGs/proplist-compat.h
|
following files:
|
||||||
|
./WINGs/ChangeLog
|
||||||
|
./WINGs/NEWS
|
||||||
|
./WINGs/WINGs/WUtil.h
|
||||||
|
./WINGs/WINGs/proplist-compat.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ Changes since wmaker 0.65.0:
|
|||||||
- added property list handling code making libPropList unnecessary and
|
- added property list handling code making libPropList unnecessary and
|
||||||
obsolete. Backward compatibility is provided through the
|
obsolete. Backward compatibility is provided through the
|
||||||
WINGs/proplist-compat.h header file which has #defines from old libPropList
|
WINGs/proplist-compat.h header file which has #defines from old libPropList
|
||||||
function names to new function names with minimal changes.
|
function names to new function names with minimal changes. Read this
|
||||||
|
header file and the NEWS file for more details about this subject.
|
||||||
- Renamed WMGetUDAllKeys() to WMGetUDKeys()
|
- Renamed WMGetUDAllKeys() to WMGetUDKeys()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
50
WINGs/NEWS
50
WINGs/NEWS
@@ -6,15 +6,49 @@ Property lists handling code
|
|||||||
|
|
||||||
Code to handle property lists was added to WINGs. It is more robust
|
Code to handle property lists was added to WINGs. It is more robust
|
||||||
than the libPropList code, mostly because some conflicting concepts
|
than the libPropList code, mostly because some conflicting concepts
|
||||||
borrowed from UserDefaults (which libPropList uses) are no longer used in
|
borrowed from UserDefaults (which libPropList use) are no longer used in
|
||||||
the property lists code.
|
the WINGs property lists code. These borrowed concepts conflicted with the
|
||||||
It is also better integrated with the other data types from WINGs.
|
retain/release mechanism of property lists and could lead in certain cases
|
||||||
|
to segmentation faults when executing libPropList based code. But the worse
|
||||||
|
part was that these libPropList problems were practically unsolvable without
|
||||||
|
removing one of those conflicting concepts and without a complete redesign.
|
||||||
|
The new WINGs property lists code is also better integrated with the other
|
||||||
|
data types from WINGs and is actively maintained.
|
||||||
|
|
||||||
Old libPropList based code can still run with the new WINGs proplist
|
Practically the things that were removed from the WINGs property list
|
||||||
code with minimal changes which are described in detail in the comments
|
implementation compared to the old libPropList implementation, are exactly
|
||||||
at the top of the WINGs/proplist-compat.h header file (the same file
|
the UserDefaults borrowed concepts that conflict with the retain/release
|
||||||
carries the #defines for mapping old libPropList functions to the new
|
mechanism:
|
||||||
WINGs proplist functions).
|
- The container of a proplist object and the associated functions are gone.
|
||||||
|
- The filename associated with a proplist object and the corresponding
|
||||||
|
functions are gone. Now the saving function needs the filename as a
|
||||||
|
parameter.
|
||||||
|
- The synchronization functions are no longer supported. They are part of
|
||||||
|
the UserDefaults and are implemented there.
|
||||||
|
- No functions related to domains/registering were implemented in the WINGs
|
||||||
|
property lists code, because they are also not part of property lists.
|
||||||
|
They are more in connection with UserDefaults and a central point of access
|
||||||
|
for domains.
|
||||||
|
|
||||||
|
The above 2 concepts: container and filename were added to libPropList just
|
||||||
|
to let it support synchronization which was borrowed from UserDefaults.
|
||||||
|
Property lists as defined in the openstep specification are just complex
|
||||||
|
data structures composed of strings, data, arrays, dictionaries and a mix of
|
||||||
|
them and are not associated with any file in particular. UserDefaults on the
|
||||||
|
other hand are property lists read from a specific file and they associate
|
||||||
|
that property list with that file and allow them to be synchronized.
|
||||||
|
|
||||||
|
Old libPropList based code can still be used by linking against the WINGs
|
||||||
|
library containing the new proplist code with minimal changes which are
|
||||||
|
described in detail in the comments at the top of the WINGs/proplist-compat.h
|
||||||
|
header file (the same file carries the #defines for mapping old libPropList
|
||||||
|
functions to the new WINGs proplist functions).
|
||||||
|
Our recommendation is to move to the new functions WINGs provide because
|
||||||
|
they better integrate with other function naming conventions in WINGs.
|
||||||
|
The proplist-compat.h header file is just a way to have old code up and
|
||||||
|
running with minimal changes so that we can remove the old and unmaintained
|
||||||
|
libPropList from systems while keeping to use old libPropList based code
|
||||||
|
without rewriting it and it should not be used for other purposes.
|
||||||
|
|
||||||
|
|
||||||
*** Sat Apr 21 09:12:09 EEST 2001 -Dan
|
*** Sat Apr 21 09:12:09 EEST 2001 -Dan
|
||||||
|
|||||||
@@ -805,7 +805,7 @@ WMPropList* WMGetFromPLDictionary(WMPropList *plist, WMPropList *key);
|
|||||||
|
|
||||||
/* Returns a PropList array with all the dictionary keys. Release it when
|
/* Returns a PropList array with all the dictionary keys. Release it when
|
||||||
* you're done. Keys in array are retained from the original dictionary
|
* you're done. Keys in array are retained from the original dictionary
|
||||||
* not copied */
|
* not copied and need NOT to be released individually. */
|
||||||
WMPropList* WMGetPLDictionaryKeys(WMPropList *plist);
|
WMPropList* WMGetPLDictionaryKeys(WMPropList *plist);
|
||||||
|
|
||||||
/* Creates only the first level deep object. All the elements inside are
|
/* Creates only the first level deep object. All the elements inside are
|
||||||
@@ -817,7 +817,7 @@ WMPropList* WMDeepCopyPropList(WMPropList *plist);
|
|||||||
|
|
||||||
WMPropList* WMCreatePropListFromDescription(char *desc);
|
WMPropList* WMCreatePropListFromDescription(char *desc);
|
||||||
|
|
||||||
/* Free the returned string when you're done */
|
/* Free the returned string when you no longer need it */
|
||||||
char* WMGetPropListDescription(WMPropList *plist, Bool indented);
|
char* WMGetPropListDescription(WMPropList *plist, Bool indented);
|
||||||
|
|
||||||
WMPropList* WMReadPropListFromFile(char *file);
|
WMPropList* WMReadPropListFromFile(char *file);
|
||||||
|
|||||||
@@ -61,6 +61,16 @@
|
|||||||
|
|
||||||
typedef WMPropList* proplist_t;
|
typedef WMPropList* proplist_t;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef YES
|
||||||
|
#define YES True
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NO
|
||||||
|
#define NO False
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define PLSetCaseSensitive(c) WMPLSetCaseSensitive(c)
|
#define PLSetCaseSensitive(c) WMPLSetCaseSensitive(c)
|
||||||
|
|
||||||
#define PLMakeString(bytes) WMCreatePLString(bytes)
|
#define PLMakeString(bytes) WMCreatePLString(bytes)
|
||||||
@@ -108,22 +118,21 @@ typedef WMPropList* proplist_t;
|
|||||||
#define PLSave(pl, file, atm) WMWritePropListToFile(pl, file, atm)
|
#define PLSave(pl, file, atm) WMWritePropListToFile(pl, file, atm)
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
/* Unsupported functions. Do not ask for them. They're evil :P */
|
||||||
#define PLSetStringCmpHook(fn)
|
#define PLSetStringCmpHook(fn) error_PLSetStringCmpHook_is_not_supported
|
||||||
#define PLDeepSynchronize(pl) PLDeepSynchronize_is_not_supported
|
#define PLDeepSynchronize(pl) error_PLDeepSynchronize_is_not_supported
|
||||||
#define PLSynchronize(pl) PLSynchronize_is_not_supported
|
#define PLSynchronize(pl) error_PLSynchronize_is_not_supported
|
||||||
#define PLShallowSynchronize(pl) error_PLShallowSynchronize_is_not_supported
|
#define PLShallowSynchronize(pl) error_PLShallowSynchronize_is_not_supported
|
||||||
#define PLSetFilename(pl, filename) error_PLSetFilename_is_not_supported
|
#define PLSetFilename(pl, filename) error_PLSetFilename_is_not_supported
|
||||||
#define PLGetFilename(pl, filename) error_PLGetFilename_is_not_supported
|
#define PLGetFilename(pl, filename) error_PLGetFilename_is_not_supported
|
||||||
#define PLGetContainer(pl)
|
#define PLGetContainer(pl) error_PLGetContainer_is_not_supported
|
||||||
|
|
||||||
#define PLGetDomainNames()
|
#define PLGetDomainNames error_PLGetDomainNames_is_not_supported
|
||||||
#define PLGetDomain(name)
|
#define PLGetDomain(name) error_PLGetDomain_is_not_supported
|
||||||
#define PLSetDomain(name, value, kickme)
|
#define PLSetDomain(name, value, kickme) error_PLSetDomain_is_not_supported
|
||||||
#define PLDeleteDomain(name, kickme)
|
#define PLDeleteDomain(name, kickme) error_PLDeleteDomain_is_not_supported
|
||||||
#define PLRegister(name, callback)
|
#define PLRegister(name, callback) error_PLRegister_is_not_supported
|
||||||
#define PLUnregister(name)
|
#define PLUnregister(name) error_PLUnregister_is_not_supported
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Makefile Makefile.in
|
Makefile Makefile.in
|
||||||
config.h config.h.in wconfig.h stamp-h stamp-h.in
|
config.h config.h.in wconfig.h stamp-h stamp-h1 stamp-h.in
|
||||||
.libs
|
.libs
|
||||||
wmaker
|
wmaker
|
||||||
.psrc .inslog2 tca.map tca.log
|
.psrc .inslog2 tca.map tca.log
|
||||||
|
|||||||
Reference in New Issue
Block a user