changeset 26340:661fe14264c6

maint: merge stable to default.
author Rik <rik@octave.org>
date Tue, 01 Jan 2019 08:13:41 -0800
parents 4bad0d5b97b3 (diff) b880c6426424 (current diff)
children ddf1cfd62a86
files libinterp/corefcn/ft-text-renderer.cc
diffstat 98 files changed, 393 insertions(+), 2356 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Sun Dec 30 18:00:03 2018 +0100
+++ b/NEWS	Tue Jan 01 08:13:41 2019 -0800
@@ -1,295 +1,61 @@
-Summary of important user-visible changes for version 5.0 (yyyy-mm-dd):
+Summary of important user-visible changes for version 6.0 (yyyy-mm-dd):
 ----------------------------------------------------------------------
 
- ** The determination of an object's dimensions, size, and shape by the
-    functions ndims, rows, columns, isscalar, isvector, isrow, iscolumn,
-    ismatrix, and issquare now fully depends on the function size.
-    Thus, any user-defined object can ensure correct treatment by the
-    aforementioned functions by properly overloading the "size"
-    function.
-
- ** The function randi has been recoded to produce an unbiased (all
-    results are equally likely) sample of integers.  This may produce
-    different results in existing code.  If it is necessary to reproduce
-    the exact random integer sequence as in previous versions use
-    
-      ri = imin + floor ((imax - imin + 1) * rand ());
-
- ** A new core function movfun will apply a function to a sliding
-    window of arbitrary size on a dataset and accumulate the results.
-    Many common cases have been implemented using the naming
-    scheme movXXX where "XXX" is the function that will be applied.
-    For example, the moving average over a dataset is movmean.
-    New moving window functions:
-   
-    movfun   movslice
-    movmad   movmax   movmean   movmedian   movmin   movprod
-    movstd   movsum   movvar
-
- ** The functions issymmetric and ishermitian accept an option "nonskew"
-    or "skew" to calculate the symmetric or skew-symmetric property
-    of a matrix.  Performance has also been increased.
-
- ** The function isdefinite now returns true or false rather than
-    -1, 0, 1.  To test for a positive semi-definite matrix (old output
-    of 0) check whether the following two conditions hold:
-
-      isdefinite (A) => 0
-      isdefinite (A + 5*TOL, TOL) => 1
-
- ** The issorted function now uses a direction option of "ascend" or
-    "descend" to make it compatible with both the sort function and
-    with Matlab.  Change all uses of "ascending" and "descending" in
-    existing code to the new options.
-
- ** The strncmp and strncmpi functions now return true if the two input
-    strings match, even though the number of characters specified by N
-    exceeds the string length.  This behavior more closely matches
-    common sense and is Matlab compatible.  Example:
-
-      Octave 5.0 : strncmp ("abc", "abc", 100) => true
-      Previously : strncmp ("abc", "abc", 100) => false
-
- ** The intmax, intmin, and flintmax functions now accept a variable
-    as input.  This supports a common programming usage which is to
-    query the range of an existing variable.  Existing code can be
-    simplified by removing the call to "class" that was previously
-    required.  Example:
-
-                   x = int8 (3);
-      Octave 5.0 : range = [ intmin(x), intmax(x) ]
-      Previously : range = [ intmin(class(x)), intmax(class(x)) ]
-
- ** The ranks function has been recoded for performance and is now 25X
-    faster.  In addition, it now supports a third argument that
-    specifies how to resolve the ranking of tie values.
-
- ** The fsolve function has been tweaked to use larger step sizes when
-    calculating the Jacobian of a function with finite differences.
-    This leads to faster convergence.  The default solver options have
-    also changed to be Matlab compatible.  This *may* result in existing
-    code producing different results.
-
-          Option     |  New Default   |  Old Default
-      ------------------------------------------------
-        FinDiffType  |   "forward"    |   "central"
-        MaxFunEvals  | 100*length(x0) |     Inf
-        TolFun       |     1e-6       |     1e-7
-        TolX         |     1e-6       |     1e-7
-        Updating     |     "off"      |     "on"
-
- ** The fminsearch function has changed default solver options for
-    Matlab compatibility.  The accuracy option TolFun is now 1e-4 rather
-    than 1e-7.  This *may* result in existing code producing different
-    results.
-
- ** The fminbnd function has changed defaults for Matlab compatibility.
-    This *may* result in existing code producing different results.
-
-          Option     |  New Default   |  Old Default
-      ------------------------------------------------
-        MaxFunEvals  |      500       |     Inf
-        MaxIter      |      500       |     Inf
-        TolX         |     1e-4       |     1e-8
-
- ** The fminunc function has changed defaults for Matlab compatibility.
-    This *may* result in existing code producing different results.
-
-          Option     |  New Default   |  Old Default
-      ------------------------------------------------
-        FinDiffType  |   "forward"    |   "central"
-        MaxFunEvals  | 100*length(x0) |     Inf
-        TolX         |     1e-6       |     1e-7
-        TolFun       |     1e-6       |     1e-7
-
- ** Using "clear" with no arguments now removes only local variables
-    from the current workspace.  Global variables will no longer be
-    visible, but they continue to exist in the global workspace and
-    possibly other workspaces such as the base workspace.
-    This change was made for Matlab compatibility.
-
- ** The Octave plotting system now supports high resolution screens,
-    i.e, those with greater than 96 DPI which are referred to as
-    HiDPI/Retina monitors.
+ ** New functions added in 6.0:
 
- ** Figure graphic objects have a new property "Number" which is
-    read-only and will return the handle (number) of the figure.
-    However, if the property "IntegerHandle" has been set to "off" then
-    the property will return an empty matrix ([]).
 
- ** Patch and surface graphic objects now use the "FaceNormals" property
-    for flat lighting.
-
- ** "FaceNormals" and "VertexNormals" for patch and surface graphic
-    objects are now calculated only when necessary to improve graphics
-    performance.  In order for any normals to be calculated the
-    "FaceLighting" property must be set to "flat" (FaceNormals) or
-    "gouraud" (VertexNormals), AND a light object must be present in the
-    axes.
-
- ** The "Margin" property of text() objects has a new default of 3
-    rather than 2.  This change was made for Matlab compatibility.
-
- ** Printing to raster formats (bitmaps like PNG or JPEG) now uses an
-    OpenGL-based method by default.  The print options "-opengl"
-    (raster) and "-painters" (vector) have been added ("qt" toolkit
-    only).  The figure property "renderer" specifies which renderer to
-    use.  When the property "renderermode" is "auto" Octave will select
-    -opengl for a raster output format and -painters for a vector output
-    format.
-
- ** A new print option "-RGBImage" has been added which captures the
-    pixels of a figure as an image.  This is similar to screen capture
-    tools, except that print formatting options can be used to, for
-    example, change the resolution or display the image in black and
-    white.
-
- ** Two new print options for page-based formats (PDF, PostScript) have
-    been added.  The "-fillpage" option will stretch the plot to occupy
-    the entire page with 0.25 inch margins all around.  The "-bestfit"
-    option will expand the plot to take up as much room as possible on
-    the page without distorting the original aspect ratio of the plot.
-
- ** Printing using the -dtiff output device will now create compressed
-    images using LZW compression.  This change was made for Matlab
-    compatibility.  To produce uncompressed images use the -dtiffn
-    device.
-
- ** A new printing device is available, -ddumb, which produces ASCII art
-    for plots.  This device is only available with the gnuplot toolkit.
-
- ** Printing to EPS files now uses a tight bounding box ("-tight"
-    argument to print) by default.  This makes more sense for EPS
-    files which are normally embedded within other documents, and is
-    Matlab compatible.  If necessary use the "-loose" option to
-    reproduce figures as they appeared in previous versions of Octave.
-
- ** It is now possible to use files and folders containing Unicode
-    characters in Windows.
-
- ** The GUI requires Qt libraries.  The minimum Qt4 version supported is
-    Qt4.8.  Qt5 of any version is preferred.
-
- ** The FFTW library is now required to perform FFT calculations.
-    The FFTPACK sources have been removed from Octave.
-
- ** The OSMesa library is no longer used.  To print invisible figures
-    when using OpenGL graphics, the Qt QOFFSCREENSURFACE feature must be
-    available and you must use the qt graphics toolkit.
-
- ** The str2func function no longer accepts a second "global" argument.
-    This argument was typically used to allow functions that accept
-    function names as arguments to avoid conflicts with subfunctions or
-    nested functions.  Instead, it's best to avoid this situation
-    entirely and require users to pass function handles rather than
-    function names.
-
- ** The path handling functions no longer perform variable or brace
-    expansion on path elements and Octave's load-path is no longer
-    subject to these expansions.
-
- ** New functions added in 5.0:
-
-      clearvars
-      isfile
-      isfolder
-      matlab.lang.makeUniqueStrings
-      matlab.lang.makeValidName
-      movegui
-      movfun
-      movie
-      movmad
-      movmax
-      movmean
-      movmedian
-      movmin
-      movprod
-      movslice
-      movstd
-      movsum
-      movvar
-      openfig
-      ordeig
-      savefig
-      uitable
-
- ** Legacy functions.
-
-    The following functions have been declared legacy functions which
-    means they are obsolete and should not be used in any new code.
-    Unlike deprecated functions, however, their removal from Octave has
-    not yet been scheduled.
-
-      Function             | Replacement
-      ---------------------|------------------
-      findstr              | strfind
-      flipdim              | flip
-      isdir                | isfolder or dir_in_loadpath
-      isequalwithequalnans | isequaln
-      isstr                | ischar
-      setstr               | char
-      strmatch             | strncmp or strcmp
-      strread              | textscan
-      textread             | textscan
 
  ** Deprecated functions.
 
-    The following functions have been deprecated in Octave 5.0 and will
-    be removed from Octave 7 (or whatever version is the second major
-    release after 5.0):
+    The following functions have been deprecated in Octave 6.0 and will
+    be removed from Octave 8 (or whatever version is the second major
+    release after 6.0):
 
       Function               | Replacement
       -----------------------|------------------
       output_max_field_width | output_precision
 
- ** The following functions were deprecated in Octave 4.2 and have been
-    removed from Octave 5.0.
+ ** The following functions were deprecated in Octave 4.4 and have been
+    removed from Octave 6.0.
 
       Function             | Replacement
       ---------------------|------------------
-      bitmax               | flintmax
-      mahalanobis          | mahal in Octave Forge statistics pkg
-      md5sum               | hash
-      octave_config_info   | __octave_config_info__
-      onenormest           | normest1
-      sleep                | pause
-      usleep               | pause
-      wavread              | audioread
-      wavwrite             | audiowrite
+      chop                 | sprintf for visual results
+      desktop              | isguirunning
+      tmpnam               | tempname
+      toascii              | double
+      java2mat             | __java2mat__
 
  ** Deprecated graphics properties.
 
     The following properties or allowed corresponding values have been
-    deprecated in Octave 5.0 and will be removed from Octave 7 (or
-    whatever version is the second major release after 5.0):
+    deprecated in Octave 6.0 and will be removed from Octave 8 (or
+    whatever version is the second major release after 6.0):
 
       Object               | Property                | Value
       ---------------------|-------------------------|-------------------
-      text                 | fontangle               | "oblique"
-      uibuttongroup        | fontangle               | "oblique"
-      uicontrol            | fontangle               | "oblique"
-      uipanel              | fontangle               | "oblique"
-      uitable              | fontangle               | "oblique"
+
 
  ** The following properties or allowed corresponding values were
-    deprecated in Octave 4.2 and have been removed from Octave 5.0:
+    deprecated in Octave 4.4 and have been removed from Octave 6.0:
 
       Object               | Property                | Value
       ---------------------|-------------------------|-------------------
-      axes                 | xaxislocation           | "zero"
-                           | yaxislocation           | "zero"
-      hggroup              | erasemode               |
-      image                | erasemode               |
-      line                 | erasemode               |
-      patch                | erasemode               |
-      patch                | normalmode              |
-      surface              | erasemode               |
-      surface              | normalmode              |
-      text                 | erasemode               |
-
- ** The C++ function is_keyword has been deprecated in favor of
-    iskeyword.  The old function will be removed two versions after 5.0.
+      figure               | doublebuffer            |
+                           | mincolormap             |
+                           | wvisual                 |
+                           | wvisualmode             |
+                           | xdisplay                |
+                           | xvisual                 |
+                           | xvisualmode             |
+      axes                 | drawmode                |
+      annotation           | edgecolor ("rectangle") |
+      text                 | fontweight              | "demi" and "light"
+      uicontrol            | fontweight              | "demi" and "light"
+      uipanel              | fontweight              | "demi" and "light"
+      uibuttongroup        | fontweight              | "demi" and "light"
+      uitable              | fontweight              | "demi" and "light"
 
 ---------------------------------------------------------
 
-See NEWS.4 for old news.
+See NEWS.5 for old news.
--- a/configure.ac	Sun Dec 30 18:00:03 2018 +0100
+++ b/configure.ac	Tue Jan 01 08:13:41 2019 -0800
@@ -20,7 +20,7 @@
 
 ### Initialize Autoconf
 AC_PREREQ([2.65])
-AC_INIT([GNU Octave], [5.0.1], [https://octave.org/bugs.html], [octave],
+AC_INIT([GNU Octave], [6.0.0], [https://octave.org/bugs.html], [octave],
         [https://www.gnu.org/software/octave/])
 
 ### Declare version numbers
@@ -32,9 +32,9 @@
 ## explains how to update these numbers for release and development
 ## versions.
 
-OCTAVE_MAJOR_VERSION=5
+OCTAVE_MAJOR_VERSION=6
 OCTAVE_MINOR_VERSION=0
-OCTAVE_PATCH_VERSION=1
+OCTAVE_PATCH_VERSION=0
 
 dnl PACKAGE_VERSION is set by the AC_INIT VERSION argument.
 OCTAVE_VERSION="$PACKAGE_VERSION"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/NEWS.5	Tue Jan 01 08:13:41 2019 -0800
@@ -0,0 +1,295 @@
+Summary of important user-visible changes for version 5.0 (yyyy-mm-dd):
+----------------------------------------------------------------------
+
+ ** The determination of an object's dimensions, size, and shape by the
+    functions ndims, rows, columns, isscalar, isvector, isrow, iscolumn,
+    ismatrix, and issquare now fully depends on the function size.
+    Thus, any user-defined object can ensure correct treatment by the
+    aforementioned functions by properly overloading the "size"
+    function.
+
+ ** The function randi has been recoded to produce an unbiased (all
+    results are equally likely) sample of integers.  This may produce
+    different results in existing code.  If it is necessary to reproduce
+    the exact random integer sequence as in previous versions use
+    
+      ri = imin + floor ((imax - imin + 1) * rand ());
+
+ ** A new core function movfun will apply a function to a sliding
+    window of arbitrary size on a dataset and accumulate the results.
+    Many common cases have been implemented using the naming
+    scheme movXXX where "XXX" is the function that will be applied.
+    For example, the moving average over a dataset is movmean.
+    New moving window functions:
+   
+    movfun   movslice
+    movmad   movmax   movmean   movmedian   movmin   movprod
+    movstd   movsum   movvar
+
+ ** The functions issymmetric and ishermitian accept an option "nonskew"
+    or "skew" to calculate the symmetric or skew-symmetric property
+    of a matrix.  Performance has also been increased.
+
+ ** The function isdefinite now returns true or false rather than
+    -1, 0, 1.  To test for a positive semi-definite matrix (old output
+    of 0) check whether the following two conditions hold:
+
+      isdefinite (A) => 0
+      isdefinite (A + 5*TOL, TOL) => 1
+
+ ** The issorted function now uses a direction option of "ascend" or
+    "descend" to make it compatible with both the sort function and
+    with Matlab.  Change all uses of "ascending" and "descending" in
+    existing code to the new options.
+
+ ** The strncmp and strncmpi functions now return true if the two input
+    strings match, even though the number of characters specified by N
+    exceeds the string length.  This behavior more closely matches
+    common sense and is Matlab compatible.  Example:
+
+      Octave 5.0 : strncmp ("abc", "abc", 100) => true
+      Previously : strncmp ("abc", "abc", 100) => false
+
+ ** The intmax, intmin, and flintmax functions now accept a variable
+    as input.  This supports a common programming usage which is to
+    query the range of an existing variable.  Existing code can be
+    simplified by removing the call to "class" that was previously
+    required.  Example:
+
+                   x = int8 (3);
+      Octave 5.0 : range = [ intmin(x), intmax(x) ]
+      Previously : range = [ intmin(class(x)), intmax(class(x)) ]
+
+ ** The ranks function has been recoded for performance and is now 25X
+    faster.  In addition, it now supports a third argument that
+    specifies how to resolve the ranking of tie values.
+
+ ** The fsolve function has been tweaked to use larger step sizes when
+    calculating the Jacobian of a function with finite differences.
+    This leads to faster convergence.  The default solver options have
+    also changed to be Matlab compatible.  This *may* result in existing
+    code producing different results.
+
+          Option     |  New Default   |  Old Default
+      ------------------------------------------------
+        FinDiffType  |   "forward"    |   "central"
+        MaxFunEvals  | 100*length(x0) |     Inf
+        TolFun       |     1e-6       |     1e-7
+        TolX         |     1e-6       |     1e-7
+        Updating     |     "off"      |     "on"
+
+ ** The fminsearch function has changed default solver options for
+    Matlab compatibility.  The accuracy option TolFun is now 1e-4 rather
+    than 1e-7.  This *may* result in existing code producing different
+    results.
+
+ ** The fminbnd function has changed defaults for Matlab compatibility.
+    This *may* result in existing code producing different results.
+
+          Option     |  New Default   |  Old Default
+      ------------------------------------------------
+        MaxFunEvals  |      500       |     Inf
+        MaxIter      |      500       |     Inf
+        TolX         |     1e-4       |     1e-8
+
+ ** The fminunc function has changed defaults for Matlab compatibility.
+    This *may* result in existing code producing different results.
+
+          Option     |  New Default   |  Old Default
+      ------------------------------------------------
+        FinDiffType  |   "forward"    |   "central"
+        MaxFunEvals  | 100*length(x0) |     Inf
+        TolX         |     1e-6       |     1e-7
+        TolFun       |     1e-6       |     1e-7
+
+ ** Using "clear" with no arguments now removes only local variables
+    from the current workspace.  Global variables will no longer be
+    visible, but they continue to exist in the global workspace and
+    possibly other workspaces such as the base workspace.
+    This change was made for Matlab compatibility.
+
+ ** The Octave plotting system now supports high resolution screens,
+    i.e, those with greater than 96 DPI which are referred to as
+    HiDPI/Retina monitors.
+
+ ** Figure graphic objects have a new property "Number" which is
+    read-only and will return the handle (number) of the figure.
+    However, if the property "IntegerHandle" has been set to "off" then
+    the property will return an empty matrix ([]).
+
+ ** Patch and surface graphic objects now use the "FaceNormals" property
+    for flat lighting.
+
+ ** "FaceNormals" and "VertexNormals" for patch and surface graphic
+    objects are now calculated only when necessary to improve graphics
+    performance.  In order for any normals to be calculated the
+    "FaceLighting" property must be set to "flat" (FaceNormals) or
+    "gouraud" (VertexNormals), AND a light object must be present in the
+    axes.
+
+ ** The "Margin" property of text() objects has a new default of 3
+    rather than 2.  This change was made for Matlab compatibility.
+
+ ** Printing to raster formats (bitmaps like PNG or JPEG) now uses an
+    OpenGL-based method by default.  The print options "-opengl"
+    (raster) and "-painters" (vector) have been added ("qt" toolkit
+    only).  The figure property "renderer" specifies which renderer to
+    use.  When the property "renderermode" is "auto" Octave will select
+    -opengl for a raster output format and -painters for a vector output
+    format.
+
+ ** A new print option "-RGBImage" has been added which captures the
+    pixels of a figure as an image.  This is similar to screen capture
+    tools, except that print formatting options can be used to, for
+    example, change the resolution or display the image in black and
+    white.
+
+ ** Two new print options for page-based formats (PDF, PostScript) have
+    been added.  The "-fillpage" option will stretch the plot to occupy
+    the entire page with 0.25 inch margins all around.  The "-bestfit"
+    option will expand the plot to take up as much room as possible on
+    the page without distorting the original aspect ratio of the plot.
+
+ ** Printing using the -dtiff output device will now create compressed
+    images using LZW compression.  This change was made for Matlab
+    compatibility.  To produce uncompressed images use the -dtiffn
+    device.
+
+ ** A new printing device is available, -ddumb, which produces ASCII art
+    for plots.  This device is only available with the gnuplot toolkit.
+
+ ** Printing to EPS files now uses a tight bounding box ("-tight"
+    argument to print) by default.  This makes more sense for EPS
+    files which are normally embedded within other documents, and is
+    Matlab compatible.  If necessary use the "-loose" option to
+    reproduce figures as they appeared in previous versions of Octave.
+
+ ** It is now possible to use files and folders containing Unicode
+    characters in Windows.
+
+ ** The GUI requires Qt libraries.  The minimum Qt4 version supported is
+    Qt4.8.  Qt5 of any version is preferred.
+
+ ** The FFTW library is now required to perform FFT calculations.
+    The FFTPACK sources have been removed from Octave.
+
+ ** The OSMesa library is no longer used.  To print invisible figures
+    when using OpenGL graphics, the Qt QOFFSCREENSURFACE feature must be
+    available and you must use the qt graphics toolkit.
+
+ ** The str2func function no longer accepts a second "global" argument.
+    This argument was typically used to allow functions that accept
+    function names as arguments to avoid conflicts with subfunctions or
+    nested functions.  Instead, it's best to avoid this situation
+    entirely and require users to pass function handles rather than
+    function names.
+
+ ** The path handling functions no longer perform variable or brace
+    expansion on path elements and Octave's load-path is no longer
+    subject to these expansions.
+
+ ** New functions added in 5.0:
+
+      clearvars
+      isfile
+      isfolder
+      matlab.lang.makeUniqueStrings
+      matlab.lang.makeValidName
+      movegui
+      movfun
+      movie
+      movmad
+      movmax
+      movmean
+      movmedian
+      movmin
+      movprod
+      movslice
+      movstd
+      movsum
+      movvar
+      openfig
+      ordeig
+      savefig
+      uitable
+
+ ** Legacy functions.
+
+    The following functions have been declared legacy functions which
+    means they are obsolete and should not be used in any new code.
+    Unlike deprecated functions, however, their removal from Octave has
+    not yet been scheduled.
+
+      Function             | Replacement
+      ---------------------|------------------
+      findstr              | strfind
+      flipdim              | flip
+      isdir                | isfolder or dir_in_loadpath
+      isequalwithequalnans | isequaln
+      isstr                | ischar
+      setstr               | char
+      strmatch             | strncmp or strcmp
+      strread              | textscan
+      textread             | textscan
+
+ ** Deprecated functions.
+
+    The following functions have been deprecated in Octave 5.0 and will
+    be removed from Octave 7 (or whatever version is the second major
+    release after 5.0):
+
+      Function               | Replacement
+      -----------------------|------------------
+      output_max_field_width | output_precision
+
+ ** The following functions were deprecated in Octave 4.2 and have been
+    removed from Octave 5.0.
+
+      Function             | Replacement
+      ---------------------|------------------
+      bitmax               | flintmax
+      mahalanobis          | mahal in Octave Forge statistics pkg
+      md5sum               | hash
+      octave_config_info   | __octave_config_info__
+      onenormest           | normest1
+      sleep                | pause
+      usleep               | pause
+      wavread              | audioread
+      wavwrite             | audiowrite
+
+ ** Deprecated graphics properties.
+
+    The following properties or allowed corresponding values have been
+    deprecated in Octave 5.0 and will be removed from Octave 7 (or
+    whatever version is the second major release after 5.0):
+
+      Object               | Property                | Value
+      ---------------------|-------------------------|-------------------
+      text                 | fontangle               | "oblique"
+      uibuttongroup        | fontangle               | "oblique"
+      uicontrol            | fontangle               | "oblique"
+      uipanel              | fontangle               | "oblique"
+      uitable              | fontangle               | "oblique"
+
+ ** The following properties or allowed corresponding values were
+    deprecated in Octave 4.2 and have been removed from Octave 5.0:
+
+      Object               | Property                | Value
+      ---------------------|-------------------------|-------------------
+      axes                 | xaxislocation           | "zero"
+                           | yaxislocation           | "zero"
+      hggroup              | erasemode               |
+      image                | erasemode               |
+      line                 | erasemode               |
+      patch                | erasemode               |
+      patch                | normalmode              |
+      surface              | erasemode               |
+      surface              | normalmode              |
+      text                 | erasemode               |
+
+ ** The C++ function is_keyword has been deprecated in favor of
+    iskeyword.  The old function will be removed two versions after 5.0.
+
+---------------------------------------------------------
+
+See NEWS.4 for old news.
--- a/etc/module.mk	Sun Dec 30 18:00:03 2018 +0100
+++ b/etc/module.mk	Tue Jan 01 08:13:41 2019 -0800
@@ -9,6 +9,7 @@
   %reldir%/NEWS.2 \
   %reldir%/NEWS.3 \
   %reldir%/NEWS.4 \
+  %reldir%/NEWS.5 \
   %reldir%/PROJECTS \
   %reldir%/gdbinit
 
--- a/libgui/graphics/QtHandlesUtils.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libgui/graphics/QtHandlesUtils.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -113,8 +113,6 @@
       if (! mapsInitialized)
         {
           weightMap["normal"] = QFont::Normal;
-          weightMap["light"] = QFont::Light;
-          weightMap["demi"] = QFont::DemiBold;
           weightMap["bold"] = QFont::Bold;
 
           angleMap["normal"] = QFont::StyleNormal;
--- a/libinterp/corefcn/__qp__.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/__qp__.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -89,15 +89,13 @@
 qp (const Matrix& H, const ColumnVector& q,
     const Matrix& Aeq, const ColumnVector& beq,
     const Matrix& Ain, const ColumnVector& bin,
-    int maxit,
+    int maxit, double rtol,
     ColumnVector& x, ColumnVector& lambda, int& iter)
 {
   int info = 0;
 
   iter = 0;
 
-  double rtol = sqrt (std::numeric_limits<double>::epsilon ());
-
   // Problem dimension.
   octave_idx_type n = x.numel ();
 
@@ -493,7 +491,7 @@
 Undocumented internal function.
 @end deftypefn */)
 {
-  if (args.length () != 8)
+  if (args.length () != 9)
     print_usage ();
 
   const ColumnVector x0  (args(0).vector_value ());
@@ -504,7 +502,8 @@
   const Matrix Ain       (args(5).matrix_value ());
   const ColumnVector bin (args(6).vector_value ());
   const int maxit        (args(7).int_value ());
-
+  const double rtol      (args(8).double_value());
+    
   int iter = 0;
 
   // Copy the initial guess into the working variable
@@ -513,7 +512,7 @@
   // Reordering the Lagrange multipliers
   ColumnVector lambda;
 
-  int info = qp (H, q, Aeq, beq, Ain, bin, maxit, x, lambda, iter);
+  int info = qp (H, q, Aeq, beq, Ain, bin, maxit, rtol, x, lambda, iter);
 
   return ovl (x, lambda, info, iter);
 }
--- a/libinterp/corefcn/call-stack.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/call-stack.h	Tue Jan 01 08:13:41 2019 -0800
@@ -293,11 +293,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::call_stack' instead")
-typedef octave::call_stack octave_call_stack;
-
 #endif
-
-#endif
--- a/libinterp/corefcn/defun-int.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/defun-int.h	Tue Jan 01 08:13:41 2019 -0800
@@ -80,41 +80,6 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::auto_shlib' instead")
-typedef octave::auto_shlib octave_auto_shlib;
-
-OCTAVE_DEPRECATED (4.4, "use 'tree_evaluator::isargout' instead")
-extern OCTINTERP_API bool
-defun_isargout (int, int);
-
-OCTAVE_DEPRECATED (4.4, "use 'tree_evaluator::isargout' instead")
-extern OCTINTERP_API void
-defun_isargout (int, int, bool *);
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::symbol_table::install_built_in_function' instead")
-extern OCTINTERP_API void
-install_builtin_function (octave_builtin::fcn f, const std::string& name,
-                          const std::string& file, const std::string& doc,
-                          bool can_hide_function = true);
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::symbol_table::install_built_in_function' instead")
-extern OCTINTERP_API void
-install_builtin_function (octave_builtin::meth m, const std::string& name,
-                          const std::string& file, const std::string& doc,
-                          bool can_hide_function = true);
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::symbol_table::alias_built_in_function' instead")
-extern OCTINTERP_API void
-alias_builtin (const std::string& alias, const std::string& name);
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::symbol_table::install_built_in_dispatch' instead")
-extern OCTINTERP_API void
-install_builtin_dispatch (const std::string& name, const std::string& klass);
-
-#endif
-
 #define FORWARD_DECLARE_FUNX(name)              \
   extern OCTAVE_EXPORT octave_value_list        \
   name (const octave_value_list&, int)
--- a/libinterp/corefcn/defun.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/defun.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -83,32 +83,6 @@
 // Install variables and functions in the symbol tables.
 
 void
-install_builtin_function (octave_builtin::fcn f, const std::string& name,
-                          const std::string& file, const std::string& doc,
-                          bool /* can_hide_function -- not yet implemented */)
-{
-  octave_value fcn (new octave_builtin (f, name, file, doc));
-
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("install_builtin_function");
-
-  symtab.install_built_in_function (name, fcn);
-}
-
-void
-install_builtin_function (octave_builtin::meth m, const std::string& name,
-                          const std::string& file, const std::string& doc,
-                          bool /* can_hide_function -- not yet implemented */)
-{
-  octave_value fcn (new octave_builtin (m, name, file, doc));
-
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("install_builtin_function");
-
-  symtab.install_built_in_function (name, fcn);
-}
-
-void
 install_dld_function (octave_dld_function::fcn f, const std::string& name,
                       const octave::dynamic_library& shl, const std::string& doc,
                       bool relative)
@@ -161,23 +135,6 @@
   symtab.install_built_in_function (name, fval);
 }
 
-void
-alias_builtin (const std::string& alias, const std::string& name)
-{
-  octave::symbol_table& symtab = octave::__get_symbol_table__ ("alias_builtin");
-
-  symtab.alias_built_in_function (alias, name);
-}
-
-void
-install_builtin_dispatch (const std::string& name, const std::string& klass)
-{
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("install_builtin_dispatch");
-
-  symtab.install_built_in_dispatch (name, klass);
-}
-
 octave::dynamic_library
 get_current_shlib (void)
 {
@@ -205,19 +162,3 @@
 
   return retval;
 }
-
-bool
-defun_isargout (int nargout, int iout)
-{
-  octave::tree_evaluator& tw = octave::__get_evaluator__ ("defun_isargout");
-
-  return tw.isargout (nargout, iout);
-}
-
-void
-defun_isargout (int nargout, int nout, bool *isargout)
-{
-  octave::tree_evaluator& tw = octave::__get_evaluator__ ("defun_isargout");
-
-  return tw.isargout (nargout, nout, isargout);
-}
--- a/libinterp/corefcn/event-queue.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/event-queue.h	Tue Jan 01 08:13:41 2019 -0800
@@ -122,14 +122,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::event_queue' instead")
-typedef octave::event_queue event_queue;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::event_queue_safe' instead")
-typedef octave::event_queue_safe event_queue_safe;
-
 #endif
-
-#endif
--- a/libinterp/corefcn/ft-text-renderer.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/ft-text-renderer.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -245,10 +245,6 @@
 
           if (weight == "bold")
             fc_weight = FC_WEIGHT_BOLD;
-          else if (weight == "light")
-            fc_weight = FC_WEIGHT_LIGHT;
-          else if (weight == "demi")
-            fc_weight = FC_WEIGHT_DEMIBOLD;
           else
             fc_weight = FC_WEIGHT_NORMAL;
 
--- a/libinterp/corefcn/graphics.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/graphics.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -5293,8 +5293,6 @@
   // Note: dataspectratio (not mode) will be set through update_aspectratios
   dataaspectratiomode = "auto";
 
-  drawmode = "normal";
-
   fontangle = "normal";
   fontname = OCTAVE_DEFAULT_FONTNAME;
   fontsize = 10;
--- a/libinterp/corefcn/graphics.in.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/graphics.in.h	Tue Jan 01 08:13:41 2019 -0800
@@ -3186,16 +3186,6 @@
       any_property __zoom_mode__ h , Matrix ()
       double_property __device_pixel_ratio__ hU , 1.0
 
-      // Obsolete properties: doublebuffer, mincolormap, wvisual, wvisualmode,
-      //                      xdisplay, xvisual, xvisualmode
-      // FIXME: DEPRECATED: Remove in version 6.
-      bool_property doublebuffer hd , "on"
-      double_property mincolormap hd , 64
-      string_property wvisual hmd , ""
-      radio_property wvisualmode hd , "{auto}|manual"
-      string_property xdisplay hd , ""
-      string_property xvisual hmd , ""
-      radio_property xvisualmode hd , "{auto}|manual"
     END_PROPERTIES
 
   protected:
@@ -3636,7 +3626,6 @@
       array_property currentpoint , Matrix (2, 3, 0.0)
       row_vector_property dataaspectratio mu , Matrix (1, 3, 1.0)
       radio_property dataaspectratiomode u , "{auto}|manual"
-      radio_property drawmode hd , "{normal}|fast"
       radio_property fontangle u , "{normal}|italic"
       string_property fontname u , OCTAVE_DEFAULT_FONTNAME
       double_property fontsize u , 10
@@ -4360,7 +4349,7 @@
       string_property fontname u , OCTAVE_DEFAULT_FONTNAME
       double_property fontsize u , 10
       radio_property fontunits SU , "inches|centimeters|normalized|{points}|pixels"
-      radio_property fontweight u , "light|{normal}|demi|bold"
+      radio_property fontweight u , "{normal}|bold"
       radio_property horizontalalignment mu , "{left}|center|right"
       radio_property interpreter u , "{tex}|none|latex"
       radio_property linestyle , "{-}|--|:|-.|none"
@@ -4444,18 +4433,17 @@
     void update_color (void) { update_font (); update_text_extent (); }
     void update_fontname (void) { update_font (); update_text_extent (); }
     void update_fontsize (void) { update_font (); update_text_extent (); }
-    void update_fontangle (void) { update_font (); update_text_extent (); }
-
-    void update_fontweight (void)
+    void update_fontangle (void)
     {
       update_font ();
       update_text_extent ();
-      // FIXME: DEPRECATED: Remove warning with demi and light in version 6.
-      if (fontweight.is ("demi") || fontweight.is ("light"))
+      // FIXME: DEPRECATED: Remove warning for "oblique" in version 7.
+      if (fontangle.is ("oblique"))
         warning_with_id ("Octave:deprecated-property",
-                         "Setting 'fontweight' to '%s' is deprecated, \
-use 'normal' or 'bold'.", fontweight.current_value ().c_str ());
+                         "Setting 'fontangle' to '%s' is deprecated, \
+use 'italic' or 'normal'.", fontangle.current_value ().c_str ());
     }
+    void update_fontweight (void) { update_font (); update_text_extent (); }
 
     void update_interpreter (void) { update_text_extent (); }
     void update_horizontalalignment (void) { update_text_extent (); }
@@ -5461,7 +5449,7 @@
       string_property fontname u , OCTAVE_DEFAULT_FONTNAME
       double_property fontsize u , 10
       radio_property fontunits S , "inches|centimeters|normalized|{points}|pixels"
-      radio_property fontweight u , "light|{normal}|demi|bold"
+      radio_property fontweight u , "{normal}|bold"
       color_property foregroundcolor , color_values (0, 0, 0)
       radio_property horizontalalignment , "left|{center}|right"
       callback_property keypressfcn , Matrix ()
@@ -5504,17 +5492,16 @@
     void update_string (void) { update_text_extent (); }
     void update_fontname (void) { update_text_extent (); }
     void update_fontsize (void) { update_text_extent (); }
-    void update_fontangle (void) { update_text_extent (); }
-
-    void update_fontweight (void)
+    void update_fontangle (void)
     {
       update_text_extent ();
-      // FIXME: DEPRECATED: Remove warning with demi and light in version 6.
-      if (fontweight.is ("demi") || fontweight.is ("light"))
+      // FIXME: DEPRECATED: Remove warning for "oblique" in version 7.
+      if (fontangle.is ("oblique"))
         warning_with_id ("Octave:deprecated-property",
-                         "Setting 'fontweight' to '%s' is deprecated, \
-use 'normal' or 'bold'.", fontweight.current_value ().c_str ());
+                         "Setting 'fontangle' to '%s' is deprecated, \
+use 'italic' or 'normal'.", fontangle.current_value ().c_str ());
     }
+    void update_fontweight (void) { update_text_extent (); }
 
     void update_fontunits (const caseless_str& old_units);
 
@@ -5574,7 +5561,7 @@
       string_property fontname , OCTAVE_DEFAULT_FONTNAME
       double_property fontsize , 10
       radio_property fontunits S , "inches|centimeters|normalized|{points}|pixels"
-      radio_property fontweight u , "light|{normal}|demi|bold"
+      radio_property fontweight , "{normal}|bold"
       color_property foregroundcolor , color_values (0, 0, 0)
       color_property highlightcolor , color_values (1, 1, 1)
       array_property position S , default_panel_position ()
@@ -5607,15 +5594,7 @@
     // void update_fontname (void) { update_text_extent (); }
     // void update_fontsize (void) { update_text_extent (); }
     // void update_fontangle (void) { update_text_extent (); }
-
-    void update_fontweight (void)
-    {
-      // FIXME: DEPRECATED: Remove warning with demi and light in version 6.
-      if (fontweight.is ("demi") || fontweight.is ("light"))
-        warning_with_id ("Octave:deprecated-property",
-                         "Setting 'fontweight' to '%s' is deprecated, \
-use 'normal' or 'bold'.", fontweight.current_value ().c_str ());
-    }
+    // void update_fontweight (void) { update_fontweight (); }
 
     void update_units (const caseless_str& old_units);
     void update_fontunits (const caseless_str& old_units);
@@ -5674,7 +5653,7 @@
       string_property fontname , OCTAVE_DEFAULT_FONTNAME
       double_property fontsize , 10
       radio_property fontunits S , "inches|centimeters|normalized|{points}|pixels"
-      radio_property fontweight u , "light|{normal}|demi|bold"
+      radio_property fontweight , "{normal}|bold"
       color_property foregroundcolor , color_values (0, 0, 0)
       color_property highlightcolor , color_values (1, 1, 1)
       array_property position S , default_panel_position ()
@@ -5702,14 +5681,6 @@
     void update_units (const caseless_str& old_units);
     void update_fontunits (const caseless_str& old_units);
 
-    void update_fontweight (void)
-    {
-      // FIXME: DEPRECATED: Remove warning with demi and light in version 6.
-      if (fontweight.is ("demi") || fontweight.is ("light"))
-        warning_with_id ("Octave:deprecated-property",
-                         "Setting 'fontweight' to '%s' is deprecated, \
-use 'normal' or 'bold'.", fontweight.current_value ().c_str ());
-    }
   };
 
 private:
@@ -5776,7 +5747,7 @@
       string_property fontname u , OCTAVE_DEFAULT_FONTNAME
       double_property fontsize u , 10
       radio_property fontunits S , "inches|centimeters|normalized|{points}|pixels"
-      radio_property fontweight u , "light|{normal}|demi|bold"
+      radio_property fontweight u , "{normal}|bold"
       color_property foregroundcolor , color_values (0, 0, 0)
       callback_property keypressfcn , Matrix ()
       callback_property keyreleasefcn , Matrix ()
@@ -5810,18 +5781,16 @@
     void update_data (void) { update_table_extent (); }
     void update_fontname (void) { update_table_extent (); }
     void update_fontsize (void) { update_table_extent (); }
-    void update_fontangle (void) { update_table_extent (); }
-
-    void update_fontweight (void)
+    void update_fontangle (void)
     {
-      // FIXME: DEPRECATED: Remove warning with demi and light in version 6.
-      if (fontweight.is ("demi") || fontweight.is ("light"))
+      update_table_extent ();
+      // FIXME: DEPRECATED: Remove warning for "oblique" in version 7.
+      if (fontangle.is ("oblique"))
         warning_with_id ("Octave:deprecated-property",
-                         "Setting 'fontweight' to '%s' is deprecated, \
-use 'normal' or 'bold'.", fontweight.current_value ().c_str ());
-
-      update_table_extent ();
+                         "Setting 'fontangle' to '%s' is deprecated, \
+use 'italic' or 'normal'.", fontangle.current_value ().c_str ());
     }
+    void update_fontweight (void) { update_table_extent (); }
   };
 
 private:
--- a/libinterp/corefcn/interpreter.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/interpreter.h	Tue Jan 01 08:13:41 2019 -0800
@@ -340,29 +340,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::interpreter::recover_from_exception' instead")
-static inline void
-recover_from_exception (void)
-{
-  octave::interpreter::recover_from_exception ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::interpreter::add_atexit_function' instead")
-static inline void
-add_atexit_function (const std::string& fname)
-{
-  octave::interpreter::add_atexit_function (fname);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::interpreter::remove_atexit_function' instead")
-static inline bool
-remove_atexit_function (const std::string& fname)
-{
-  return octave::interpreter::remove_atexit_function (fname);
-}
-
 #endif
-
-#endif
--- a/libinterp/corefcn/oct-stream.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/oct-stream.h	Tue Jan 01 08:13:41 2019 -0800
@@ -461,17 +461,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::base_stream' instead")
-typedef octave::base_stream octave_base_stream;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::stream' instead")
-typedef octave::stream octave_stream;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::stream_list' instead")
-typedef octave::stream_list octave_stream_list;
-
 #endif
-
-#endif
--- a/libinterp/corefcn/pager.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/pager.h	Tue Jan 01 08:13:41 2019 -0800
@@ -307,29 +307,6 @@
   extern std::ostream& __diary__ (void);
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::diary_buf' instead")
-typedef octave::diary_buf octave_diary_buf;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::diary_stream' instead")
-typedef octave::diary_stream octave_diary_stream;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::pager_buf' instead")
-typedef octave::pager_buf octave_pager_buf;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::pager_stream' instead")
-typedef octave::pager_stream octave_pager_stream;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::flush_stdout' instead")
-static inline void
-flush_octave_stdout (void)
-{
-  return octave::flush_stdout ();
-}
-
-#endif
-
 #define octave_stdout (octave::__stdout__ ())
 
 #define octave_diary (octave::__diary__ ())
--- a/libinterp/corefcn/variables.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/variables.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -1514,130 +1514,6 @@
 
 // The following functions are deprecated.
 
-void
-mlock (void)
-{
-  octave::interpreter& interp = octave::__get_interpreter__ ("mlock");
-
-  interp.mlock ();
-}
-
-void
-munlock (const std::string& nm)
-{
-  octave::interpreter& interp = octave::__get_interpreter__ ("mlock");
-
-  return interp.munlock (nm);
-}
-
-bool
-mislocked (const std::string& nm)
-{
-  octave::interpreter& interp = octave::__get_interpreter__ ("mlock");
-
-  return interp.mislocked (nm);
-}
-
-void
-bind_ans (const octave_value& val, bool print)
-{
-  octave::tree_evaluator& tw = octave::__get_evaluator__ ("bind_ans");
-
-  tw.bind_ans (val, print);
-}
-
-void
-clear_mex_functions (void)
-{
-  octave::symbol_table& symtab =
-    octave::__get_symbol_table__ ("clear_mex_functions");
-
-  symtab.clear_mex_functions ();
-}
-
-void
-clear_function (const std::string& nm)
-{
-  octave::symbol_table& symtab = octave::__get_symbol_table__ ("clear_function");
-
-  symtab.clear_function (nm);
-}
-
-void
-clear_variable (const std::string& nm)
-{
-  octave::symbol_scope scope
-    = octave::__get_current_scope__ ("clear_variable");
-
-  if (scope)
-    scope.clear_variable (nm);
-}
-
-void
-clear_symbol (const std::string& nm)
-{
-  octave::symbol_table& symtab = octave::__get_symbol_table__ ("clear_symbol");
-
-  symtab.clear_symbol (nm);
-}
-
-octave_value
-lookup_function_handle (const std::string& nm)
-{
-  octave::symbol_scope scope
-    = octave::__get_current_scope__ ("lookup_function_handle");
-
-  octave_value val = scope ? scope.varval (nm) : octave_value ();
-
-  return val.is_function_handle () ? val : octave_value ();
-}
-
-octave_value
-get_global_value (const std::string& nm, bool silent)
-{
-  octave::symbol_table& symtab =
-    octave::__get_symbol_table__ ("get_global_value");
-
-  octave_value val = symtab.global_varval (nm);
-
-  if (val.is_undefined () && ! silent)
-    error ("get_global_value: undefined symbol '%s'", nm.c_str ());
-
-  return val;
-}
-
-void
-set_global_value (const std::string& nm, const octave_value& val)
-{
-  octave::symbol_table& symtab =
-    octave::__get_symbol_table__ ("set_global_value");
-
-  symtab.global_assign (nm, val);
-}
-
-octave_value
-get_top_level_value (const std::string& nm, bool silent)
-{
-  octave::symbol_table& symtab =
-    octave::__get_symbol_table__ ("get_top_level_value");
-
-  octave_value val = symtab.top_level_varval (nm);
-
-  if (val.is_undefined () && ! silent)
-    error ("get_top_level_value: undefined symbol '%s'", nm.c_str ());
-
-  return val;
-}
-
-void
-set_top_level_value (const std::string& nm, const octave_value& val)
-{
-  octave::symbol_table& symtab =
-    octave::__get_symbol_table__ ("set_top_level_value");
-
-  symtab.top_level_assign (nm, val);
-}
-
 string_vector
 get_struct_elts (const std::string& text)
 {
--- a/libinterp/corefcn/variables.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/corefcn/variables.h	Tue Jan 01 08:13:41 2019 -0800
@@ -111,50 +111,6 @@
 
 extern OCTINTERP_API void maybe_missing_function_hook (const std::string& name);
 
-OCTAVE_DEPRECATED (4.4, "use 'interpreter::mlock' instead")
-extern OCTINTERP_API void mlock (void);
-
-OCTAVE_DEPRECATED (4.4, "use 'interpreter::munlock' instead")
-extern OCTINTERP_API void munlock (const std::string&);
-
-OCTAVE_DEPRECATED (4.4, "use 'interpreter::mislocked' instead")
-extern OCTINTERP_API bool mislocked (const std::string&);
-
-OCTAVE_DEPRECATED (4.4, "use 'tree_evaluator::bind_ans' instead")
-extern OCTINTERP_API void bind_ans (const octave_value& val, bool print);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::clear_mex_functions' instead")
-extern OCTINTERP_API void clear_mex_functions (void);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::clear_function' instead")
-extern OCTINTERP_API void clear_function (const std::string& nm);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::clear_variable' instead")
-extern OCTINTERP_API void clear_variable (const std::string& nm);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::clear_symbol' instead")
-extern OCTINTERP_API void clear_symbol (const std::string& nm);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::varval' instead")
-extern OCTINTERP_API octave_value
-lookup_function_handle (const std::string& nm);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::global_varval' instead")
-extern OCTINTERP_API octave_value
-get_global_value (const std::string& nm, bool silent = false);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::global_assign' instead")
-extern OCTINTERP_API void
-set_global_value (const std::string& nm, const octave_value& val);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::top_level_varval' instead")
-extern OCTINTERP_API octave_value
-get_top_level_value (const std::string& nm, bool silent = false);
-
-OCTAVE_DEPRECATED (4.4, "use 'symbol_table::top_level_assign' instead")
-extern OCTINTERP_API void
-set_top_level_value (const std::string& nm, const octave_value& val);
-
 OCTAVE_DEPRECATED (5, "this function will be removed in a future version of Octave")
 extern OCTINTERP_API string_vector
 get_struct_elts (const std::string& text);
--- a/libinterp/octave-value/ov-base-sparse.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave-value/ov-base-sparse.h	Tue Jan 01 08:13:41 2019 -0800
@@ -150,9 +150,6 @@
 
   bool is_true (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'nzmax' instead")
-  octave_idx_type capacity (void) const { return nzmax (); }
-
   bool print_as_scalar (void) const;
 
   void print (std::ostream& os, bool pr_as_read_syntax = false);
--- a/libinterp/octave-value/ov-base.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave-value/ov-base.h	Tue Jan 01 08:13:41 2019 -0800
@@ -332,10 +332,6 @@
 
   virtual octave_idx_type numel (void) const { return dims ().numel (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  virtual octave_idx_type capacity (void) const
-  { return numel (); }
-
   virtual size_t byte_size (void) const { return 0; }
 
   virtual octave_idx_type nnz (void) const;
--- a/libinterp/octave-value/ov-typeinfo.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave-value/ov-typeinfo.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -770,112 +770,6 @@
     return type_info.register_type (t_name, c_name, val);
   }
 
-  bool register_unary_class_op (octave_value::unary_op op,
-                                unary_class_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_unary_class_op");
-
-    return type_info.register_unary_class_op (op, f);
-  }
-
-  bool register_unary_op (octave_value::unary_op op,
-                          int t, unary_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_unary_op");
-
-    return type_info.register_unary_op (op, t, f);
-  }
-
-  bool register_non_const_unary_op (octave_value::unary_op op,
-                                    int t, non_const_unary_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_non_const_unary_op");
-
-    return type_info.register_non_const_unary_op (op, t, f);
-  }
-
-  bool register_binary_class_op (octave_value::binary_op op,
-                                 binary_class_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_binary_class_op");
-
-    return type_info.register_binary_class_op (op, f);
-  }
-
-  bool register_binary_op (octave_value::binary_op op,
-                           int t1, int t2, binary_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_binary_op");
-
-    return type_info.register_binary_op (op, t1, t2, f);
-  }
-
-  bool register_binary_class_op (octave_value::compound_binary_op op,
-                                 binary_class_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_binary_class_op");
-
-    return type_info.register_binary_class_op (op, f);
-  }
-
-  bool register_binary_op (octave_value::compound_binary_op op,
-                           int t1, int t2, binary_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_binary_op");
-
-    return type_info.register_binary_op (op, t1, t2, f);
-  }
-
-  bool register_cat_op (int t1, int t2, cat_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_cat_op");
-
-    return type_info.register_cat_op (t1, t2, f);
-  }
-
-  bool register_assign_op (octave_value::assign_op op,
-                           int t_lhs, int t_rhs, assign_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_assign_op");
-
-    return type_info.register_assign_op (op, t_lhs, t_rhs, f);
-  }
-
-  bool register_assignany_op (octave_value::assign_op op,
-                              int t_lhs, assignany_op_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_assignany_op");
-
-    return type_info.register_assignany_op (op, t_lhs, f);
-  }
-
-  bool register_pref_assign_conv (int t_lhs, int t_rhs, int t_result)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_pref_assign_conv");
-
-    return type_info.register_pref_assign_conv (t_lhs, t_rhs, t_result);
-  }
-
-  bool register_widening_op (int t, int t_result,
-                             octave_base_value::type_conv_fcn f)
-  {
-    octave::type_info& type_info
-      = octave::__get_type_info__ ("register_widening_op");
-
-    return type_info.register_widening_op (t, t_result, f);
-  }
-
   octave_value lookup_type (const std::string& nm)
   {
     octave::type_info& type_info
--- a/libinterp/octave-value/ov-typeinfo.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave-value/ov-typeinfo.h	Tue Jan 01 08:13:41 2019 -0800
@@ -286,52 +286,6 @@
                             const std::string& c_name,
                             const octave_value& val);
 
-  OCTAVE_DEPRECATED(4.4, "use octave::type_info::register_unary_class_op instead")
-  extern bool register_unary_class_op (octave_value::unary_op op,
-                                       unary_class_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_unary_op instead")
-  extern bool register_unary_op (octave_value::unary_op op,
-                                 int t, unary_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_non_const_unary_op instead")
-  extern bool register_non_const_unary_op (octave_value::unary_op op,
-                                           int t, non_const_unary_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_binary_class_op instead")
-  extern bool register_binary_class_op (octave_value::binary_op op,
-                                        binary_class_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_binary_op instead")
-  extern bool register_binary_op (octave_value::binary_op op,
-                                  int t1, int t2, binary_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_binary_class_op instead")
-  extern bool register_binary_class_op (octave_value::compound_binary_op op,
-                                        binary_class_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_binary_op instead")
-  extern bool register_binary_op (octave_value::compound_binary_op op,
-                                  int t1, int t2, binary_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_cat_op instead")
-  extern bool register_cat_op (int t1, int t2, cat_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_assign_op instead")
-  extern bool register_assign_op (octave_value::assign_op op,
-                                  int t_lhs, int t_rhs, assign_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_assignany_op instead")
-  extern bool register_assignany_op (octave_value::assign_op op,
-                                     int t_lhs, assignany_op_fcn f);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_pref_assign_conv instead")
-  extern bool register_pref_assign_conv (int t_lhs, int t_rhs, int t_result);
-
-  OCTAVE_DEPRECATED (4.4, "use octave::type_info::register_widening_op instead")
-  extern bool register_widening_op (int t, int t_result,
-                                    octave_base_value::type_conv_fcn f);
-
   extern octave_value lookup_type (const std::string& nm);
 
   extern unary_class_op_fcn lookup_unary_class_op (octave_value::unary_op op);
--- a/libinterp/octave-value/ov.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave-value/ov.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -1106,10 +1106,6 @@
   : rep (new octave_class (m, id, plist))
 { }
 
-octave_value::octave_value (const octave_value_list& l, bool)
-  : rep (new octave_cs_list (l))
-{ }
-
 octave_value::octave_value (const octave_value_list& l)
   : rep (new octave_cs_list (l))
 { }
--- a/libinterp/octave-value/ov.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave-value/ov.h	Tue Jan 01 08:13:41 2019 -0800
@@ -291,9 +291,6 @@
   octave_value (const octave_scalar_map& m, const std::string& id,
                 const std::list<std::string>& plist);
 
-  OCTAVE_DEPRECATED (4.4, "note: second argument is always ignored; use octave_value (const octave_value_list&) instead")
-  octave_value (const octave_value_list& m, bool);
-
   // This one is explicit because it can cause some trouble to
   // accidentally create a cs-list when one was not intended.
   explicit octave_value (const octave_value_list& m);
@@ -487,10 +484,6 @@
   octave_idx_type numel (void) const
   { return rep->numel (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type capacity (void) const
-  { return rep->numel (); }
-
   size_t byte_size (void) const
   { return rep->byte_size (); }
 
@@ -530,24 +523,12 @@
   bool isempty (void) const
   { return rep->isempty (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isempty' instead")
-  bool is_empty (void) const
-  { return rep->isempty (); }
-
   bool iscell (void) const
   { return rep->iscell (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'iscell' instead")
-  bool is_cell (void) const
-  { return rep->iscell (); }
-
   bool iscellstr (void) const
   { return rep->iscellstr (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'iscellstr' instead")
-  bool is_cellstr (void) const
-  { return rep->iscellstr (); }
-
   bool is_real_scalar (void) const
   { return rep->is_real_scalar (); }
 
@@ -590,10 +571,6 @@
   bool isstruct (void) const
   { return rep->isstruct (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isstruct' instead")
-  bool is_map (void) const
-  { return rep->isstruct (); }
-
   bool is_classdef_meta (void) const
   { return rep->is_classdef_meta (); }
 
@@ -609,17 +586,9 @@
   bool isobject (void) const
   { return rep->isobject (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isobject' instead")
-  bool is_object (void) const
-  { return rep->isobject (); }
-
   bool isjava (void) const
   { return rep->isjava (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isjava' instead")
-  bool is_java (void) const
-  { return rep->isjava (); }
-
   bool is_cs_list (void) const
   { return rep->is_cs_list (); }
 
@@ -629,10 +598,6 @@
   bool isnull (void) const
   { return rep->isnull (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isnull' instead")
-  bool is_null_value (void) const
-  { return rep->isnull (); }
-
   // Are any or all of the elements in this constant nonzero?
 
   octave_value all (int dim = 0) const
@@ -655,10 +620,6 @@
   bool isfloat (void) const
   { return rep->isfloat (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isfloat' instead")
-  bool is_float_type (void) const
-  { return rep->isfloat (); }
-
   // Integer types.
 
   bool is_int8_type (void) const
@@ -688,33 +649,17 @@
   bool isinteger (void) const
   { return rep->isinteger (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isinteger' instead")
-  bool is_integer_type (void) const
-  { return rep->isinteger (); }
-
   // Other type stuff.
 
   bool islogical (void) const
   { return rep->islogical (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'islogical' instead")
-  bool is_bool_type (void) const
-  { return rep->islogical (); }
-
   bool isreal (void) const
   { return rep->isreal (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isreal' instead")
-  bool is_real_type (void) const
-  { return rep->isreal (); }
-
   bool iscomplex (void) const
   { return rep->iscomplex (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'iscomplex' instead")
-  bool is_complex_type (void) const
-  { return rep->iscomplex (); }
-
   bool is_scalar_type (void) const
   { return rep->is_scalar_type (); }
 
@@ -724,17 +669,9 @@
   bool isnumeric (void) const
   { return rep->isnumeric (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isnumeric' instead")
-  bool is_numeric_type (void) const
-  { return rep->isnumeric (); }
-
   bool issparse (void) const
   { return rep->issparse (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'issparse' instead")
-  bool is_sparse_type (void) const
-  { return rep->issparse (); }
-
   // Does this constant correspond to a truth value?
 
   bool is_true (void) const
@@ -959,10 +896,6 @@
   string_vector string_vector_value (bool pad = false) const
   { return rep->string_vector_value (pad); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'string_vector_value' instead")
-  string_vector all_strings (bool pad = false) const
-  { return string_vector_value (pad); }
-
   Cell cell_value (void) const;
 
   Array<std::string> cellstr_value (void) const
@@ -1381,10 +1314,6 @@
   sortmode issorted (sortmode mode = UNSORTED) const
   { return rep->issorted (mode); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'issorted' instead")
-  sortmode is_sorted (sortmode mode = UNSORTED) const
-  { return rep->issorted (mode); }
-
   Array<octave_idx_type> sort_rows_idx (sortmode mode = ASCENDING) const
   { return rep->sort_rows_idx (mode); }
 
--- a/libinterp/octave.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -396,28 +396,6 @@
   }
 }
 
-// embedded is int here because octave_main is extern "C".
-
-int
-octave_main (int argc, char **argv, int embedded)
-{
-  if (embedded)
-    {
-      if (argc > 0)
-        std::cerr << "warning: ignoring command line options for embedded octave\n";
-
-      static octave::interpreter embedded_interpreter;
-      return embedded_interpreter.execute ();
-    }
-  else
-    {
-      std::cerr << "warning: octave_main should only be used to create an embedded interpreter";
-
-      static octave::cli_application app (argc, argv);
-      return app.execute ();
-    }
-}
-
 DEFUN (isguirunning, args, ,
        doc: /* -*- texinfo -*-
 @deftypefn {} {} isguirunning ()
--- a/libinterp/octave.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/octave.h	Tue Jan 01 08:13:41 2019 -0800
@@ -25,8 +25,6 @@
 
 #include "octave-config.h"
 
-#if defined  (__cplusplus)
-
 #include <list>
 #include <string>
 
@@ -54,9 +52,6 @@
     bool debug_jit (void) const { return m_debug_jit; }
     bool echo_commands (void) const { return m_echo_commands; }
 
-    OCTAVE_DEPRECATED (4.4, "use 'gui' instead")
-    bool force_gui (void) const { return m_gui; }
-
     bool forced_interactive (void) const { return m_forced_interactive; }
     bool forced_line_editing (void) const { return m_forced_line_editing; }
     bool gui (void) const { return m_gui; }
@@ -64,9 +59,6 @@
     bool jit_compiler (void) const { return m_jit_compiler; }
     bool line_editing (void) const { return m_line_editing; }
 
-    OCTAVE_DEPRECATED (4.4, "use '! gui' instead")
-    bool no_gui (void) const { return ! gui (); }
-
     bool no_window_system (void) const { return m_no_window_system; }
     bool persist (void) const { return m_persist; }
     bool read_history_file (void) const { return m_read_history_file; }
@@ -90,9 +82,6 @@
     void debug_jit (bool arg) { m_debug_jit = arg; }
     void echo_commands (bool arg) { m_echo_commands = arg; }
 
-    OCTAVE_DEPRECATED (4.4, "use 'gui' instead")
-    void force_gui (bool arg) { m_gui = arg; }
-
     void forced_line_editing (bool arg) { m_forced_line_editing = arg; }
     void forced_interactive (bool arg) { m_forced_interactive = arg; }
     void gui (bool arg) { m_gui = arg; }
@@ -100,9 +89,6 @@
     void jit_compiler (bool arg) { m_jit_compiler = arg; }
     void line_editing (bool arg) { m_line_editing = arg; }
 
-    OCTAVE_DEPRECATED (4.4, "this has been removed and is the default now")
-    void no_gui (bool) { return; }
-
     void no_window_system (bool arg) { m_no_window_system = arg; }
     void persist (bool arg) { m_persist = arg; }
     void read_history_file (bool arg) { m_read_history_file = arg; }
@@ -386,16 +372,3 @@
 }
 
 #endif
-
-#if defined  (__cplusplus)
-extern "C" {
-#endif
-
-OCTAVE_DEPRECATED (4.4, "see the Octave documentation for other options")
-extern OCTINTERP_API int octave_main (int argc, char **argv, int embedded);
-
-#if defined  (__cplusplus)
-}
-#endif
-
-#endif
--- a/libinterp/parse-tree/comment-list.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/comment-list.h	Tue Jan 01 08:13:41 2019 -0800
@@ -102,14 +102,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::comment_list' instead")
-typedef octave::comment_list octave_comment_list;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::comment_elt' instead")
-typedef octave::comment_elt octave_comment_elt;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/parse.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/parse.h	Tue Jan 01 08:13:41 2019 -0800
@@ -592,101 +592,4 @@
   cleanup_statement_list (tree_statement_list **lst);
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::get_help_from_file' instead")
-static inline std::string
-get_help_from_file (const std::string& nm, bool& symbol_found,
-                    std::string& file)
-{
-  return octave::get_help_from_file (nm, symbol_found, file);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::get_help_from_file' instead")
-static inline std::string
-get_help_from_file (const std::string& nm, bool& symbol_found)
-{
-  return octave::get_help_from_file (nm, symbol_found);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::lookup_autoload' instead")
-static inline std::string
-lookup_autoload (const std::string& nm)
-{
-  return octave::lookup_autoload (nm);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::autoloaded_functions' instead")
-static inline string_vector
-autoloaded_functions (void)
-{
-  return octave::autoloaded_functions ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::reverse_lookup_autoload' instead")
-static inline string_vector
-reverse_lookup_autoload (const std::string& nm)
-{
-  return octave::reverse_lookup_autoload (nm);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::source_file' instead")
-static inline void
-source_file (const std::string& file_name,
-             const std::string& context = "",
-             bool verbose = false, bool require_file = true,
-             const std::string& warn_for = "")
-{
-  octave::source_file (file_name, context, verbose, require_file, warn_for);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::feval' instead")
-static inline octave_value_list
-feval (const std::string& name,
-       const octave_value_list& args = octave_value_list (),
-       int nargout = 0)
-{
-  return octave::feval (name, args, nargout);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::feval' instead")
-static inline octave_value_list
-feval (octave_function *fcn,
-       const octave_value_list& args = octave_value_list (),
-       int nargout = 0)
-{
-  return octave::feval (fcn, args, nargout);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::feval' instead")
-static inline octave_value_list
-feval (const octave_value_list& args, int nargout = 0)
-{
-  return octave::feval (args, nargout);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::eval_string' instead")
-static inline octave_value_list
-eval_string (const std::string& str, bool silent, int& parse_status,
-             int nargout)
-{
-  return octave::eval_string (str, silent, parse_status, nargout);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::eval_string' instead")
-static inline octave_value
-eval_string (const std::string& str, bool silent, int& parse_status)
-{
-  return octave::eval_string (str, silent, parse_status);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::cleanup_statement_list' instead")
-static inline void
-cleanup_statement_list (octave::tree_statement_list **lst)
-{
-  octave::cleanup_statement_list (lst);
-}
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-array-list.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-array-list.h	Tue Jan 01 08:13:41 2019 -0800
@@ -85,11 +85,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_array_list' instead")
-typedef octave::tree_array_list tree_array_list;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-assign.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-assign.h	Tue Jan 01 08:13:41 2019 -0800
@@ -171,14 +171,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_simple_assignment' instead")
-typedef octave::tree_simple_assignment tree_simple_assignment;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_multi_assignment' instead")
-typedef octave::tree_multi_assignment tree_multi_assignment;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-binop.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-binop.h	Tue Jan 01 08:13:41 2019 -0800
@@ -185,14 +185,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_binary_expression' instead")
-typedef octave::tree_binary_expression tree_binary_expression;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_boolean_expression' instead")
-typedef octave::tree_boolean_expression tree_boolean_expression;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-bp.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-bp.h	Tue Jan 01 08:13:41 2019 -0800
@@ -175,11 +175,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_breakpoint' instead")
-typedef octave::tree_breakpoint tree_breakpoint;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-cbinop.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-cbinop.h	Tue Jan 01 08:13:41 2019 -0800
@@ -87,11 +87,4 @@
                                     = octave_value::unknown_binary_op);
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_compound_binary_expression' instead")
-typedef octave::tree_compound_binary_expression tree_compound_binary_expression;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-cell.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-cell.h	Tue Jan 01 08:13:41 2019 -0800
@@ -69,11 +69,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_cell' instead")
-typedef octave::tree_cell tree_cell;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-check.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-check.h	Tue Jan 01 08:13:41 2019 -0800
@@ -142,11 +142,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_checker' instead")
-typedef octave::tree_checker tree_checker;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-cmd.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-cmd.h	Tue Jan 01 08:13:41 2019 -0800
@@ -124,17 +124,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_command' instead")
-typedef octave::tree_command tree_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_no_op_command' instead")
-typedef octave::tree_no_op_command tree_no_op_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_function_def' instead")
-typedef octave::tree_function_def tree_function_def;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-colon.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-colon.h	Tue Jan 01 08:13:41 2019 -0800
@@ -109,11 +109,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_colon_expression' instead")
-typedef octave::tree_colon_expression tree_colon_expression;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-const.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-const.h	Tue Jan 01 08:13:41 2019 -0800
@@ -106,11 +106,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_constant' instead")
-typedef octave::tree_constant tree_constant;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-decl.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-decl.h	Tue Jan 01 08:13:41 2019 -0800
@@ -227,16 +227,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_decl_elt' instead")
-typedef octave::tree_decl_elt tree_decl_elt;
-
-// tree_decl_init_list is derived from a template.
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_decl_command' instead")
-typedef octave::tree_decl_command tree_decl_command;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-eval.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-eval.h	Tue Jan 01 08:13:41 2019 -0800
@@ -662,11 +662,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_evaluator' instead")
-typedef octave::tree_evaluator tree_evaluator;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-except.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-except.h	Tue Jan 01 08:13:41 2019 -0800
@@ -168,14 +168,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_try_catch_command' instead")
-typedef octave::tree_try_catch_command tree_try_catch_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_unwind_protect_command' instead")
-typedef octave::tree_unwind_protect_command tree_unwind_protect_command;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-exp.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-exp.h	Tue Jan 01 08:13:41 2019 -0800
@@ -158,11 +158,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_expression' instead")
-typedef octave::tree_expression tree_expression;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-fcn-handle.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-fcn-handle.h	Tue Jan 01 08:13:41 2019 -0800
@@ -155,14 +155,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_fcn_handle' instead")
-typedef octave::tree_fcn_handle tree_fcn_handle;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_anon_fcn_handle' instead")
-typedef octave::tree_anon_fcn_handle tree_anon_fcn_handle;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-funcall.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-funcall.h	Tue Jan 01 08:13:41 2019 -0800
@@ -88,11 +88,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_funcall' instead")
-typedef octave::tree_funcall tree_funcall;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-id.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-id.h	Tue Jan 01 08:13:41 2019 -0800
@@ -169,14 +169,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_identifier' instead")
-typedef octave::tree_identifier tree_identifier;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_black_hole' instead")
-typedef octave::tree_black_hole tree_black_hole;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-idx.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-idx.h	Tue Jan 01 08:13:41 2019 -0800
@@ -131,11 +131,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_index_expression' instead")
-typedef octave::tree_index_expression tree_index_expression;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-jump.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-jump.h	Tue Jan 01 08:13:41 2019 -0800
@@ -100,17 +100,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_break_command' instead")
-typedef octave::tree_break_command tree_break_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_continue_command' instead")
-typedef octave::tree_continue_command tree_continue_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_return_command' instead")
-typedef octave::tree_return_command tree_return_command;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-loop.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-loop.h	Tue Jan 01 08:13:41 2019 -0800
@@ -322,20 +322,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_while_command' instead")
-typedef octave::tree_while_command tree_while_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_do_until_command' instead")
-typedef octave::tree_do_until_command tree_do_until_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_simple_for_command' instead")
-typedef octave::tree_simple_for_command tree_simple_for_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_complex_for_command' instead")
-typedef octave::tree_complex_for_command tree_complex_for_command;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-mat.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-mat.h	Tue Jan 01 08:13:41 2019 -0800
@@ -78,25 +78,4 @@
   maybe_warn_string_concat (bool all_dq_strings_p, bool all_sq_strings_p);
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_matrix' instead")
-typedef octave::tree_matrix tree_matrix;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::get_concat_class' instead")
-static inline std::string
-get_concat_class (const std::string& c1, const std::string& c2)
-{
-  return octave::get_concat_class (c1, c2);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::maybe_warn_string_concat' instead")
-static inline void
-maybe_warn_string_concat (bool all_dq_strings_p, bool all_sq_strings_p)
-{
-  octave::maybe_warn_string_concat (all_dq_strings_p, all_sq_strings_p);
-}
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-pr-code.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-pr-code.h	Tue Jan 01 08:13:41 2019 -0800
@@ -196,11 +196,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_print_code' instead")
-typedef octave::tree_print_code tree_print_code;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-select.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-select.h	Tue Jan 01 08:13:41 2019 -0800
@@ -292,24 +292,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_if_clause' instead")
-typedef octave::tree_if_clause tree_if_clause;
-
-// tree_if_command_list is derived from a template.
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_if_command' instead")
-typedef octave::tree_if_command tree_if_command;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_switch_case' instead")
-typedef octave::tree_switch_case tree_switch_case;
-
-// tree_switch_case_list is derived from a template.
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_switch_command' instead")
-typedef octave::tree_switch_command tree_switch_command;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-stmt.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-stmt.h	Tue Jan 01 08:13:41 2019 -0800
@@ -207,14 +207,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_statement' instead")
-typedef octave::tree_statement tree_statement;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_statement_list' instead")
-typedef octave::tree_statement_list tree_statement_list;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-unop.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-unop.h	Tue Jan 01 08:13:41 2019 -0800
@@ -152,17 +152,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_unary_expression' instead")
-typedef octave::tree_unary_expression tree_unary_expression;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_prefix_expression' instead")
-typedef octave::tree_prefix_expression tree_prefix_expression;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_postfix_expression' instead")
-typedef octave::tree_postfix_expression tree_postfix_expression;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt-walk.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt-walk.h	Tue Jan 01 08:13:41 2019 -0800
@@ -295,11 +295,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree_walker' instead")
-typedef octave::tree_walker tree_walker;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/pt.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/pt.h	Tue Jan 01 08:13:41 2019 -0800
@@ -121,11 +121,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::tree' instead")
-typedef octave::tree tree;
-
 #endif
-
-#endif
--- a/libinterp/parse-tree/token.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/libinterp/parse-tree/token.h	Tue Jan 01 08:13:41 2019 -0800
@@ -201,11 +201,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::token' instead")
-typedef octave::token token;
-
 #endif
-
-#endif
--- a/liboctave/array/Array.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/Array.h	Tue Jan 01 08:13:41 2019 -0800
@@ -334,34 +334,6 @@
   void clear (octave_idx_type r, octave_idx_type c)
   { clear (dim_vector (r, c)); }
 
-  // Number of elements in the array.  These are all synonyms.
-  //@{
-  //! Number of elements in the array.
-  //! Synonymous with numel().
-  //! @note This method is deprecated in favour of numel().
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type capacity (void) const { return numel (); }
-
-  //! Number of elements in the array.
-  //!
-  //! Synonymous with numel().
-  //! @note This method is deprecated in favour of numel().
-  //!
-  //! @note
-  //! This is @em not the same as @c %length() at the Octave interpreter.
-  //! At the Octave interpreter, the function @c %length() returns the
-  //! length of the greatest dimension.  This method returns the total
-  //! number of elements.
-
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type length (void) const { return numel (); }
-
-  //! Number of elements in the array.
-  //! Synonymous with numel().
-  //! @note This method is deprecated in favour of numel().
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type nelem (void) const { return numel (); }
-
   //! Number of elements in the array.
   octave_idx_type numel (void) const { return slice_len; }
   //@}
@@ -558,22 +530,10 @@
 
   bool issquare (void) const { return (dim1 () == dim2 ()); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'issquare' instead")
-  bool is_square (void) const
-  { return issquare (); }
-
   bool isempty (void) const { return numel () == 0; }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isempty' instead")
-  bool is_empty (void) const
-  { return isempty (); }
-
   bool isvector (void) const { return dimensions.isvector (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isvector' instead")
-  bool is_vector (void) const
-  { return isvector (); }
-
   bool is_nd_vector (void) const { return dimensions.is_nd_vector (); }
 
   Array<T> transpose (void) const;
@@ -712,10 +672,6 @@
   //! Ordering is auto-detected or can be specified.
   sortmode issorted (sortmode mode = UNSORTED) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'issorted' instead")
-  sortmode is_sorted (sortmode mode = UNSORTED) const
-  { return issorted (mode); }
-
   //! Sort by rows returns only indices.
   Array<octave_idx_type> sort_rows_idx (sortmode mode = ASCENDING) const;
 
--- a/liboctave/array/CMatrix.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/CMatrix.h	Tue Jan 01 08:13:41 2019 -0800
@@ -111,10 +111,6 @@
 
   bool ishermitian (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'ishermitian' instead")
-  bool is_hermitian (void) const
-  { return ishermitian (); }
-
   // destructive insert/delete/reorder operations
 
   ComplexMatrix& insert (const Matrix& a, octave_idx_type r, octave_idx_type c);
--- a/liboctave/array/CSparse.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/CSparse.h	Tue Jan 01 08:13:41 2019 -0800
@@ -113,10 +113,6 @@
 
   bool ishermitian (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'ishermitian' instead")
-  bool is_hermitian (void) const
-  { return ishermitian (); }
-
   SparseComplexMatrix max (int dim = -1) const;
   SparseComplexMatrix max (Array<octave_idx_type>& index, int dim = -1) const;
   SparseComplexMatrix min (int dim = -1) const;
--- a/liboctave/array/MatrixType.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/MatrixType.h	Tue Jan 01 08:13:41 2019 -0800
@@ -110,31 +110,15 @@
   bool isdiag (void) const
   { return (typ == Diagonal || typ == Permuted_Diagonal); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isdiag' instead")
-  bool is_diagonal (void) const
-  { return isdiag (); }
-
   bool istriu (void) const
   { return (typ == Upper || typ == Permuted_Upper); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'istriu' instead")
-  bool is_upper_triangular (void) const
-  { return istriu (); }
-
   bool istril (void) const
   { return (typ == Lower || typ == Permuted_Lower); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'istril' instead")
-  bool is_lower_triangular (void) const
-  { return istril (); }
-
   bool isbanded (void) const
   { return (typ == Banded || typ == Banded_Hermitian); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isbanded' instead")
-  bool is_banded (void) const
-  { return isbanded (); }
-
   bool is_tridiagonal (void) const
   { return (typ == Tridiagonal || typ == Tridiagonal_Hermitian); }
 
@@ -144,10 +128,6 @@
             || typ == Hermitian);
   }
 
-  OCTAVE_DEPRECATED (4.4, "use 'ishermitian' instead")
-  bool is_hermitian (void) const
-  { return ishermitian (); }
-
   bool is_rectangular (void) const { return (typ == Rectangular); }
 
   bool is_known (void) const { return (typ != Unknown); }
--- a/liboctave/array/PermMatrix.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/PermMatrix.h	Tue Jan 01 08:13:41 2019 -0800
@@ -60,9 +60,6 @@
   octave_idx_type length (void) const
   { return perm_length (); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type nelem (void) const { return numel (); }
-
   octave_idx_type numel (void) const { return dim1 () * dim2 (); }
 
   size_t byte_size (void) const
--- a/liboctave/array/Range.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/Range.h	Tue Jan 01 08:13:41 2019 -0800
@@ -80,9 +80,6 @@
 
   octave_idx_type numel (void) const { return rng_numel; }
 
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type nelem (void) const { return numel (); }
-
   octave_idx_type rows (void) const { return 1; }
 
   octave_idx_type cols (void) const { return numel (); }
@@ -90,10 +87,6 @@
 
   bool isempty (void) const { return numel () == 0; }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isempty' instead")
-  bool is_empty (void) const
-  { return isempty (); }
-
   bool all_elements_are_ints (void) const;
 
   Matrix matrix_value (void) const;
@@ -112,10 +105,6 @@
 
   sortmode issorted (sortmode mode = ASCENDING) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'issorted' instead")
-  sortmode is_sorted (sortmode mode = ASCENDING) const
-  { return issorted (mode); }
-
   octave_idx_type nnz (void) const;
 
   // Support for single-index subscripting, without generating matrix cache.
--- a/liboctave/array/Sparse.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/Sparse.h	Tue Jan 01 08:13:41 2019 -0800
@@ -231,11 +231,6 @@
   //! This may differ from the actual number of elements, see nnz().
   octave_idx_type nzmax (void) const { return rep->length (); }
 
-  //! Amount of storage for nonzero elements.
-  //! Synonymous with nzmax().
-  OCTAVE_DEPRECATED (4.4, "use 'nzmax' instead")
-  octave_idx_type capacity (void) const { return nzmax (); }
-
   //! Actual number of nonzero terms.
   octave_idx_type nnz (void) const { return rep->nnz (); }
 
@@ -246,12 +241,6 @@
     return dimensions.safe_numel ();
   }
 
-  OCTAVE_DEPRECATED (4.4, "use 'nzmax' instead")
-  octave_idx_type nelem (void) const { return nzmax (); }
-
-  OCTAVE_DEPRECATED (4.4, "use 'numel' instead")
-  octave_idx_type length (void) const { return numel (); }
-
   octave_idx_type dim1 (void) const { return dimensions(0); }
   octave_idx_type dim2 (void) const { return dimensions(1); }
 
@@ -471,16 +460,8 @@
 
   bool issquare (void) const { return (dim1 () == dim2 ()); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'issquare' instead")
-  bool is_square (void) const
-  { return issquare (); }
-
   bool isempty (void) const { return (rows () < 1 || cols () < 1); }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isempty' instead")
-  bool is_empty (void) const
-  { return isempty (); }
-
   Sparse<T> transpose (void) const;
 
   T * data (void) { make_unique (); return rep->d; }
--- a/liboctave/array/boolNDArray.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/boolNDArray.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -67,21 +67,6 @@
   return do_mx_red_op<bool, bool> (*this, dim, mx_inline_any);
 }
 
-NDArray
-boolNDArray::sum (int dim) const
-{
-  // NOTE: going via octave_idx_type is typically faster even though it
-  // requires a conversion.
-  return do_mx_red_op<octave_idx_type, bool> (*this, dim, mx_inline_count);
-}
-
-NDArray
-boolNDArray::cumsum (int dim) const
-{
-  // In this case, it's better to sum directly to doubles.
-  return do_mx_cum_op<double , bool> (*this, dim, mx_inline_cumcount);
-}
-
 boolNDArray
 boolNDArray::concat (const boolNDArray& rb,
                      const Array<octave_idx_type>& ra_idx)
--- a/liboctave/array/boolNDArray.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/boolNDArray.h	Tue Jan 01 08:13:41 2019 -0800
@@ -68,12 +68,6 @@
   boolNDArray all (int dim = -1) const;
   boolNDArray any (int dim = -1) const;
 
-  OCTAVE_DEPRECATED (4.4, "convert to and operate on numeric type instead")
-  NDArray sum (int dim = -1) const;
-
-  OCTAVE_DEPRECATED (4.4, "convert to and operate on numeric type instead")
-  NDArray cumsum (int dim = -1) const;
-
   boolNDArray concat (const boolNDArray& rb,
                       const Array<octave_idx_type>& ra_idx);
 
--- a/liboctave/array/dMatrix.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/dMatrix.h	Tue Jan 01 08:13:41 2019 -0800
@@ -98,10 +98,6 @@
 
   bool issymmetric (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'issymmetric' instead")
-  bool is_symmetric (void) const
-  { return issymmetric (); }
-
   // destructive insert/delete/reorder operations
 
   Matrix& insert (const Matrix& a, octave_idx_type r, octave_idx_type c);
--- a/liboctave/array/dSparse.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/dSparse.h	Tue Jan 01 08:13:41 2019 -0800
@@ -102,10 +102,6 @@
 
   bool issymmetric (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'issymmetric' instead")
-  bool is_symmetric (void) const
-  { return issymmetric (); }
-
   SparseMatrix max (int dim = -1) const;
   SparseMatrix max (Array<octave_idx_type>& index, int dim = -1) const;
   SparseMatrix min (int dim = -1) const;
--- a/liboctave/array/dim-vector.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/dim-vector.h	Tue Jan 01 08:13:41 2019 -0800
@@ -424,10 +424,6 @@
     return (ndims () == 2 && (xelem (0) == 1 || xelem (1) == 1));
   }
 
-  OCTAVE_DEPRECATED (4.4, "use 'isvector' instead")
-  bool is_vector (void) const
-  { return isvector (); }
-
   bool is_nd_vector (void) const
   {
     int num_non_one = 0;
--- a/liboctave/array/fCMatrix.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/fCMatrix.h	Tue Jan 01 08:13:41 2019 -0800
@@ -116,10 +116,6 @@
 
   bool ishermitian (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'ishermitian' instead")
-  bool is_hermitian (void) const
-  { return ishermitian (); }
-
   // destructive insert/delete/reorder operations
 
   FloatComplexMatrix& insert (const FloatMatrix& a,
--- a/liboctave/array/fMatrix.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/fMatrix.h	Tue Jan 01 08:13:41 2019 -0800
@@ -98,10 +98,6 @@
 
   bool issymmetric (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'issymmetric' instead")
-  bool is_symmetric (void) const
-  { return issymmetric (); }
-
   // destructive insert/delete/reorder operations
 
   FloatMatrix& insert (const FloatMatrix& a,
--- a/liboctave/array/idx-vector.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/array/idx-vector.h	Tue Jan 01 08:13:41 2019 -0800
@@ -1023,10 +1023,6 @@
 
   bool isvector (void) const;
 
-  OCTAVE_DEPRECATED (4.4, "use 'isvector' instead")
-  bool is_vector (void) const
-  { return isvector (); }
-
   // FIXME: these are here for compatibility.  They should be removed
   // when no longer in use.
 
--- a/liboctave/numeric/lo-mappers.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/numeric/lo-mappers.h	Tue Jan 01 08:13:41 2019 -0800
@@ -39,20 +39,9 @@
   namespace math
   {
     extern OCTAVE_API bool isna (double x);
-    OCTAVE_DEPRECATED (4.4, "use 'math::isna' instead")
-    inline bool is_NA (double x) { return math::isna (x); }
-
     extern OCTAVE_API bool isna (float x);
-    OCTAVE_DEPRECATED (4.4, "use 'math::isna' instead")
-    inline bool is_NA (float x) { return math::isna (x); }
-
     extern OCTAVE_API bool isna (const Complex& x);
-    OCTAVE_DEPRECATED (4.4, "use 'math::isna' instead")
-    inline bool is_NA (const Complex& x) { return math::isna (x); }
-
     extern OCTAVE_API bool isna (const FloatComplex& x);
-    OCTAVE_DEPRECATED (4.4, "use 'math::isna' instead")
-    inline bool is_NA (const FloatComplex& x) { return math::isna (x); }
 
     extern OCTAVE_API bool is_NaN_or_NA (const Complex& x);
     extern OCTAVE_API bool is_NaN_or_NA (const FloatComplex& x);
@@ -209,19 +198,6 @@
       return (isfinite (std::real (x)) && isfinite (std::imag (x)));
     }
 
-    OCTAVE_DEPRECATED (4.4, "use 'math::isfinite' instead")
-    inline bool finite (double x) { return math::isfinite (x); }
-    OCTAVE_DEPRECATED (4.4, "use 'math::isfinite' instead")
-    inline bool finite (float x) { return math::isfinite (x); }
-
-    template <typename T>
-    OCTAVE_DEPRECATED (4.4, "use 'math::isfinite' instead")
-    bool
-    finite (const std::complex<T>& x)
-    {
-      return math::isfinite (x);
-    }
-
     inline bool isinf (double x) { return std::isinf (x); }
     inline bool isinf (float x) { return std::isinf (x); }
 
@@ -479,21 +455,4 @@
   }
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::math::isfinite' instead")
-inline bool xfinite (double x) { return octave::math::isfinite (x); }
-OCTAVE_DEPRECATED (4.4, "use 'octave::math::isfinite' instead")
-inline bool xfinite (float x) { return octave::math::isfinite (x); }
-
-template <typename T>
-OCTAVE_DEPRECATED (4.4, "use 'octave::math::isfinite' instead")
-bool
-xfinite (const std::complex<T>& x)
-{
-  return octave::math::isfinite (x);
-}
-
 #endif
-
-#endif
--- a/liboctave/numeric/oct-fftw.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/numeric/oct-fftw.h	Tue Jan 01 08:13:41 2019 -0800
@@ -376,31 +376,4 @@
   extern OCTAVE_API std::string fftwf_version (void);
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::fftw_version' instead")
-static inline std::string
-octave_fftw_version (void)
-{
-  return octave::fftw_version ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::fftwf_version' instead")
-static inline std::string
-octave_fftwf_version (void)
-{
-  return octave::fftwf_version ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::fftw_planner' instead")
-typedef octave::fftw_planner octave_fftw_planner;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::float_fftw_planner' instead")
-typedef octave::float_fftw_planner octave_float_fftw_planner;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::fftw' instead")
-typedef octave::fftw octave_fftw;
-
 #endif
-
-#endif
--- a/liboctave/numeric/oct-rand.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/numeric/oct-rand.h	Tue Jan 01 08:13:41 2019 -0800
@@ -287,11 +287,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand' instead")
-typedef octave::rand octave_rand;
-
 #endif
-
-#endif
--- a/liboctave/numeric/randgamma.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/numeric/randgamma.h	Tue Jan 01 08:13:41 2019 -0800
@@ -44,32 +44,4 @@
   }
 }
 
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_gamma<double>' instead")
-inline double
-oct_randg (double a)
-{
-  return octave::rand_gamma (a);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_gamma<float>' instead")
-inline float
-oct_float_randg (float a)
-{
-  return octave::rand_gamma (a);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_gamma<double>' instead")
-inline void
-oct_fill_randg (double a, octave_idx_type n, double *p)
-{
-  octave::rand_gamma (a, n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_gamma<float>' instead")
-inline void
-oct_fill_float_randg (float a, octave_idx_type n, float *p)
-{
-  octave::rand_gamma (a, n, p);
-}
-
 #endif
--- a/liboctave/numeric/randmtzig.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/numeric/randmtzig.h	Tue Jan 01 08:13:41 2019 -0800
@@ -115,123 +115,4 @@
   rand_exponential<float> (octave_idx_type n, float *p);
 }
 
-OCTAVE_DEPRECATED (4.4, "use 'octave::init_mersenne_twister' instead")
-inline void
-oct_init_by_entropy (void)
-{
-  octave::init_mersenne_twister ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::init_mersenne_twister' instead")
-inline void
-oct_init_by_int (const uint32_t seed)
-{
-  octave::init_mersenne_twister (seed);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::init_mersenne_twister' instead")
-inline void
-oct_init_by_array (const uint32_t *init_key, const int key_length)
-{
-  octave::init_mersenne_twister (init_key, key_length);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::set_mersenne_twister_state' instead")
-inline void
-oct_set_state (const uint32_t *save)
-{
-  octave::set_mersenne_twister_state (save);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::get_mersenne_twister_state' instead")
-inline void
-oct_get_state (uint32_t *save)
-{
-  octave::get_mersenne_twister_state (save);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_uniform<double>' instead")
-inline double
-oct_randu (void)
-{
-  return octave::rand_uniform<double> ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_normal<double>' instead")
-inline double
-oct_randn (void)
-{
-  return octave::rand_normal<double> ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_exponential<double>' instead")
-inline double
-oct_rande (void)
-{
-  return octave::rand_exponential<double> ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_uniform' instead")
-inline void
-oct_fill_randu (octave_idx_type n, double *p)
-{
-  octave::rand_uniform (n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_normal' instead")
-inline void
-oct_fill_randn (octave_idx_type n, double *p)
-{
-  octave::rand_normal (n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_exponential' instead")
-inline void
-oct_fill_rande (octave_idx_type n, double *p)
-{
-  octave::rand_exponential (n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_uniform<float>' instead")
-inline float
-oct_float_randu (void)
-{
-  return octave::rand_uniform<float> ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_normal<float>' instead")
-inline float
-oct_float_randn (void)
-{
-  return octave::rand_normal<float> ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_exponential<float>' instead")
-inline float
-oct_float_rande (void)
-{
-  return octave::rand_exponential<float> ();
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_uniform' instead")
-inline void
-oct_fill_float_randu (octave_idx_type n, float *p)
-{
-  octave::rand_uniform (n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_normal' instead")
-inline void
-oct_fill_float_randn (octave_idx_type n, float *p)
-{
-  octave::rand_normal (n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_exponential' instead")
-inline void
-oct_fill_float_rande (octave_idx_type n, float *p)
-{
-  octave::rand_exponential (n, p);
-}
-
 #endif
--- a/liboctave/numeric/randpoisson.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/numeric/randpoisson.h	Tue Jan 01 08:13:41 2019 -0800
@@ -35,32 +35,4 @@
   template <typename T> T rand_poisson (T L);
 }
 
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_poisson<double>' instead")
-inline double
-oct_randp (double L)
-{
-  return octave::rand_poisson (L);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_poisson<double>' instead")
-inline void
-oct_fill_randp (double L, octave_idx_type n, double *p)
-{
-  octave::rand_poisson (L, n, p);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_poisson<float>' instead")
-inline float
-oct_float_randp (float L)
-{
-  return octave::rand_poisson (L);
-}
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::rand_poisson<float>' instead")
-inline void
-oct_fill_float_randp (float L, octave_idx_type n, float *p)
-{
-  octave::rand_poisson (L, n, p);
-}
-
 #endif
--- a/liboctave/system/mach-info.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/system/mach-info.h	Tue Jan 01 08:13:41 2019 -0800
@@ -53,45 +53,4 @@
   }
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-class oct_mach_info
-{
-public:
-
-  typedef octave::mach_info::float_format float_format;
-
-  OCTAVE_DEPRECATED (4.4, "use 'octave::mach_info::native_float_format' instead")
-  static float_format native_float_format (void)
-  {
-    return octave::mach_info::native_float_format ();
-  }
-
-  OCTAVE_DEPRECATED (4.4, "use 'octave::mach_info::words_big_endian' instead")
-  static bool words_big_endian (void)
-  {
-    return octave::mach_info::words_big_endian ();
-  }
-
-  OCTAVE_DEPRECATED (4.4, "use 'octave::mach_info::words_little_endian' instead")
-  static bool words_little_endian (void)
-  {
-    return octave::mach_info::words_little_endian ();
-  }
-
-  OCTAVE_DEPRECATED (4.4, "use 'octave::mach_info::string_to_float_format' instead")
-  static float_format string_to_float_format (const std::string& str)
-  {
-    return octave::mach_info::string_to_float_format (str);
-  }
-
-  OCTAVE_DEPRECATED (4.4, "use 'octave::mach_info::float_format_as_string' instead")
-  static std::string float_format_as_string (float_format ff)
-  {
-    return octave::mach_info::float_format_as_string (ff);
-  }
-};
-
 #endif
-
-#endif
--- a/liboctave/util/action-container.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/action-container.h	Tue Jan 01 08:13:41 2019 -0800
@@ -225,11 +225,4 @@
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::action_container' instead")
-typedef octave::action_container action_container;
-
 #endif
-
-#endif
--- a/liboctave/util/f77-fcn.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/f77-fcn.h	Tue Jan 01 08:13:41 2019 -0800
@@ -45,9 +45,6 @@
 #  define F77_FCN(f, F) F77_FUNC (f, F)
 #endif
 
-OCTAVE_DEPRECATED (4.4, "this variable is obsolete and should not be needed")
-static const int f77_exception_encountered = 0;
-
 /*
 
 The following macros are used for handling Fortran <-> C calling
--- a/liboctave/util/oct-base64.cc	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/oct-base64.cc	Tue Jan 01 08:13:41 2019 -0800
@@ -92,23 +92,3 @@
     return retval;
   }
 }
-
-// Always define these functions.  The macro is intended to allow the
-// declarations to be hidden, not so that Octave will not provide the
-// functions if they are requested.
-
-// #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-bool
-octave_base64_encode (const char *inc, const size_t inlen, char **out)
-{
-  return octave::base64_encode (inc, inlen, out);
-}
-
-Array<double>
-octave_base64_decode (const std::string& str)
-{
-  return octave::base64_decode (str);
-}
-
-// #endif
--- a/liboctave/util/oct-base64.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/oct-base64.h	Tue Jan 01 08:13:41 2019 -0800
@@ -38,16 +38,4 @@
   base64_decode (const std::string& str);
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::base_64_encode' instead")
-extern bool
-octave_base64_encode (const char *inc, const size_t inlen, char **out);
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::base_64_decode' instead")
-extern Array<double>
-octave_base64_decode (const std::string& str);
-
 #endif
-
-#endif
--- a/liboctave/util/oct-mutex.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/oct-mutex.h	Tue Jan 01 08:13:41 2019 -0800
@@ -152,26 +152,7 @@
     static void init (void);
 
     static bool is_thread (void);
-
-    OCTAVE_DEPRECATED (4.4, "use 'is_thread' instead")
-    static bool is_octave_thread (void) { return is_thread (); }
   };
 }
 
-#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::mutex' instead")
-typedef octave::mutex octave_mutex;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::base_mutex' instead")
-typedef octave::base_mutex octave_base_mutex;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::autolock' instead")
-typedef octave::autolock octave_autolock;
-
-OCTAVE_DEPRECATED (4.4, "use 'octave::thread' instead")
-typedef octave::thread octave_thread;
-
 #endif
-
-#endif
--- a/liboctave/util/oct-refcount.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/oct-refcount.h	Tue Jan 01 08:13:41 2019 -0800
@@ -122,7 +122,4 @@
   };
 }
 
-template <typename T>
-using octave_refcount OCTAVE_DEPRECATED (4.4, "use 'octave::refcount' instead") = octave::refcount<T>;
-
 #endif
--- a/liboctave/util/oct-sort.h	Sun Dec 30 18:00:03 2018 +0100
+++ b/liboctave/util/oct-sort.h	Tue Jan 01 08:13:41 2019 -0800
@@ -124,10 +124,6 @@
   // Check whether an array is sorted.
   bool issorted (const T *data, octave_idx_type nel);
 
-  OCTAVE_DEPRECATED (4.4, "use 'issorted' instead")
-  bool is_sorted (const T *data, octave_idx_type nel)
-  { return issorted (data, nel); }
-
   // Sort a matrix by rows, return a permutation
   // vector.
   void sort_rows (const T *data, octave_idx_type *idx,
@@ -312,11 +308,6 @@
   bool issorted (const T *data, octave_idx_type nel, Comp comp);
 
   template <typename Comp>
-  OCTAVE_DEPRECATED (4.4, "use 'issorted' instead")
-  bool is_sorted (const T *data, octave_idx_type nel, Comp comp)
-  { return issorted (data, nel, comp); }
-
-  template <typename Comp>
   void sort_rows (const T *data, octave_idx_type *idx,
                   octave_idx_type rows, octave_idx_type cols,
                   Comp comp);
--- a/scripts/deprecated/chop.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-## Copyright (C) 2010-2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {} {} chop (@var{x}, @var{ndigits}, @var{base})
-##
-## @code{chop} is deprecated and will be removed in Octave version 6.
-##
-## Truncate elements of @var{x} to a length of @var{ndigits} such that the
-## resulting numbers are exactly divisible by @var{base}.
-##
-## If @var{base} is not specified it defaults to 10.
-##
-## @example
-## @group
-## format long
-## chop (-pi, 5, 10)
-##    @result{} -3.14200000000000
-## chop (-pi, 5, 5)
-##    @result{} -3.14150000000000
-## @end group
-## @end example
-## @end deftypefn
-
-## Deprecated in version 4.4
-
-function retval = chop (x, ndigits, base = 10)
-
-  persistent warned = false;
-  if (! warned)
-    warned = true;
-    warning ("Octave:deprecated-function",
-             "chop is obsolete and will be removed from a future version of Octave");
-  endif
-
-  if (nargin == 2 || nargin == 3)
-    tmp = abs (x);
-
-    ## Avoid computing log (0).
-    tmp(x == 0) = 1;
-
-    ## Digits to the left of the decimal.
-    tmp = floor (log10 (tmp) + 1);
-
-    ## The expression
-    ##
-    ##   round (x .* inflate)
-    ##
-    ## produces an integer that contains the digits we want to keep.
-    ## Multiplying by deflate puts the decimal back where it belngs.
-    ##
-    ## Further scaling and rounding with the base factor produces a
-    ## value with ndigits exactly divisible by base.  We skip that step
-    ## unless base was explicitly provided.
-
-    inflate = 10 .^ (ndigits - tmp);
-    deflate = 1 ./ inflate;
-    if (nargin == 2)
-      retval = deflate .* round (x .* inflate);
-    else
-      retval = base .* deflate .* round (round (x .* inflate) ./ base);
-    endif
-  else
-    print_usage ();
-  endif
-
-endfunction
-
-
-## First test is necessary to provoke 1-time legacy warning
-%!test
-%! warning ("off", "Octave:deprecated-function", "local");
-%! chop (0, 1);
-
-%!assert (chop (e, 3), 2.72)
-%!assert (chop (e, 4), 2.718)
-%!assert (chop (e, 4, 5), 2.72)
-%!assert (chop (e, 4, 7), 2.716)
-%!assert (chop (-e, 3), -2.72)
-%!assert (chop (-e, 4), -2.718)
-%!assert (chop (-e, 4, 5), -2.72)
-%!assert (chop (-e, 4, 7), -2.716)
-%!assert (chop (hilb (3), 3), [1,.5,.333;.5,.333,.25;.333,.25,.2])
-%!assert (chop (hilb (3), 2, 7), [.7,.49,.35;.49,.35,.28;.35,.28,.21], 2*eps)
--- a/scripts/deprecated/comma.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-## Copyright (C) 1995-2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {} {} ,
-## Array index, function argument, or command separator.
-## @seealso{semicolon}
-## @end deftypefn
-
-
-## Mark file as being tested.  No real test needed for a documentation .m file
-%!assert (1)
--- a/scripts/deprecated/desktop.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-## Copyright (C) 2013-2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {} {@var{used} =} desktop ("-inuse")
-##
-## @code{desktop} is deprecated and will be removed in Octave version 6.
-## Use @code{isguirunning} for the equivalent functionality.
-##
-## Return true if the desktop (GUI) is currently in use.
-## @seealso{isguirunning}
-## @end deftypefn
-
-## Deprecated in version 4.4
-
-function retval = desktop (arg)
-
-  persistent warned = false;
-  if (! warned)
-    warned = true;
-    warning ("Octave:deprecated-function",
-             "desktop is obsolete and will be removed from a future version of Octave, please use isguirunning instead");
-  endif
-
-  if (nargin == 0)
-    if (isguirunning ())
-      return;  # desktop() is a NOP when GUI running
-    else
-      print_usage ();
-    endif
-  elseif (nargin > 1)
-    error ('desktop: only one argument, "-inuse", is allowed');
-  endif
-
-  switch (tolower (arg))
-    case "-inuse"
-      retval = isguirunning ();
-    otherwise
-      print_usage ();
-  endswitch
-
-endfunction
-
-
-## Test input validation
-%!error <only one argument, "-inuse", is allowed> desktop (1,2)
-%!error desktop ("-invalid_option")
--- a/scripts/deprecated/java2mat.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-## Copyright (C) 2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {} {} java2mat (@var{javaobj})
-## @code{java2mat} is deprecated and will be removed in Octave version 6.
-##
-## For the next two releases, use @code{__java2mat__} if necessary, and file
-## a bug report explaining your programming use of @code{java2mat} and how it
-## can't be done with other Octave functions.
-## @end deftypefn
-
-function retval = java2mat (varargin)
-
-  persistent warned = false;
-  if (! warned)
-    warned = true;
-    warning ("Octave:deprecated-function",
-             "java2mat is obsolete and will be removed from a future version of Octave");
-  endif
-
-  retval = __java2mat__ (varargin{:});
-
-endfunction
-
-
-## No tests needed for alias.
-%!assert (1)
--- a/scripts/deprecated/module.mk	Sun Dec 30 18:00:03 2018 +0100
+++ b/scripts/deprecated/module.mk	Tue Jan 01 08:13:41 2019 -0800
@@ -1,15 +1,7 @@
 FCN_FILE_DIRS += scripts/deprecated
 
 %canon_reldir%_FCN_FILES = \
-  %reldir%/chop.m \
-  %reldir%/comma.m \
-  %reldir%/desktop.m \
-  %reldir%/java2mat.m \
-  %reldir%/output_max_field_width.m \
-  %reldir%/paren.m \
-  %reldir%/semicolon.m \
-  %reldir%/tmpnam.m \
-  %reldir%/toascii.m
+  %reldir%/output_max_field_width.m
 
 %canon_reldir%dir = $(fcnfiledir)/deprecated
 
--- a/scripts/deprecated/paren.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-## Copyright (C) 1996-2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {} {} (
-## @deftypefnx {} {} )
-## Array index or function argument delimeter.
-## @end deftypefn
-
-
-## Mark file as being tested.  No real test needed for a documentation .m file
-%!assert (1)
--- a/scripts/deprecated/semicolon.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-## Copyright (C) 1995-2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {} {} ;
-## Array row or command separator.
-## @seealso{comma}
-## @end deftypefn
-
-
-## Mark file as being tested.  No real test needed for a documentation .m file
-%!assert (1)
--- a/scripts/deprecated/tmpnam.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-## Copyright (C) 2003-2018 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {} {@var{fname} =} tmpnam ()
-## @deftypefnx {} {@var{fname} =} tmpnam (@var{dir})
-## @deftypefnx {} {@var{fname} =} tmpnam (@var{dir}, @var{prefix})
-## @code{tmpnam} is deprecated and will be removed in Octave version 6.
-## Use @code{tempname} instead.
-##
-## Return a unique temporary filename as a string.
-##
-## If @var{prefix} is omitted, a value of @qcode{"oct-"} is used.
-##
-## If @var{dir} is also omitted, the default directory for temporary files
-## (@code{P_tmpdir} is used.  If @var{dir} is provided, it must exist,
-## otherwise the default directory for temporary files is used.
-##
-## Programming Note: Because the named file is not opened by @code{tmpnam},
-## it is possible, though relatively unlikely, that it will not be available
-## by the time your program attempts to open it.  If this is a concern,
-## see @code{tmpfile}.  The functions @code{tmpnam} and @code{tempname} are
-## equivalent with the latter provided for @sc{matlab} compatibility.
-##
-## @strong{Caution}: @code{tmpnam} will be removed in Octave version 6, or
-## whatever the version number is two releases from 4.4. Use the equivalent
-## @code{tempname} in all new code.
-## @seealso{tempname, mkstemp, tempdir, P_tmpdir, tmpfile}
-## @end deftypefn
-
-function filename = tmpnam (varargin)
-
-  persistent warned = false;
-  if (! warned)
-    warned = true;
-    warning ("Octave:deprecated-function",
-             "tmpnam is obsolete and will be removed from a future version of Octave, please use tempname instead");
-  endif
-
-  filename = tempname (varargin{:});
-
-endfunction
-
-
-## No tests needed for alias.
-%!assert (1)
--- a/scripts/deprecated/toascii.m	Sun Dec 30 18:00:03 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-## Copyright (C) 2018 Rik Wehbring
-##
-## This file is part of Octave.
-##
-## Octave is free software: you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <https://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {} {} toascii (@var{str})
-##
-## @code{toascii} is deprecated and will be removed in Octave version 6.
-## Use @code{double} instead.
-##
-## Return ASCII representation of @var{str} in a matrix.
-##
-## For example:
-##
-## @example
-## @group
-## toascii ("ASCII"
-##      @result{} [ 65, 83, 67, 73, 73 ]
-## @end group
-##
-## @end example
-## @seealso{double, char}
-## @end deftypefn
-
-## FIXME: DEPRECATED: Remove in version 6.
-
-function retval = toascii (str)
-
-  persistent warned = false;
-  if (! warned)
-    warned = true;
-    warning ("Octave:deprecated-function",
-             "toascii is obsolete and will be removed from a future version of Octave, please use double instead");
-  endif
-
-  if (nargin != 1)
-    print_usage ();
-  endif
-
-  if (iscell (str))
-    retval = cellfun (@(x) bitand (double (x), 0x7F), str, "uniformoutput", 0);
-  else
-    retval = bitand (double (str), 0x7F);  # Restrict to 7-bit ASCII
-  endif
-
-endfunction
-
-
-## First test is necessary to provoke 1-time legacy warning
-%!test
-%! warning ("off", "Octave:deprecated-function", "local");
-%! toascii ("");
-
-%!assert (toascii (char (0:127)), 0:127)
-%!assert (toascii (" ":"@"), 32:64)
-%!assert (toascii ("A":"Z"), 65:90)
-%!assert (toascii ("[":"`"), 91:96)
-%!assert (toascii ("a":"z"), 97:122)
-%!assert (toascii ("{":"~"), 123:126)
-
-%!error toascii ()
-%!error toascii (1, 2)
--- a/scripts/optimization/qp.m	Sun Dec 30 18:00:03 2018 +0100
+++ b/scripts/optimization/qp.m	Tue Jan 01 08:13:41 2019 -0800
@@ -69,18 +69,19 @@
 ## the number of constraints.  The algorithm is faster if the initial guess is
 ## feasible.
 ##
-## @table @var
-## @item options
-## An optional structure containing the following parameter(s) used to define
-## the behavior of the solver.  Missing elements in the structure take on
-## default values, so you only need to set the elements that you wish to
-## change from the default.
+## @var{options} is a structure specifying additional parameters which
+## control the algorithm.  Currently, @code{qp} recognizes these options:
+## @qcode{"MaxIter"}, @qcode{"TolX"}.
 ##
-## @table @code
-## @item MaxIter (default: 200)
-## Maximum number of iterations.
-## @end table
-## @end table
+## @qcode{"MaxIter"} proscribes the maximum number of algorithm iterations
+## before optimization is halted.  The default value is 200.
+## The value must be a positive integer.
+##
+## @qcode{"TolX"} specifies the termination tolerance for the unknown variables
+## @var{x}.  The default is @code{sqrt (eps)} or approximately 1e-8.
+##
+## On return, @var{x} is the location of the minimum and @var{fval} contains
+## the value of the objective function at @var{x}.
 ##
 ## @table @var
 ## @item info
@@ -112,6 +113,7 @@
 ## @end table
 ## @end table
 ## @end table
+## @seealso{sqp}
 ## @end deftypefn
 
 ## PKG_ADD: ## Discard result to avoid polluting workspace with ans at startup.
@@ -120,7 +122,7 @@
 function [x, obj, INFO, lambda] = qp (x0, H, varargin)
 
   if (nargin == 1 && ischar (x0) && strcmp (x0, "defaults"))
-    x = struct ("MaxIter", 200);
+    x = struct ("MaxIter", 200, "TolX", sqrt (eps));
     return;
   endif
 
@@ -169,6 +171,7 @@
   endif
 
   maxit = optimget (options, "MaxIter", 200);
+  tol = optimget (options, "TolX", sqrt (eps));
 
   ## Validate the quadratic penalty.
   if (! issquare (H))
@@ -243,7 +246,7 @@
     endif
 
     if (! isempty (lb) && ! isempty (ub))
-      rtol = sqrt (eps);
+      rtol = tol;
       for i = 1:n
         if (abs (lb (i) - ub(i)) < rtol*(1 + max (abs (lb(i) + ub(i)))))
           ## These are actually an equality constraint
@@ -291,7 +294,7 @@
       endif
 
       if (! isempty (A_lb) && ! isempty (A_ub))
-        rtol = sqrt (eps);
+        rtol = tol;
         for i = 1:dimA_in
           if (abs (A_lb(i) - A_ub(i))
               < rtol*(1 + max (abs (A_lb(i) + A_ub(i)))))
@@ -331,7 +334,7 @@
       || isa (A, "single") || isa (b, "single"))
     rtol = sqrt (eps ("single"));
   else
-    rtol = sqrt (eps);
+    rtol = tol;
   endif
 
   eq_infeasible = (n_eq > 0 && norm (A*x0-b) > rtol*(1+abs (b)));
@@ -407,10 +410,10 @@
       x0 = xbar;
     endif
   endif
-
+  
   if (info == 0)
     ## The initial (or computed) guess is feasible.  Call the solver.
-    [x, lambda, info, iter] = __qp__ (x0, H, q, A, b, Ain, bin, maxit);
+    [x, lambda, info, iter] = __qp__ (x0, H, q, A, b, Ain, bin, maxit, rtol);
   else
     iter = 0;
     x = x0;
--- a/scripts/optimization/sqp.m	Sun Dec 30 18:00:03 2018 +0100
+++ b/scripts/optimization/sqp.m	Tue Jan 01 08:13:41 2019 -0800
@@ -417,7 +417,7 @@
 
     old_lambda = lambda;
     [p, obj_qp, INFO, lambda] = qp (x, B, c, F, g, [], [], d, C,
-                                    Inf (size (d)));
+                                    Inf (size (d)), struct ("TolX", tol));
 
     info = INFO.info;
 
--- a/scripts/plot/appearance/annotation.m	Sun Dec 30 18:00:03 2018 +0100
+++ b/scripts/plot/appearance/annotation.m	Tue Jan 01 08:13:41 2019 -0800
@@ -480,13 +480,10 @@
 
       hr = patch (x, y, "parent", h);
 
-      ## FIXME: DEPRECATED: Remove warn state switching in version 6.
-      old_warn_state = warning ("off", "Octave:deprecated-property");
       propnames = rectprops ("names");
       for ii = 1:numel (propnames)
         update_rect (h, {}, propnames{ii}, hr, objtype);
       endfor
-      warning (old_warn_state);
 
       rectmenu (hui, h);
       set (hr, "uicontextmenu", hui);
--- a/test/deprecate-props.tst	Sun Dec 30 18:00:03 2018 +0100
+++ b/test/deprecate-props.tst	Tue Jan 01 08:13:41 2019 -0800
@@ -31,62 +31,24 @@
 %!  endif
 %!endfunction
 
-## annotation rectangle "edgecolor" deprecated in 4.4, remove from version 6.
-%!test
-%! hf = figure ("visible", "off");
-%! unwind_protect
-%!   ha = annotation ("rectangle");
-%!   testprop (ha, "edgecolor", "6.0");
-%! unwind_protect_cleanup
-%!   close (hf);
-%! end_unwind_protect
-
-## figure "doublebuffer, mincolormap, wvisual, wvisualmode, xdisplay,
-## xvisual, xvisualmode" deprecated in 4.4, remove from version 6.
-%!test
-%! hf = figure ("visible", "off");
-%! unwind_protect
-%!   testprop (hf, "doublebuffer", "6.0");
-%!   testprop (hf, "mincolormap", "6.0");
-%!   testprop (hf, "wvisual", "6.0");
-%!   testprop (hf, "wvisualmode", "6.0");
-%!   testprop (hf, "xdisplay", "6.0");
-%!   testprop (hf, "xvisual", "6.0");
-%!   testprop (hf, "xvisualmode", "6.0");
-%! unwind_protect_cleanup
-%!   close (hf)
-%! end_unwind_protect
-
-## axes "drawmode" deprecated in 4.4, remove from version 6.
-%!test
-%! hf = figure ("visible", "off");
-%! unwind_protect
-%!   hax = axes ();
-%!   testprop (hax, "drawmode", "6.0");
-%! unwind_protect_cleanup
-%!   close (hf);
-%! end_unwind_protect
-
-## text/uicontrol/uipanel/uibuttongroup  "demi" and "light" values for
-## "fontweight" property are deprecated in 4.4, remove from version 6:
-##   * remove "demi" and "light" options in graphics.in.h,
-##   QtHandlesUtils.cc and ft-text-renderer.cc
-##   * remove warnings from update_fontweight in graphics.in.h
+## text/uicontrol/uipanel/uibuttongroup/uitable  "oblique" value for
+## "fontangle" property was deprecated in 5.0, remove from version 7:
+##   * remove "oblique" options in graphics.in.h, QtHandlesUtils.cc, 
+##     and ft-text-renderer.cc
+##   * remove warnings from update_fontangle in graphics.in.h
 %!test
 %! hf = figure ("visible", "off");
 %! unwind_protect
 %!   ht = text ();
-%!   testprop (ht, "fontweight", "6.0", "demi");
-%!   testprop (ht, "fontweight", "6.0", "light");
+%!   testprop (ht, "fontangle", "7.0", "oblique");
 %!   hui = uicontrol ();
-%!   testprop (hui, "fontweight", "6.0", "demi");
-%!   testprop (hui, "fontweight", "6.0", "light");
+%!   testprop (hui, "fontangle", "7.0", "oblique");
 %!   hui = uipanel ();
-%!   testprop (hui, "fontweight", "6.0", "demi");
-%!   testprop (hui, "fontweight", "6.0", "light");
+%!   testprop (hui, "fontangle", "7.0", "oblique");
 %!   hui = uibuttongroup ();
-%!   testprop (hui, "fontweight", "6.0", "demi");
-%!   testprop (hui, "fontweight", "6.0", "light");
+%!   testprop (hui, "fontangle", "7.0", "oblique");
+%!   hui = uitable ();
+%!   testprop (hui, "fontangle", "7.0", "oblique");
 %! unwind_protect_cleanup
 %!   close (hf);
 %! end_unwind_protect