Fixed typo from last commit.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94915 8089f293-4706-0410-a29e-feb5c42a2edf
Ignore both 0x2028 and 0x2029 because Windows replace them by %N so there is no roundtrip.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94916 8089f293-4706-0410-a29e-feb5c42a2edf
Always accept SSL certificate, fixing issue using https:// with iron.eiffel.com

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94917 8089f293-4706-0410-a29e-feb5c42a2edf
By default register https://iron.eiffel.com/.... and not the http version (not ssl)

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94918 8089f293-4706-0410-a29e-feb5c42a2edf
Removed useless invariant that `text' is not Void since it is attached by default.
Moved invariants involving `text' as postconditions of routines as they are more definitions of the behavior.
The benefit is that enabling invariants on large text manipulation is not so expensive anymore.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94919 8089f293-4706-0410-a29e-feb5c42a2edf
Relaxed all preconditions about the incoming buffer being big enough. This is not needed since we do resize the code internally. However made sure that the offset is non-negative. This simplifies the code of clients.
Added test showing that providing a smaller buffer that would violate the precondition before is ok now.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94920 8089f293-4706-0410-a29e-feb5c42a2edf
Reduced number of iterations when iterating over a large text as it is quite slow as we have to retrieve the whole text to properly compute positions.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94921 8089f293-4706-0410-a29e-feb5c42a2edf
Updated to latest schema.
Made sure EiffelBase is not in readonly mode.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94922 8089f293-4706-0410-a29e-feb5c42a2edf
Updated to latest schema revision.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94923 8089f293-4706-0410-a29e-feb5c42a2edf
* Fixed improper postconditions for `select_all', `selection_start' and `selection_end', and invalid invariant where the upper bound for positioning was incorrectly possibly greater than the length of the text which is not possible. It was from rev 1.9 in CVS and at the time it looks like selecting beyond the end of text (which is still doable) was not producing text_length as maximum caret position but it does now.

* Relaxed precondition of `selection_start' and `selection_end' since it is always ok to ask this even if there is no selection, in which case it is just the caret position.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94924 8089f293-4706-0410-a29e-feb5c42a2edf
Added name of widgets being tested in the window title used for testing.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94925 8089f293-4706-0410-a29e-feb5c42a2edf
* Optimized WEL_RICH_EDIT_BUFFER_SAVER so that we do not perform a conversion each time `write_buffer' is called. Instead we use a MANAGED_POINTER to store the data directly (no conversion, just a copy) and at the very end we convert using a WEL_STRING or a C_STRING depending if we are retrieving Unicode or not.
* Updated EV_RICH_TEXT_IMP so that it calls `text' before we release the stream.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94926 8089f293-4706-0410-a29e-feb5c42a2edf
* Avoided code duplication for descendants of {EV_TEXT_COMPONENT_IMP} with respect to most Win32 messages to get positions and text (select_region, set_selection, start_selection, end_selection, caret_position and set_caret_position) by introducing:
** a new `wel_text_item: POINTER' query. In most cases `wel_item' is the same as `wel_text_item' except in the case of the combo box and spin button.
** a new query `is_replacing_nl_by_crnl' which we can use to offset the Eiffel character or caret position by the number of extra %R added by Windows.

* The above changes let us fixed most of the autest#TEST_EV_TEXT where if the input contains Unicode characters beyond 65535 all our positioning was incorrect because there is no more correspondence between code units and character positions

* Renamed `internal_(set_)caret_position' to be `wel_(set)_caret_position' as this was always using the WEL position systems (starting at 0 and not 1).

* Relaxed the requirements for querying bounds of a selection, if there is no selection, the upper and lower bounds of the selection are the same and correspond to the caret position. 

* Updated WEL_RICH_EDIT to show the caret when calling `set_caret_position' as it is done in parent WEL_EDIT if `scroll_caret_at_selection' is set.

* Because querying text could be expensive and also because we do not always need the full text, we added {WEL_WINDOW}.text_substring which returns a WEL_STRING instance containing the first n-characters of the text. With this you can actually count the number of actual Unicode characters, or find the number of occurrences of a Unicode character without having to create a STRING_32.

* Added new WEL_TEXT_RANGE to retrieve a substring of a WEL_RICH_EDIT (used to implement new `text_substring' from WEL_WINDOW}.
* Various optimizations to use the WEL positioning when we need to save and restore some positions/selections in EV_RICH_TEXT_IMP.
* Optimized query to `selection' in EV_RICH_TEXT_IMP to reuse the same WEL_CHARACTER_RANGE object.
* Optimized query `text' in EV_RICH_TEXT_IMP to avoid using a WEL_RICH_EDIT_BUFFER_SAVER which is slower. Now we use our new `text_substring' from WEL_WINDOW which is about 3 times faster.



git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94927 8089f293-4706-0410-a29e-feb5c42a2edf
Removed explicit tuple creation.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94928 8089f293-4706-0410-a29e-feb5c42a2edf
Changed the description note clause tag value to use a verbatim string instead of a multi-line string that did not contain all expected whitespaces.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94929 8089f293-4706-0410-a29e-feb5c42a2edf
Forced all messages in the editor panel to be displayed as is, i.e. assuming that they do not use any special encoding (i.e. are in STRING_32/UTF-32).

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94930 8089f293-4706-0410-a29e-feb5c42a2edf
Changed iterator to process a complete local variable clause rather than just a list of local declarations.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94931 8089f293-4706-0410-a29e-feb5c42a2edf
Fixed a bug in `is_text_modified' that caused it to return a negation of the correct result.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94932 8089f293-4706-0410-a29e-feb5c42a2edf
Added messages for forthcoming automated fix functionality.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94933 8089f293-4706-0410-a29e-feb5c42a2edf
Added classes to map ITERABLE [G] to ITERABLE [H] on the fly by using a supplied mapping function.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@94934 8089f293-4706-0410-a29e-feb5c42a2edf