forked from SWI-Prolog/swipl-devel
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Catchup douglas #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SICStus and handle zero-argument compounds.
Corrected a missing argument in the `format/3` string
causes a permission error.
… the head. as these harm notably the source level debugger experience.
…iable in `\+/1` or `;/2`.
…rong declaration for '$moded_wrap_tabled'/5 (was /4).
quote any non-ascii character. Escaped characters are written as ``\x<hex>\``.
… escape for quoted write.
we can host more than 32.
…onal while it was conditional before.
re-evaluation to be able to detect that a previously conditional answer became unconditional after reevaluation. This also implies we no longer need the save/restore related to exception handling.
…or WFS to work properly.
this table is part of the dependency graph.
effect of the discontiguous/1 directive.
This is the first of two commits that applies a refactor across the entire SWI-Prolog codebase, changing the syntax of passing LD from one function to another in internal library code. More details on the refactor are in the following commit, but since this touches so much code and to avoid having to manually verify a 20,000+ line diff, the bulk of the changes in this commit are automated by a Perl script, saved here (for this commit only) as src/ld-refactor.perl, with the output of the run saved in src/ld-refactor.out. This way, the script itself can be audited for correctness, and only the special cases in the following commit need to be checked manually.
This is the second of two commits that applies a refactor across the entire SWI-Prolog codebase, changing the syntax of passing LD from one function to another in internal library code. The bulk of the changes in this refactor were automated via Perl script in the previous commit; see that commit message for more details on that. Previously, functions that wanted to access LD (the local data structure) could either use the GLOBAL_LD macro, declare the GET_LD/PRED_LD macros early in the function, or declare ARG_LD/ARG1_LD somewhere in the function parameter list. Calling these functions required either declaring a macro (usually in pl-ldpass.h) that would add the LD argument to any call to the function, or adding a PASS_LD/PASS_LD1 annotation to each callsite. The new style revolves around a new macro called LDFUNC, defined in src/pl-builtin.h; see that file for details on its use. PASS_LD and its variants are no longer required at callsites; all LDFUNC-augmented functions have macro definitions that add the necessary arguments to the function call. Additionally, name-mangling is performed on function names, so it is no longer required to add `__LD` to a function name to keep it from colliding with externally-visible API functions. This commit also adds the API_STUB macro, which ensures that API function definitions do *not* have their names mangled, along with including a GET_LD declaration automatically. For more information, see the following post: https://swi-prolog.discourse.group/t/changes-to-ld-handling-in-library-code/4067
after nb_delete/1 or after exception/3 called by nb_current/2 with a given variable name failed to define the variable.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.