From: SourceForge.net <no...@so...> - 2012-05-15 17:52:13
|
Bugs item #3523766, was opened at 2012-05-05 06:59 Message generated for change (Comment added) made by k_satoda You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=3523766&group_id=588 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: Regressive (new to devel) Status: Open Resolution: Fixed Priority: 7 Private: No Submitted By: Kazutoshi Satoda (k_satoda) Assigned to: Jarek Czekalski (jarekczek) Summary: std:: in C++ remains unindented as a label Initial Comment: Reproduction recipe: 1. start jEdit -nosettings -noplugins . 2. set the mode of the Untitled-1 to c++. 3. type "void f() {" and Enter. -> The cursor position at the next line should be indented. 4. type "std:". -> The line should be unindented as a line with a label. 5. type another ":" and form "std::". -> The line should be indented as it was at step 3. It used to be working as described above, but with jEdit trunk r21630, step 5 fails and "std::" remains unindented as a label. This looks a regression caused by r21630 which introduced a condition where electricKeys (":" here) works, as a fix for bug #1936678. http://sourceforge.net/support/tracker.php?aid=1936678 ---------------------------------------------------------------------- >Comment By: Kazutoshi Satoda (k_satoda) Date: 2012-05-15 10:52 Message: I confirmed that jEdit.getProperty("buffer.electricKeysMode") is null in my recipe, and after pressing [OK] in the Editing options pane, it works and the property is "on". I wonder how the property of mine and yours become different under -nosettings. ---------------------------------------------------------------------- Comment By: Jarek Czekalski (jarekczek) Date: 2012-05-15 04:45 Message: I think I got it. You wrote "I verified" electric keys mode. Probably the property has invalid value. Once you accept the options it should go away. I must remember to provide a sane behaviour for incorrect property value. Currently it is "almost smart" :) to test: jEdit.getProperty("buffer.electricKeysMode") ---------------------------------------------------------------------- Comment By: Jarek Czekalski (jarekczek) Date: 2012-05-14 09:09 Message: Kazutoshi, please check once more. Electric keys "on" means that nothing blocks them. It has worked for me always. With r21670 I have proper indentation of std:: in both "on" and "smart" modes. I just checked on Windows. On Linux I tested it dozen times. This is my test file: void f() { std: When I add ":" at the end, std moves one indentation unit to the right. In status bar c++ is stated. ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2012-05-14 07:18 Message: I tried trunk r21670 and saw the same problem. I verified that the electric keys mode are shown as "on" for c++ mode in Editing options pane. ---------------------------------------------------------------------- Comment By: Jarek Czekalski (jarekczek) Date: 2012-05-05 13:27 Message: The problem is solved with r21634 as the 'smart' electric keys are off by default. The default is 'on' which is the old behaviour. I think 'smart' mode may be good for other languages. And I don't think the case with std:: happens very frequently. I have another idea of electric keys solution, but will make a separate ticket for that, #3523811. https://sourceforge.net/tracker/?func=detail&aid=3523811&group_id=588&atid=350588 While running the old mailings I also found Kazutoshi's "malicious" example :) http://jedit.9.n6.nabble.com/Indenting-after-electric-char-tp1820894.html ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=3523766&group_id=588 |