nsf

Clone Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* Backport of nsf to handle partial implicit deletes

- Altered Nsf_NextHashEntry() to re-init hSrchPtr when the number of expected entries differs from the number of real entries. This fixes a bug that Michael Aram detected, that happens when multiple hash buckets exist, but on deletion of an hash entries triggers some other deleted from the same hash table. - extended regression test.

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- added profile support for nsf::proc

- Added a first version of an xowiki renderer - Reworked the renderer infrastructure to allow for refining templates between renderers (e.g., xowiki-like links in the yuidoc theme etc.) introduces - Templates can now also be defined, stored, and maintained through Tcl scripts (rather than separate template files only). - Clarified the concepts of theme/layout/renderer etc. Major cleanup. - yuidoc: Fixed an issue with setting filter css classes while no filter checkboxes are available.

    • -0
    • +102
    /library/lib/doc-assets/@project.html.asciidoc
    • -0
    • +16
    /library/lib/doc-assets/@project.html.yuidoc
    • -0
    • +53
    /library/lib/doc-assets/body.html.yuidoc
    • -214
    • +213
    /library/lib/doc-tools.tcl
- The fix of yesterdays subst reference counting bug triggered an other problem: If the last arg was "args", the flags array for checking the need for decr of refcounts was not extended. There are multiple possible fixes, i have just extended the flags array for now as well. - When profiling is activated, perform now a more sane shutdown order, all hash tables are now correctly freed. - Improve behavior, when object system creation fails - Drop function NsfProfilePrint()

- nx.tcl: provide caching for computed values of object slots to make method objectparameter nearly twice as fast; direct changes on slots require a reconfigure call. - nsf.c: removed SUBST from shadow commands (does not appear to be necessary any more) - nsf.c: fixing a memory leak (some substituted values were not freed correctly) - nsf.c: fix potential crash for epoched cmds - some minor updates for profiling support

- nx.tcl: provide caching for computed values of object slots to make method objectparameter nearly twice as fast; direct changes on slots require a reconfigure call.

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- nsfStack.c: provide hook to obtain callers information in profiling code

- provide low-level commands for managing profile data

- nsf.c: provide low-level commands for managing profile data

- serializer: fixed a problem with object level alias

Adding buffer-local emacs settings to the *.c files

Removed noinit from the filter list

- Reactivated and extended the filtering support around the yuidoc theme. One can now filter according to various entity states (deprecated, missing, mismatch, protected, ...) - filter.html.yuidoc: Refactored the checkbox battery into a proper template. - Fixed some typos in templates - library/lib/doc-assets/yuidoc/ac-js: Refined the checkbox/visibility mechanism to honour defaultChecked states of checkboxes. - library/lib/doc-assets/yuidoc/api.css: checkbox/visibility selectors are now based on composite class selectors. - Removed @modifier and related selection statements throughout the code. Background: The call-protection state is inferred during verification, so there is no need to actually declare a method protected. Also, filtering in the templates breaks orthogonality when it comes to rendering doc entities at various spots (leftbar, ...). Method filtering can be applied during the initial processing step or visually in the final output. - Added print names for per-object methods

    • -0
    • +10
    /library/lib/doc-assets/filter.html.yuidoc
    • -14
    • +19
    /library/lib/doc-assets/yuidoc/ac-js
    • -6
    • +15
    /library/lib/doc-assets/yuidoc/api.css
- @class.html.yuidoc: Printing class-scope validation messages. - @object.html.yuidoc: Printing object-scope validation messages. - @method.html.yuidoc: Flattening list structure of validation messages when printed. - Revised and fixed status propagation - Fixed an issue when verifying forwarders/aliases which do not carry any verifiable parameter specifications. Also, I had forgotten to collect paramtersyntax docstrings for forwarders. Addresses an issue reported by Gustaf Neumann trying to make appear the proper paramsyntax of the Object->class() forwarder. - statusmark resolution is now aware of @use chains

- Simplified the render()/include() mechanism: I provide for some context-aware auto-completion of template specifics (name, format, theme). This avoids declaring template specifics redundantly. - For this purpose, renamed some of the templates to reflect their doc entity names: @object -> @object.html.asciidoc|yuidoc. - Theme-specific assets are now stored in a subdir of doc-assets/, named after the theme: doc-assets/yuidoc, doc-assets/asciidoc. - Adding the asciidoc assets subdir, including the asciidoc css - Renamed the theme "tmpl" to "yuidoc": This required to change the corresponding template extensions (*.tmpl -> *.yuidoc) and the include()/render() statements throughout the templates. - Removed the unneeded source.html.tmpl

    • -0
    • +106
    /library/lib/doc-assets/@class.html.asciidoc
    • -0
    • +236
    /library/lib/doc-assets/@class.html.yuidoc
    • -0
    • +62
    /library/lib/doc-assets/@command.html.asciidoc
    • -0
    • +117
    /library/lib/doc-assets/@command.html.yuidoc
    • -0
    • +30
    /library/lib/doc-assets/@method.html.asciidoc
    • -0
    • +83
    /library/lib/doc-assets/@method.html.yuidoc
    • -0
    • +20
    /library/lib/doc-assets/@object.html.asciidoc
    • -0
    • +101
    /library/lib/doc-assets/@object.html.yuidoc
    • -0
    • +45
    /library/lib/doc-assets/@package.html.asciidoc
    • -0
    • +75
    /library/lib/doc-assets/@package.html.yuidoc
    • -0
    • +388
    /library/lib/doc-assets/asciidoc/xhtml11.css
  1. … 38 more files in changeset.
- added gentstubs built with 8.5.9

- reanimated NSF_PROFILE

- updated documentation

    • -1142
    • +1211
    /doc/object-parameter.graffle
- nsf::relation: fixed error message when receiving and invalid class for relation type "class"

- update slot uml diagram - fixed incorrect (unwanted) call to unknown that caused creation of objects names __unknown when classes could not be resolved

- updated slot graphics

- added experimental flag WITH_IMPORT_REFS to deactivate automated alias deletion (seems, that this solves all issues we had before) - added flushing of bytecode on alias registration - added regression test

- added flag to AliasGet() to leave optional error message if alias data is removed - some cleanup in NsfProcAliasMethod(): handle not existing alias data, more careful refcounting

- added regression test

- use NsfCommandPreserve/NsfCommandRelease for tcd->aliasCmd as well. In case of epoched cmdPointers, refetch the cmd and it client data.

- nsf.c: changed handling of cmdPtrs in callstack content. * we use now explicit reference counting using NsfCommandPreserve/NsfCommandRelease * as a consequence, we do not need the following functions Nsf_DeleteCommandFromToken() and CallStackClearCmdReferences() any more. * the flag NSF_CSC_OBJECT_ACTIVATED is not needed anymore and was removed

- removed a small memory leak when a destroy method of an object o

deletes its grandparents namespace, containing also this class of o

(and its methods). Significantly eased by the change above.

- changed test in backport to use hashtablePtr->numEntries instead of pointer check