# HG changeset patch # User John W. Eaton # Date 1392709908 18000 # Node ID 8473198fd005a7d538dd0c9cb9c29f28cf62f427 # Parent 16b0cd465ecd4751e27bbd2ed643c2287d7cdbec# Parent ca65b05b9a8afdc4f5250bd75a222ce5bc0726cc maint: Periodic merge of gui-release to default. diff -r 16b0cd465ecd -r 8473198fd005 .hgtags --- a/.hgtags Mon Feb 17 10:04:27 2014 -0800 +++ b/.hgtags Tue Feb 18 02:51:48 2014 -0500 @@ -83,3 +83,5 @@ d734216aa2b1022c190e6b07d7ccdd59fe15678f rc-3-8-0-1 f1fa148766d623f7f24cf541ea8b88d8c1b63d33 rc-3-8-0-2 b72bcf5f78cc2231e9bf2735d3b8d92779fc4dff release-3-8-0 +85d31344fb23725791bc687337295d47416b9c17 rc-3-8-1-2 +02ce68d63fba31cd14ac060c087212a032ae3202 rc-3-8-1-3 diff -r 16b0cd465ecd -r 8473198fd005 Makefile.am --- a/Makefile.am Mon Feb 17 10:04:27 2014 -0800 +++ b/Makefile.am Tue Feb 18 02:51:48 2014 -0500 @@ -164,8 +164,9 @@ .PHONY: ChangeLog octetc_DATA = \ + CITATION \ NEWS \ - CITATION + config.log doxyhtml: $(MAKE) -C doc/doxyhtml doxyhtml diff -r 16b0cd465ecd -r 8473198fd005 configure.ac --- a/configure.ac Mon Feb 17 10:04:27 2014 -0800 +++ b/configure.ac Tue Feb 18 02:51:48 2014 -0500 @@ -24,9 +24,9 @@ dnl Note that the version number is duplicated here and in AC_INIT dnl because AC_INIT requires it to be static, not computed from dnl shell variables. -OCTAVE_MAJOR_VERSION=3 -OCTAVE_MINOR_VERSION=8 -OCTAVE_PATCH_VERSION=0 +OCTAVE_MAJOR_VERSION=4 +OCTAVE_MINOR_VERSION=1 +OCTAVE_PATCH_VERSION=0+ dnl PACKAGE_VERSION is set by the AC_INIT VERSION arg OCTAVE_VERSION="$PACKAGE_VERSION" diff -r 16b0cd465ecd -r 8473198fd005 doc/interpreter/plot.txi --- a/doc/interpreter/plot.txi Mon Feb 17 10:04:27 2014 -0800 +++ b/doc/interpreter/plot.txi Tue Feb 18 02:51:48 2014 -0500 @@ -2646,7 +2646,13 @@ @item @qcode{"-"} Solid line. [default] -@item @qcode{"--"} +@c Special handling required to avoid '--' becoming single en-dash in Info +@ifnottex +@item @verb{|"--"|} +@end ifnottex +@iftex +@item @code{"--"} +@end iftex Dashed line. @item @qcode{":"} diff -r 16b0cd465ecd -r 8473198fd005 libgui/src/m-editor/file-editor-tab.cc --- a/libgui/src/m-editor/file-editor-tab.cc Mon Feb 17 10:04:27 2014 -0800 +++ b/libgui/src/m-editor/file-editor-tab.cc Tue Feb 18 02:51:48 2014 -0500 @@ -139,8 +139,7 @@ _edit_area->setUtf8 (true); // auto completion - _edit_area->autoCompleteFromAll (); - _edit_area->setAutoCompletionSource (QsciScintilla::AcsAll); + _edit_area->SendScintilla (QsciScintillaBase::SCI_AUTOCSETCANCELATSTART, false); QVBoxLayout *edit_area_layout = new QVBoxLayout (); edit_area_layout->addWidget (_edit_area); @@ -835,6 +834,32 @@ } void +file_editor_tab::show_auto_completion (const QWidget *ID) +{ + if (ID != this) + return; + + QsciScintilla::AutoCompletionSource s = _edit_area->autoCompletionSource (); + switch (s) + { + case QsciScintilla::AcsAll: + _edit_area->autoCompleteFromAll (); + break; + + case QsciScintilla::AcsAPIs: + _edit_area->autoCompleteFromAPIs (); + break; + + case QsciScintilla::AcsDocument: + _edit_area->autoCompleteFromDocument (); + break; + + case QsciScintilla::AcsNone: + break; + } +} + +void file_editor_tab::do_indent_selected_text (bool indent) { // TODO @@ -1361,30 +1386,29 @@ _edit_area->setCaretLineVisible (settings->value ("editor/highlightCurrentLine", true).toBool ()); - if (settings->value ("editor/codeCompletion", true).toBool ()) // auto compl. - { - bool match_keywords = settings->value + bool match_keywords = settings->value ("editor/codeCompletion_keywords",true).toBool (); - bool match_document = settings->value + bool match_document = settings->value ("editor/codeCompletion_document",true).toBool (); - QsciScintilla::AutoCompletionSource source = QsciScintilla::AcsNone; - if (match_keywords) - if (match_document) - source = QsciScintilla::AcsAll; - else - source = QsciScintilla::AcsAPIs; - else if (match_document) - source = QsciScintilla::AcsDocument; - _edit_area->setAutoCompletionSource (source); + QsciScintilla::AutoCompletionSource source = QsciScintilla::AcsNone; + if (match_keywords) + if (match_document) + source = QsciScintilla::AcsAll; + else + source = QsciScintilla::AcsAPIs; + else if (match_document) + source = QsciScintilla::AcsDocument; + _edit_area->setAutoCompletionSource (source); - _edit_area->setAutoCompletionReplaceWord - (settings->value ("editor/codeCompletion_replace",false).toBool ()); - _edit_area->setAutoCompletionCaseSensitivity - (settings->value ("editor/codeCompletion_case",true).toBool ()); - _edit_area->setAutoCompletionThreshold - (settings->value ("editor/codeCompletion_threshold",2).toInt ()); - } + _edit_area->setAutoCompletionReplaceWord + (settings->value ("editor/codeCompletion_replace",false).toBool ()); + _edit_area->setAutoCompletionCaseSensitivity + (settings->value ("editor/codeCompletion_case",true).toBool ()); + + if (settings->value ("editor/codeCompletion", true).toBool ()) + _edit_area->setAutoCompletionThreshold + (settings->value ("editor/codeCompletion_threshold",2).toInt ()); else _edit_area->setAutoCompletionThreshold (-1); @@ -1576,6 +1600,9 @@ void file_editor_tab::handle_cursor_moved (int line, int col) { + if (_edit_area->SendScintilla (QsciScintillaBase::SCI_AUTOCACTIVE)) + show_auto_completion (this); + _row_indicator->setNum (line+1); _col_indicator->setNum (col+1); } diff -r 16b0cd465ecd -r 8473198fd005 libgui/src/m-editor/file-editor-tab.h --- a/libgui/src/m-editor/file-editor-tab.h Mon Feb 17 10:04:27 2014 -0800 +++ b/libgui/src/m-editor/file-editor-tab.h Tue Feb 18 02:51:48 2014 -0500 @@ -99,6 +99,7 @@ void find (const QWidget *ID); void goto_line (const QWidget *ID, int line = -1); + void show_auto_completion (const QWidget *ID); void insert_debugger_pointer (const QWidget *ID, int line = -1); void delete_debugger_pointer (const QWidget *ID, int line = -1); diff -r 16b0cd465ecd -r 8473198fd005 libgui/src/m-editor/file-editor.cc --- a/libgui/src/m-editor/file-editor.cc Mon Feb 17 10:04:27 2014 -0800 +++ b/libgui/src/m-editor/file-editor.cc Tue Feb 18 02:51:48 2014 -0500 @@ -370,7 +370,7 @@ tr ("File\n%1\ndoes not exist. " "Do you want to create it?").arg (openFileName), QMessageBox::Yes - | QMessageBox::No, this); + | QMessageBox::No, 0); msgBox->setAttribute (Qt::WA_DeleteOnClose); answer = msgBox->exec (); @@ -697,6 +697,12 @@ void +file_editor::request_completion (void) +{ + emit fetab_completion (_tab_widget->currentWidget ()); +} + +void file_editor::handle_mru_add_file (const QString& file_name) { _mru_files.removeAll (file_name); @@ -986,9 +992,10 @@ _goto_line_action = new QAction (tr ("Go &to Line..."), _tool_bar); + _completion_action = new QAction (tr ("&Show Completion List"), _tool_bar); + // the mru-list and an empty array of actions QSettings *settings = resource_manager::get_settings (); - // FIXME: what should happen if settings is 0? _mru_files = settings->value ("editor/mru_file_list").toStringList (); for (int i = 0; i < MaxMRUFiles; ++i) { @@ -1015,6 +1022,7 @@ _unindent_selection_action->setShortcutContext (Qt::WindowShortcut); _find_action->setShortcutContext (Qt::WindowShortcut); _goto_line_action->setShortcutContext (Qt::WindowShortcut); + _completion_action->setShortcutContext (Qt::WindowShortcut); // toolbar _tool_bar->addAction (new_action); @@ -1092,10 +1100,11 @@ editMenu->addSeparator (); editMenu->addAction (_comment_selection_action); editMenu->addAction (_uncomment_selection_action); - editMenu->addSeparator (); editMenu->addAction (_indent_selection_action); editMenu->addAction (_unindent_selection_action); editMenu->addSeparator (); + editMenu->addAction (_completion_action); + editMenu->addSeparator (); editMenu->addAction (_toggle_bookmark_action); editMenu->addAction (_next_bookmark_action); editMenu->addAction (_previous_bookmark_action); @@ -1237,6 +1246,9 @@ connect (_goto_line_action, SIGNAL (triggered ()), this, SLOT (request_goto_line ())); + connect (_completion_action, SIGNAL (triggered ()), + this, SLOT (request_completion ())); + connect (_mru_file_menu, SIGNAL (triggered (QAction *)), this, SLOT (request_mru_open_file (QAction *))); @@ -1396,6 +1408,9 @@ connect (this, SIGNAL (fetab_goto_line (const QWidget*, int)), f, SLOT (goto_line (const QWidget*, int))); + connect (this, SIGNAL (fetab_completion (const QWidget*)), + f, SLOT (show_auto_completion (const QWidget*))); + connect (this, SIGNAL (fetab_set_focus (const QWidget*)), f, SLOT (set_focus (const QWidget*))); @@ -1458,6 +1473,7 @@ _find_action->setShortcut (QKeySequence::Find); _goto_line_action->setShortcut (Qt::ControlModifier+ Qt::Key_G); + _completion_action->setShortcut (Qt::ControlModifier + Qt::Key_Space); _next_bookmark_action->setShortcut (Qt::Key_F2); _previous_bookmark_action->setShortcut (Qt::SHIFT + Qt::Key_F2); @@ -1492,6 +1508,7 @@ _find_action->setShortcut (no_key); _goto_line_action->setShortcut (no_key); + _completion_action->setShortcut (no_key); _next_bookmark_action->setShortcut (no_key); _previous_bookmark_action->setShortcut (no_key); @@ -1528,6 +1545,7 @@ _find_action->setEnabled (have_tabs); _goto_line_action->setEnabled (have_tabs); + _completion_action->setEnabled (have_tabs); _next_bookmark_action->setEnabled (have_tabs); _previous_bookmark_action->setEnabled (have_tabs); diff -r 16b0cd465ecd -r 8473198fd005 libgui/src/m-editor/file-editor.h --- a/libgui/src/m-editor/file-editor.h Mon Feb 17 10:04:27 2014 -0800 +++ b/libgui/src/m-editor/file-editor.h Tue Feb 18 02:51:48 2014 -0500 @@ -97,6 +97,7 @@ void fetab_unindent_selected_text (const QWidget* ID); void fetab_find (const QWidget* ID); void fetab_goto_line (const QWidget* ID, int line = -1); + void fetab_completion (const QWidget*); void fetab_insert_debugger_pointer (const QWidget* ID, int line = -1); void fetab_delete_debugger_pointer (const QWidget* ID, int line = -1); void fetab_do_breakpoint_marker (bool insert, const QWidget* ID, @@ -150,6 +151,7 @@ void request_find (void); void request_goto_line (void); + void request_completion (void); void handle_file_name_changed (const QString& fileName, const QString& toolTip); @@ -222,6 +224,7 @@ QAction *_find_action; QAction *_goto_line_action; + QAction *_completion_action; QAction *_next_bookmark_action; QAction *_previous_bookmark_action; diff -r 16b0cd465ecd -r 8473198fd005 libgui/src/settings-dialog.ui --- a/libgui/src/settings-dialog.ui Mon Feb 17 10:04:27 2014 -0800 +++ b/libgui/src/settings-dialog.ui Tue Feb 18 02:51:48 2014 -0500 @@ -32,7 +32,7 @@ - 5 + 1 @@ -389,7 +389,7 @@ 0 0 662 - 399 + 419 @@ -781,35 +781,131 @@ 0 - - - - true - - - Code completion - - - false - - - - + 6 + + 4 + + + + Auto completion + + + + + + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 0 + + + + + + + + true + + + Match keywords + + + true + + + + + + + true + + + Case sensitive + + + true + + + + + + + true + + + Replace word by suggested one + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + true + + + Match words in document + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + false - # of characters typed before completion list displayed + after number of characters typed: - + false @@ -834,7 +930,20 @@ - + + + + true + + + Show completion list automatically ... + + + false + + + + Qt::Horizontal @@ -849,117 +958,6 @@ - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 0 - - - - - - - - false - - - Match keywords - - - true - - - - - - - false - - - Case sensitive - - - true - - - - - - - false - - - Replace word by suggested one - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - false - - - Match words in document - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 0 - - - - @@ -2006,54 +2004,6 @@ - editor_codeCompletion - toggled(bool) - editor_checkbox_ac_keywords - setEnabled(bool) - - - 83 - 170 - - - 238 - 201 - - - - - editor_codeCompletion - toggled(bool) - editor_checkbox_ac_document - setEnabled(bool) - - - 83 - 170 - - - 390 - 201 - - - - - editor_codeCompletion - toggled(bool) - editor_checkbox_ac_replace - setEnabled(bool) - - - 83 - 170 - - - 427 - 229 - - - - editor_highlightCurrentLine toggled(bool) editor_label_cl_color @@ -2070,22 +2020,6 @@ - editor_codeCompletion - toggled(bool) - editor_checkbox_ac_case - setEnabled(bool) - - - 83 - 172 - - - 525 - 203 - - - - editor_ws_checkbox toggled(bool) editor_ws_indent_checkbox diff -r 16b0cd465ecd -r 8473198fd005 libinterp/corefcn/file-io.cc --- a/libinterp/corefcn/file-io.cc Mon Feb 17 10:04:27 2014 -0800 +++ b/libinterp/corefcn/file-io.cc Tue Feb 18 02:51:48 2014 -0500 @@ -1805,7 +1805,7 @@ return retval; } -DEFUN (popen, args, , +DEFUNX ("popen", Fpopen, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{fid} =} popen (@var{command}, @var{mode})\n\ Start a process and create a pipe. The name of the command to run is\n\ diff -r 16b0cd465ecd -r 8473198fd005 liboctave/numeric/DASPK-opts.in --- a/liboctave/numeric/DASPK-opts.in Mon Feb 17 10:04:27 2014 -0800 +++ b/liboctave/numeric/DASPK-opts.in Tue Feb 18 02:51:48 2014 -0500 @@ -212,7 +212,7 @@ in the equation set. This option is required by the -@qcode{compute consistent initial condition\"} and +@qcode{\"compute consistent initial condition\"} and @qcode{\"exclude algebraic variables from error test\"} options. END_DOC_ITEM diff -r 16b0cd465ecd -r 8473198fd005 scripts/general/validateattributes.m --- a/scripts/general/validateattributes.m Mon Feb 17 10:04:27 2014 -0800 +++ b/scripts/general/validateattributes.m Tue Feb 18 02:51:48 2014 -0500 @@ -147,7 +147,7 @@ ## @item @qcode{"scalar"} ## It is a scalar. ## -## @item @qcode{"size",} +## @item @qcode{"size"} ## Its size has length equal to the values of the next in @var{attributes}. ## The next value must is an array with the length for each dimension. To ## ignore the check for a certain dimension, the value of @code{NaN} can be diff -r 16b0cd465ecd -r 8473198fd005 scripts/plot/appearance/axis.m --- a/scripts/plot/appearance/axis.m Mon Feb 17 10:04:27 2014 -0800 +++ b/scripts/plot/appearance/axis.m Tue Feb 18 02:51:48 2014 -0500 @@ -185,9 +185,11 @@ ## aspect ratio elseif (strcmpi (ax, "image")) __axis__ (ca, "equal"); + set (ca, "plotboxaspectratiomode", "auto"); __do_tight_option__ (ca); elseif (strcmpi (ax, "square")) - set (ca, "plotboxaspectratio", [1, 1, 1]); + set (ca, "dataaspectratiomode", "auto", + "plotboxaspectratio", [1, 1, 1]); elseif (strcmp (ax, "equal")) if (strcmp (get (get (ca, "parent"), "__graphics_toolkit__"), "gnuplot")) ## FIXME - gnuplot applies the aspect ratio activepostionproperty.