aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-08-23Fix missing comma in code exampleRaimo Niskanen
Courtesy of William B. Morgan at Bigpoint Inc.
2011-08-19Merge branch 'hb/correction_zip_open/OTP-9472' into devHans Bolinder
* hb/correction_zip_open/OTP-9472: Fix a bug in zip:zip_open/1,2.
2011-08-18Fix incorrect order of pseudo variables in yecc examplegarrett
The example is for converting from infix to prefix. This change uses to correct ordering of the triplet.
2011-08-18[IC] Changed version, added release note and updated license headers.Niclas Eklund
2011-08-18Fix a bug in zip:zip_open/1,2.Hans Bolinder
zip:zip_open/1,2 did not accept binary archives. Also corrected the contracts of t/1 and tt/1.
2011-08-18debugger: By default, only save non-tail-recursive callsBjörn Gustavsson
By default, the debugger use to save all calls on its simulated stack. That could facilitate finding errors, but it could also mean that the Debugger could become very slow while executing tail-recursive code.
2011-08-18debugger: Add line_number_SUITEBjörn Gustavsson
2011-08-18debugger: Include line numbers in exceptionsBjörn Gustavsson
2011-08-18Update examples in the documentation to include line numbersBjörn Gustavsson
2011-08-18Update documentation for erlang:raise/3 and erlang:get_stacktrace/0Björn Gustavsson
2011-08-18beam_lib: Retain the "Line" chunk when stripping BEAM filesBjörn Gustavsson
2011-08-18erl: Add +L to suppress loading of line number informationBjörn Gustavsson
2011-08-18compiler: Add no_line_info for suppressing line/1 instructionsBjörn Gustavsson
Also update the r12 and r13 options so that they imply no_line_info.
2011-08-18exception_SUITE: Test line numbers in exceptionsBjörn Gustavsson
2011-08-18common_test: Use line numbers in exceptionsBjörn Gustavsson
Remove the old kludgy parse transformations and line numbers macros in common_test and test_server, and use the line numbers in exceptions instead.
2011-08-18common_test tests: Don't do detailed testing of the stack backtraceBjörn Gustavsson
The exact layout of the stack backtrace is an implementation detail that may be changed at any time.
2011-08-18test_server: Refactor init_per_testcase/3 into two functionsBjörn Gustavsson
2011-08-18Implement process_info(Pid, current_{location,stacktrace})Björn Gustavsson
2011-08-18Merge branch 'hb/correction_of_zip_contracts/OTP-9471' into devHans Bolinder
* hb/correction_of_zip_contracts/OTP-9471: Correct contracts in the zip module
2011-08-18Merge branch 'hb/et/remove_dialyzer_warnings/OTP-9470' into devHans Bolinder
* hb/et/remove_dialyzer_warnings/OTP-9470: Remove Dialyzer warnings
2011-08-17Correct contracts in the zip moduleHans Bolinder
The contracts of zip:zip_list_dir/1 and zip:zip_get/2 have been corrected.
2011-08-17Merge branch 'ia/odbc/skip-tests-because-of-driver-issues' into devIngela Anderton Andin
* ia/odbc/skip-tests-because-of-driver-issues: Skip test if not applicable
2011-08-17Remove Dialyzer warningsHans Bolinder
2011-08-17Allow @enum when AVP is defined in an inherited dictionary.Anders Svensson
3GPP standards (for one) extend the values allowed for RFC 3588 AVP's of type Enumerated. Previously, extending an AVP was only possible by completely redefining the AVP.
2011-08-17@id required in dictionary files only when @messages is specified.Anders Svensson
@id defines an application identifier and this is used only when sending or receiving messages. A dictionary can define only AVP's however, to be included by other dictionaries using @inherits, in which case it makes no sense to require @id. Note that message definitions are not inherited with @inherits, only AVP's
2011-08-17Fix dialyzer warning on default clause for binary comprehensionIvan Dubrov
Fixed dialyzer warning occuring on binary comprehension of form "<< <<>> || {A, B} <- [{a, b}] >>" caused by default clause inserted by compiler. Since this clause is different from the case of list comprehension, dialyzer fails to suppress that warning.
2011-08-17ic: Fix typo, #ifudef -> #ifndefHaitao Li
2011-08-16Merge remote branch 'upstream/dev' into devAnders Svensson
2011-08-16Merge branch 'kj/eunit-surefire-fixes' into devHenrik Nord
* kj/eunit-surefire-fixes: Generate separate surefire XMLs for each test suite OTP-9465
2011-08-16Merge branch 'cr/trivia' into devHenrik Nord
* cr/trivia: replace "a ssl" with "an ssl" reindent pkix_path_validation/3 Trivial documentation fixes OTP-9464
2011-08-16beam_emu: Factor out saving of stack trace from save_stacktrace()Björn Gustavsson
Put the actual saving of the continuation pointers on the stack in the new function erts_save_stacktrace() so that it can be reused. The code is too tricky and complicated to allow it to become duplicated.
2011-08-16compiler: Don't create filenames starting with "./"Björn Gustavsson
In the location information tables in the run-time system, source filenames that are the same as the module name plus ".erl" extension are not stored explicitly, thus saving memory. To take advantage of that optimization, avoid complicating the names of files in the current working directory; specifically, make sure that "./" is not prepended to the name.
2011-08-16Merge branch 'rc/edoc-minor' into devHenrik Nord
* rc/edoc-minor: forgot to ensure that xmerl is found in path for include_lib to work fix -spec declaration that doesn't work in R13B04 eliminate warnings about unused imports removed CVS-keywords from source files synchronized with edoc development version OTP-9463
2011-08-16Merge branch 'hb/stdlib/contract_correction/OTP-9450' into devHans Bolinder
* hb/stdlib/contract_correction/OTP-9450: Correct the contract of timer:now_diff/2
2011-08-16ops.tab: Remove line instructions before tail-recursive callsBjörn Gustavsson
2011-08-16Lookup and include filenames and line numbers in exceptionsBjörn Gustavsson
2011-08-16Fix decrement of continuation pointersBjörn Gustavsson
2011-08-16Refactor building of the exception stacktraceBjörn Gustavsson
As a preparation for providing information about the source location for an MFA item in an exception stacktrace, refactor the code that builds the exception stacktrace. Basically we need two passes over the saved continuation counters: a first pass to calculate the needed heap space and a second pass to actually build the stacktrace.
2011-08-16BEAM loader: Load the line tableBjörn Gustavsson
2011-08-16emulator: Add a fourth element in exception stacktracesBjörn Gustavsson
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
2011-08-16Include location information for line instructions in BEAM filesBjörn Gustavsson
2011-08-16compiler: Generate line instructionsBjörn Gustavsson
2011-08-16compiler, emulator: Introduce the line/1 instructionBjörn Gustavsson
Introduce the line/1 instruction in the compiler and the BEAM virtual machine. It will not yet be generated by the compiler and will not actually carry any information.
2011-08-16v3_kernel: Make sure that line number annotations are passed throughBjörn Gustavsson
2011-08-16v3_core: Annotate exception-generating clauses with line numbersBjörn Gustavsson
2011-08-16Remove support for very old BEAM filesBjörn Gustavsson
Since the run-time system cannot load those BEAM files, it was not possible to debug them anyway.
2011-08-16Don't include tail-recursive calls in stacktracesBjörn Gustavsson
The stacktrace in debugger-generated exceptions should be as similar to stacktraces in BEAM-generated exceptions as possible.
2011-08-16Fix the no_tail optionBjörn Gustavsson
The 'no_tail' option was broken and would work almost as the 'all' option, because it would use #ieval.top (formerly known as #ieval.last_call) as the basis for its decision to push or not. Fix it by including a boolean in each call/apply instruction indicating whether the call is tail-recursive and pass that boolean to the dbg_istk:push() function.
2011-08-16dbg_ieval: Properly handle exceptions when binary construction failsBjörn Gustavsson
An exception from eval_bits:expr_grp/5 (for constructing binaries) was not caught and handled by exception/4; thus exit_info and and stacktrace for the process was not set.
2011-08-16Fix binary matching in the debuggerBjörn Gustavsson
'eval_bits' is a common utility module used for evaluting binary construction and matching. The functions that do matching (match_bits/{6,7} and bin_gen/6) are supposed to treat the bindings as an abstract data type, but they assume that the bindings have the same representation as in the erl_eval module. That may cause binary matching to fail in the debugger, because the debugger represents the bindings as an unordered list of two-tuples, while the erl_eval modules uses an ordered list of two-tuple (an ordset). One way to fix the problem would be to let the debugger to use ordered lists to represent the bindings. Unfortunately, that would also change how the bindings are presented in the user interface. Currently, the variable have most been recently assigned is shown first, which is convenient. Fix the matching problem by mending the leaky abstraction in eval_bits. The matching functions needs to be passed two additional operations: one for looking up a variable in the bindings and one for adding a binding. Those operations could be passed as two more funs (in addition to the evaluation and match fun already passed), but the functions already have too many arguments. Therefore, change the meaning of the match fun, so that the first argument is the operation to perform ('match', 'binding', or 'add_binding') and second argument is a tuple with arguments for the operation.