changeset 21134:2e5c1f766ac9

provide replacement hints for deprecated C++ functions * oct-conf-post.in.h (OCTAVE_DEPRECATED): Accept message argument. * error.h, errwarn.h, gripes.h, symtab.h, variables.h, * ov-base-sparse.h, ov-base.h, ov.h, Array.h, DiagArray2.h, * PermMatrix.h, Range.h, Sparse.h, dSparse.h, lo-array-errwarn.h, * lo-array-gripes.h, unwind-prot.h: Change all uses of OCTAVE_DEPRECATED.
author John W. Eaton <jwe@octave.org>
date Fri, 22 Jan 2016 12:15:12 -0500
parents 31674b9d202b
children 95da3bc8a281
files libinterp/corefcn/error.h libinterp/corefcn/errwarn.h libinterp/corefcn/gripes.h libinterp/corefcn/symtab.h libinterp/corefcn/variables.h libinterp/octave-value/ov-base-sparse.h libinterp/octave-value/ov-base.h libinterp/octave-value/ov.h liboctave/array/Array.h liboctave/array/DiagArray2.h liboctave/array/PermMatrix.h liboctave/array/Range.h liboctave/array/Sparse.h liboctave/array/dSparse.h liboctave/util/lo-array-errwarn.h liboctave/util/lo-array-gripes.h liboctave/util/unwind-prot.h oct-conf-post.in.h
diffstat 18 files changed, 400 insertions(+), 319 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/error.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/corefcn/error.h	Fri Jan 22 12:15:12 2016 -0500
@@ -43,10 +43,12 @@
 
 extern OCTINTERP_API void message (const char *name, const char *fmt, ...);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
+OCTAVE_DEPRECATED ("use 'print_usage' or 'verror' instead")
+OCTAVE_NORETURN OCTINTERP_API extern
 void vusage (const char *fmt, va_list args);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
+OCTAVE_DEPRECATED ("use 'print_usage' or 'error' instead")
+OCTAVE_NORETURN OCTINTERP_API extern
 void usage (const char *fmt, ...);
 
 extern OCTINTERP_API void vwarning (const char *fmt, va_list args);
--- a/libinterp/corefcn/errwarn.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/corefcn/errwarn.h	Fri Jan 22 12:15:12 2016 -0500
@@ -34,147 +34,144 @@
 // Alphabetized list of common errors and warnings.
 ////////////////////////////////////////////////////////////////////////////////
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_2_or_3_dim_plot (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_2_or_3_dim_plot (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_data_conversion (const char *from, const char *to);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_data_conversion (const char *from, const char *to);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_disabled_feature (const std::string& fcn,
-                           const std::string& feature,
-                           const std::string& pkg = "Octave");
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_disabled_feature (const std::string& fcn, const std::string& feature,
+                      const std::string& pkg = "Octave");
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_indexed_cs_list (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_indexed_cs_list (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_invalid_conversion (const std::string& from, const std::string& to);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_invalid_conversion (const std::string& from, const std::string& to);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_invalid_inquiry_subscript (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_invalid_inquiry_subscript (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_nonbraced_cs_list_assignment (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_nonbraced_cs_list_assignment (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_nonconformant (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_nonconformant (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_nonconformant (octave_idx_type r1, octave_idx_type c1,
+                   octave_idx_type r2, octave_idx_type c2);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_nonconformant (octave_idx_type r1, octave_idx_type c1,
-                        octave_idx_type r2, octave_idx_type c2);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_not_implemented (const char *);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_not_implemented (const char *);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_range_invalid (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_range_invalid (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_square_matrix_required (const char *fcn, const char *name);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_square_matrix_required (const char *fcn, const char *name);
-
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_string_invalid (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_string_invalid (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_unrecognized_data_fmt (const char *name);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_unrecognized_data_fmt (const char *name);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_unrecognized_float_fmt (void);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_unrecognized_float_fmt (void);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_user_returned_invalid (const char *name);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_user_returned_invalid (const char *name);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_user_supplied_eval (const char *name);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_user_supplied_eval (const char *name);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_user_supplied_eval (octave_execution_exception& e, const char *name);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_user_supplied_eval (octave_execution_exception& e, const char *name);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const char *name, const char *s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const char *name, const char *s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (octave_execution_exception& e,
-                         const char *name, const char *s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (octave_execution_exception& e, const char *name,
+                    const char *s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const char *name, const std::string& s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const char *name, const std::string& s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (octave_execution_exception& e,
-                         const char *name, const std::string& s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (octave_execution_exception& e, const char *name,
+                    const std::string& s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const char *name, const octave_value& tc);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const char *name, const octave_value& tc);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (octave_execution_exception& e,
-                         const char *name, const octave_value& tc);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (octave_execution_exception& e, const char *name,
+                    const octave_value& tc);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const std::string& name, const octave_value& tc);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const std::string& name, const octave_value& tc);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (octave_execution_exception& e,
-                         const std::string& name, const octave_value& tc);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (octave_execution_exception& e, const std::string& name,
+                    const octave_value& tc);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const char *s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const char *s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (octave_execution_exception& e, const char *s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (octave_execution_exception& e, const char *s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const std::string& s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const std::string& s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (octave_execution_exception& e, const std::string& s);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (octave_execution_exception& e, const std::string& s);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg (const octave_value& tc);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg (const octave_value& tc);
 
-OCTAVE_NORETURN OCTINTERP_API extern 
-void err_wrong_type_arg (octave_execution_exception& e, const octave_value& tc);
+OCTAVE_NORETURN OCTINTERP_API extern  void
+err_wrong_type_arg (octave_execution_exception& e, const octave_value& tc);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg_for_binary_op (const octave_value& op);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg_for_binary_op (const octave_value& op);
 
-OCTAVE_NORETURN OCTINTERP_API extern
-void err_wrong_type_arg_for_unary_op (const octave_value& op);
+OCTAVE_NORETURN OCTINTERP_API extern void
+err_wrong_type_arg_for_unary_op (const octave_value& op);
 
-OCTINTERP_API extern
-void warn_complex_cmp (void);
+OCTINTERP_API extern void
+warn_complex_cmp (void);
 
-OCTINTERP_API extern
-void warn_data_file_in_path (const std::string& fcn, const std::string& file);
+OCTINTERP_API extern void
+warn_data_file_in_path (const std::string& fcn, const std::string& file);
 
-OCTINTERP_API extern
-void warn_disabled_feature (const std::string& fcn,
-                            const std::string& feature,
-                            const std::string& pkg = "Octave");
+OCTINTERP_API extern void
+warn_disabled_feature (const std::string& fcn, const std::string& feature,
+                       const std::string& pkg = "Octave");
 
-OCTINTERP_API extern
-void warn_divide_by_zero (void);
+OCTINTERP_API extern void
+warn_divide_by_zero (void);
 
-OCTINTERP_API extern
-void warn_empty_arg (const char *name);
+OCTINTERP_API extern void
+warn_empty_arg (const char *name);
 
-OCTINTERP_API extern
-void warn_implicit_conversion (const char *id,
-                               const char *from, const char *to);
+OCTINTERP_API extern void
+warn_implicit_conversion (const char *id, const char *from, const char *to);
 
-OCTINTERP_API extern
-void warn_implicit_conversion (const std::string& id,
-                               const std::string& from, const std::string& to);
+OCTINTERP_API extern void
+warn_implicit_conversion (const std::string& id, const std::string& from,
+                          const std::string& to);
 
-OCTINTERP_API extern
-void warn_invalid_value_specified (const char *name);
+OCTINTERP_API extern void
+warn_invalid_value_specified (const char *name);
 
-OCTINTERP_API extern
-void warn_logical_conversion (void);
+OCTINTERP_API extern void
+warn_logical_conversion (void);
 
-OCTINTERP_API extern
-void warn_wrong_type_arg (const char *name, const octave_value& tc);
+OCTINTERP_API extern void
+warn_wrong_type_arg (const char *name, const octave_value& tc);
 
 #endif
--- a/libinterp/corefcn/gripes.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/corefcn/gripes.h	Fri Jan 22 12:15:12 2016 -0500
@@ -35,159 +35,196 @@
 // Alphabetized list of gripes.
 ////////////////////////////////////////////////////////////////////////////////
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_2_or_3_dim_plot (void);
+OCTAVE_DEPRECATED ("use 'err_2_or_3_dim_plot' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_2_or_3_dim_plot (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_data_conversion (const char *from, const char *to);
+OCTAVE_DEPRECATED ("use 'err_data_conversion' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_data_conversion (const char *from, const char *to);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_data_file_in_path (const std::string& fcn, const std::string& file);
+OCTAVE_DEPRECATED ("use 'warn_data_file_in_path' instead")
+OCTINTERP_API extern void
+gripe_data_file_in_path (const std::string& fcn, const std::string& file);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_disabled_feature (const std::string& fcn,
-                             const std::string& feature,
-                             const std::string& pkg="Octave");
+OCTAVE_DEPRECATED ("use 'err_disabled_feature' or 'warn_disabled_feature' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_disabled_feature (const std::string& fcn,
+                        const std::string& feature,
+                        const std::string& pkg="Octave");
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_divide_by_zero (void);
+OCTAVE_DEPRECATED ("use 'warn_divide_by_zero' instead")
+OCTINTERP_API extern void
+gripe_divide_by_zero (void);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_empty_arg (const char *name, bool is_error);
+OCTAVE_DEPRECATED ("use 'warn_empty_arg' instead")
+OCTINTERP_API extern void
+gripe_empty_arg (const char *name, bool is_error);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_implicit_conversion (const char *id, const char *from, const char *to);
+OCTAVE_DEPRECATED ("use 'warn_implicit_conversion' instead")
+OCTINTERP_API extern void
+gripe_implicit_conversion (const char *id, const char *from, const char *to);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_implicit_conversion (const std::string& id, const std::string& from,
-                                const std::string& to);
+OCTAVE_DEPRECATED ("use 'warn_implicit_conversion' instead")
+OCTINTERP_API extern void
+gripe_implicit_conversion (const std::string& id, const std::string& from,
+                           const std::string& to);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_indexed_cs_list (void);
+OCTAVE_DEPRECATED ("use 'err_indexed_cs_list' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_indexed_cs_list (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_invalid_conversion (const std::string& from, const std::string& to);
+OCTAVE_DEPRECATED ("use 'err_invalid_conversion' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_invalid_conversion (const std::string& from, const std::string& to);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_invalid_inquiry_subscript (void);
+OCTAVE_DEPRECATED ("use 'err_invalid_inquiry_subscript' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_invalid_inquiry_subscript (void);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_invalid_value_specified (const char *name);
+OCTAVE_DEPRECATED ("use 'warn_invalid_value_specified' instead")
+OCTINTERP_API extern void
+gripe_invalid_value_specified (const char *name);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_logical_conversion (void);
+OCTAVE_DEPRECATED ("use 'warn_logical_conversion' instead")
+OCTINTERP_API extern void
+gripe_logical_conversion (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_nonbraced_cs_list_assignment (void);
+OCTAVE_DEPRECATED ("use 'err_nonbraced_cs_list_assignment' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_nonbraced_cs_list_assignment (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_nonconformant (void);
+OCTAVE_DEPRECATED ("use 'err_nonconformant' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_nonconformant (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_nonconformant (octave_idx_type r1, octave_idx_type c1,
-                          octave_idx_type r2, octave_idx_type c2);
+OCTAVE_DEPRECATED ("use 'err_nonconformant' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_nonconformant (octave_idx_type r1, octave_idx_type c1,
+                     octave_idx_type r2, octave_idx_type c2);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_not_implemented (const char *);
+OCTAVE_DEPRECATED ("use 'err_not_implemented' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_not_implemented (const char *);
 
 // FIXME: Deprecated in 4.2, remove in 4.6
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_not_supported (const char *);
-
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_range_invalid (void);
+OCTAVE_DEPRECATED ("use 'err_disabled_feature' or 'warn_disabled_feature' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_not_supported (const char *);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_square_matrix_required (const char *name);
+OCTAVE_DEPRECATED ("use 'err_range_invalid' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_range_invalid (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_string_invalid (void);
+OCTAVE_DEPRECATED ("use 'err_square_matrix_required' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_square_matrix_required (const char *name);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_unrecognized_data_fmt (const char *warn_for);
+OCTAVE_DEPRECATED ("use 'err_string_invalid' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_string_invalid (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_unrecognized_float_fmt (void);
+OCTAVE_DEPRECATED ("use 'err_unrecognized_data_fmt' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_unrecognized_data_fmt (const char *warn_for);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_user_returned_invalid (const char *name);
+OCTAVE_DEPRECATED ("use 'err_unrecognized_float_fmt' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_unrecognized_float_fmt (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_user_supplied_eval (const char *name);
+OCTAVE_DEPRECATED ("use 'err_user_returned_invalid' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_user_returned_invalid (const char *name);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_user_supplied_eval (octave_execution_exception& e, const char *name);
+OCTAVE_DEPRECATED ("use 'err_user_supplied_eval' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_user_supplied_eval (const char *name);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_warn_complex_cmp (void);
+OCTAVE_DEPRECATED ("use 'err_user_supplied_eval' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_user_supplied_eval (octave_execution_exception& e, const char *name);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const char *name, const char *s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'warn_complex_cmp' instead")
+OCTINTERP_API extern void
+gripe_warn_complex_cmp (void);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const char *name, const char *s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const char *name, const char *s,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const char *name, const std::string& s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e,
+                      const char *name, const char *s,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const char *name, const std::string& s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const char *name, const std::string& s,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const char *name, const octave_value& tc,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e,
+                      const char *name, const std::string& s,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const char *name, const octave_value& tc,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' or 'warn_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const char *name, const octave_value& tc,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const std::string& name, const octave_value& tc,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e,
+                      const char *name, const octave_value& tc,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const std::string& name, const octave_value& tc,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const std::string& name, const octave_value& tc,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const char *s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e,
+                      const std::string& name, const octave_value& tc,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const char *s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const char *s, bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const std::string& s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e, const char *s,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const std::string& s,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const std::string& s, bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (const octave_value& tc,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e, const std::string& s,
+                      bool is_error = true);
+
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (const octave_value& tc, bool is_error = true);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void gripe_wrong_type_arg (octave_execution_exception& e,
-                           const octave_value& tc,
-                           bool is_error = true);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg' instead")
+OCTINTERP_API extern void
+gripe_wrong_type_arg (octave_execution_exception& e, const octave_value& tc,
+                      bool is_error = true);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_wrong_type_arg_for_binary_op (const octave_value& op);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg_for_binary_op' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_wrong_type_arg_for_binary_op (const octave_value& op);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTINTERP_API extern
-void gripe_wrong_type_arg_for_unary_op (const octave_value& op);
+OCTAVE_DEPRECATED ("use 'err_wrong_type_arg_for_unary_op' instead")
+OCTAVE_NORETURN OCTINTERP_API extern void
+gripe_wrong_type_arg_for_unary_op (const octave_value& op);
 
 #endif
--- a/libinterp/corefcn/symtab.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/corefcn/symtab.h	Fri Jan 22 12:15:12 2016 -0500
@@ -1339,9 +1339,8 @@
       inst->do_assign (name, value, context, force_add);
   }
 
-  // Use assign (name, value, scope, context, force_add) instead.
-  OCTAVE_DEPRECATED static
-  octave_value&
+  OCTAVE_DEPRECATED ("use 'assign' instead")
+  static octave_value&
   varref (const std::string& name, scope_id scope = xcurrent_scope,
           context_id context = xdefault_context, bool force_add = false)
   {
@@ -1363,9 +1362,8 @@
     assign (name, value, scope, context, true);
   }
 
-  // Use force_assign (name, value, scope, context) instead.
-  OCTAVE_DEPRECATED static
-  octave_value&
+  OCTAVE_DEPRECATED ("use 'force_assign' instead")
+  static octave_value&
   force_varref (const std::string& name, scope_id scope = xcurrent_scope,
                 context_id context = xdefault_context)
   {
@@ -1398,9 +1396,8 @@
       p->second = value;
   }
 
-  // Use global_assign (name, value) instead.
-  OCTAVE_DEPRECATED static
-  octave_value&
+  OCTAVE_DEPRECATED ("use 'global_assign' instead")
+  static octave_value&
   global_varref (const std::string& name)
 
   {
@@ -1424,9 +1421,8 @@
     assign (name, value, top_scope (), 0);
   }
 
-  // Use top_level_assign (name, value) instead.
-  OCTAVE_DEPRECATED static
-  octave_value&
+  OCTAVE_DEPRECATED ("use 'top_level_assign' instead")
+  static octave_value&
   top_level_varref (const std::string& name)
   {
     static octave_value foobar;
@@ -1452,9 +1448,8 @@
       inst->do_persistent_assign (name, value);
   }
 
-  // Use persistent_assign (name, value) instead.
-  OCTAVE_DEPRECATED static
-  octave_value&
+  OCTAVE_DEPRECATED ("use 'persistent_assign' instead")
+  static octave_value&
   persistent_varref (const std::string& name)
   {
     static octave_value foobar;
--- a/libinterp/corefcn/variables.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/corefcn/variables.h	Fri Jan 22 12:15:12 2016 -0500
@@ -137,8 +137,9 @@
 
 extern OCTINTERP_API void bind_ans (const octave_value& val, bool print);
 
-OCTAVE_DEPRECATED OCTINTERP_API extern
-void bind_internal_variable (const std::string& fname, const octave_value& val);
+OCTAVE_DEPRECATED ("note: internal variables have been replaced by functions; use 'feval' instead")
+OCTINTERP_API extern void
+bind_internal_variable (const std::string& fname, const octave_value& val);
 
 extern OCTINTERP_API void mlock (void);
 extern OCTINTERP_API void munlock (const std::string&);
--- a/libinterp/octave-value/ov-base-sparse.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/octave-value/ov-base-sparse.h	Fri Jan 22 12:15:12 2016 -0500
@@ -143,7 +143,8 @@
 
   bool is_true (void) const;
 
-  OCTAVE_DEPRECATED octave_idx_type capacity (void) const { return nzmax (); }
+  OCTAVE_DEPRECATED ("use 'nzmax' instead")
+  octave_idx_type capacity (void) const { return nzmax (); }
 
   bool print_as_scalar (void) const;
 
--- a/libinterp/octave-value/ov-base.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/octave-value/ov-base.h	Fri Jan 22 12:15:12 2016 -0500
@@ -310,7 +310,8 @@
 
   virtual octave_idx_type numel (void) const { return dims ().numel (); }
 
-  OCTAVE_DEPRECATED virtual octave_idx_type capacity (void) const
+  OCTAVE_DEPRECATED ("use 'numel' instead")
+  virtual octave_idx_type capacity (void) const
   { return numel (); }
 
   virtual size_t byte_size (void) const { return 0; }
--- a/libinterp/octave-value/ov.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/libinterp/octave-value/ov.h	Fri Jan 22 12:15:12 2016 -0500
@@ -242,12 +242,16 @@
   octave_value (const charMatrix& chm,  char type = '\'');
   octave_value (const charNDArray& chnda, char type = '\'');
   octave_value (const Array<char>& chnda, char type = '\'');
-  OCTAVE_DEPRECATED octave_value (const charMatrix& chm, bool is_string,
-                                    char type = '\'');
-  OCTAVE_DEPRECATED octave_value (const charNDArray& chnda, bool is_string,
-                                    char type = '\'');
-  OCTAVE_DEPRECATED octave_value (const Array<char>& chnda, bool is_string,
-                                    char type = '\'');
+
+  OCTAVE_DEPRECATED ("note: IS_STRING argument is ignored")
+  octave_value (const charMatrix& chm, bool is_string, char type = '\'');
+
+  OCTAVE_DEPRECATED ("note: IS_STRING argument is ignored")
+  octave_value (const charNDArray& chnda, bool is_string, char type = '\'');
+
+  OCTAVE_DEPRECATED ("note: IS_STRING argument is ignored")
+  octave_value (const Array<char>& chnda, bool is_string, char type = '\'');
+
   octave_value (const SparseMatrix& m, const MatrixType& t = MatrixType ());
   octave_value (const Sparse<double>& m, const MatrixType& t = MatrixType ());
   octave_value (const SparseComplexMatrix& m,
@@ -296,7 +300,9 @@
   octave_value (octave_value::magic_colon);
 
   octave_value (octave_base_value *new_rep, bool borrow = false);
-  OCTAVE_DEPRECATED octave_value (octave_base_value *new_rep, int xcount);
+
+  OCTAVE_DEPRECATED ("note: in the future there will be no way to directly set reference count")
+  octave_value (octave_base_value *new_rep, int xcount);
 
   // Copy constructor.
 
@@ -481,7 +487,8 @@
   octave_idx_type numel (void) const
   { return rep->numel (); }
 
-  OCTAVE_DEPRECATED octave_idx_type capacity (void) const
+  OCTAVE_DEPRECATED ("use 'numel' instead")
+  octave_idx_type capacity (void) const
   { return rep->numel (); }
 
   size_t byte_size (void) const
@@ -892,7 +899,8 @@
   string_vector string_vector_value (bool pad = false) const
   { return rep->string_vector_value (pad); }
 
-  OCTAVE_DEPRECATED string_vector all_strings (bool pad = false) const
+  OCTAVE_DEPRECATED ("use 'string_vector_value' instead")
+  string_vector all_strings (bool pad = false) const
   { return string_vector_value (pad); }
 
   Cell cell_value (void) const;
--- a/liboctave/array/Array.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/array/Array.h	Fri Jan 22 12:15:12 2016 -0500
@@ -254,7 +254,8 @@
   //! Number of elements in the array.
   //! Synonymous with numel().
   //! @note This method is deprecated in favour of numel().
-  OCTAVE_DEPRECATED octave_idx_type capacity (void) const { return numel (); }
+  OCTAVE_DEPRECATED ("use 'numel' instead")
+  octave_idx_type capacity (void) const { return numel (); }
 
   //! Number of elements in the array.
   /*! Synonymous with numel().
@@ -266,12 +267,14 @@
       length of the greatest dimension.  This method returns the total
       number of elements.
    */
-  OCTAVE_DEPRECATED octave_idx_type length (void) const { return numel (); }
+  OCTAVE_DEPRECATED ("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 octave_idx_type nelem (void) const { return numel (); }
+  OCTAVE_DEPRECATED ("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; }
--- a/liboctave/array/DiagArray2.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/array/DiagArray2.h	Fri Jan 22 12:15:12 2016 -0500
@@ -97,7 +97,9 @@
 
   dim_vector dims (void) const { return dim_vector (d1, d2); }
 
-  OCTAVE_DEPRECATED Array<T> diag (octave_idx_type k = 0) const;
+  OCTAVE_DEPRECATED ("use 'extract_diag' instead")
+  Array<T> diag (octave_idx_type k = 0) const;
+
   Array<T> extract_diag (octave_idx_type k = 0) const;
   DiagArray2<T> build_diag_matrix () const
   {
--- a/liboctave/array/PermMatrix.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/array/PermMatrix.h	Fri Jan 22 12:15:12 2016 -0500
@@ -37,13 +37,15 @@
 
   PermMatrix (octave_idx_type n);
 
-  OCTAVE_DEPRECATED PermMatrix (const Array<octave_idx_type>& p);
+  OCTAVE_DEPRECATED ("use 'PermMatrix (p, false, true)' instead")
+  PermMatrix (const Array<octave_idx_type>& p);
 
   PermMatrix (const Array<octave_idx_type>& p, bool colp, bool check = true);
 
   PermMatrix (const PermMatrix& m) : Array<octave_idx_type> (m) { }
 
-  OCTAVE_DEPRECATED PermMatrix (const idx_vector& idx);
+  OCTAVE_DEPRECATED ("use 'PermVector (idx, false, 0)' instead")
+  PermMatrix (const idx_vector& idx);
 
   PermMatrix (const idx_vector& idx, bool colp, octave_idx_type n = 0);
 
@@ -61,7 +63,10 @@
   // FIXME: a dangerous ambiguity?
   octave_idx_type length (void) const
   { return perm_length (); }
-  OCTAVE_DEPRECATED octave_idx_type nelem (void) const { return numel (); }
+
+  OCTAVE_DEPRECATED ("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	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/array/Range.h	Fri Jan 22 12:15:12 2016 -0500
@@ -98,8 +98,12 @@
   double base (void) const { return rng_base; }
   double limit (void) const { return rng_limit; }
   double inc (void) const { return rng_inc; }
-  OCTAVE_DEPRECATED octave_idx_type nelem (void) const { return numel (); }
+
+  OCTAVE_DEPRECATED ("use 'numel' instead")
+  octave_idx_type nelem (void) const { return numel (); }
+
   octave_idx_type numel (void) const { return rng_numel; }
+
   bool is_empty (void) const { return numel () == 0; }
 
   bool all_elements_are_ints (void) const;
--- a/liboctave/array/Sparse.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/array/Sparse.h	Fri Jan 22 12:15:12 2016 -0500
@@ -243,9 +243,12 @@
   //! Amount of storage for nonzero elements.
   //! 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 octave_idx_type capacity (void) const { return nzmax (); }
+  OCTAVE_DEPRECATED ("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 (); }
 
@@ -256,8 +259,11 @@
     return dimensions.safe_numel ();
   }
 
-  OCTAVE_DEPRECATED octave_idx_type nelem (void) const { return nzmax (); }
-  OCTAVE_DEPRECATED octave_idx_type length (void) const { return numel (); }
+  OCTAVE_DEPRECATED ("use 'nzmax' instead")
+  octave_idx_type nelem (void) const { return nzmax (); }
+
+  OCTAVE_DEPRECATED ("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); }
--- a/liboctave/array/dSparse.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/array/dSparse.h	Fri Jan 22 12:15:12 2016 -0500
@@ -121,13 +121,16 @@
   friend OCTAVE_API SparseMatrix real (const SparseComplexMatrix& a);
   friend OCTAVE_API SparseMatrix imag (const SparseComplexMatrix& a);
 
-  OCTAVE_DEPRECATED OCTAVE_API friend
+  OCTAVE_DEPRECATED ("use 'Fatan2' instead")
+  OCTAVE_API friend
   SparseMatrix atan2 (const double& x, const SparseMatrix& y);
 
-  OCTAVE_DEPRECATED OCTAVE_API friend
+  OCTAVE_DEPRECATED ("use 'Fatan2' instead")
+  OCTAVE_API friend
   SparseMatrix atan2 (const SparseMatrix& x, const double& y);
 
-  OCTAVE_DEPRECATED OCTAVE_API friend
+  OCTAVE_DEPRECATED ("use 'Fatan2' instead")
+  OCTAVE_API friend
   SparseMatrix atan2 (const SparseMatrix& x, const SparseMatrix& y);
 
   SparseMatrix transpose (void) const
--- a/liboctave/util/lo-array-errwarn.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/util/lo-array-errwarn.h	Fri Jan 22 12:15:12 2016 -0500
@@ -99,59 +99,57 @@
 
 };
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_nan_to_logical_conversion (void);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_nan_to_logical_conversion (void);
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_nan_to_character_conversion (void);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_nan_to_character_conversion (void);
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_nonconformant (const char *op,
-                        octave_idx_type op1_len,
-                        octave_idx_type op2_len);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_nonconformant (const char *op, octave_idx_type op1_len,
+                   octave_idx_type op2_len);
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_nonconformant (const char *op,
-                        octave_idx_type op1_nr, octave_idx_type op1_nc,
-                        octave_idx_type op2_nr, octave_idx_type op2_nc);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_nonconformant (const char *op,
+                   octave_idx_type op1_nr, octave_idx_type op1_nc,
+                   octave_idx_type op2_nr, octave_idx_type op2_nc);
 
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_nonconformant (const char *op, const dim_vector& op1_dims,
-                        const dim_vector& op2_dims);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_nonconformant (const char *op,
+                   const dim_vector& op1_dims, const dim_vector& op2_dims);
+
+OCTAVE_NORETURN OCTAVE_API extern void
+err_index_out_of_range (int nd, int dim, octave_idx_type iext,
+                        octave_idx_type ext, const dim_vector& d);
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_index_out_of_range (int nd, int dim,
-                             octave_idx_type iext, octave_idx_type ext,
-                             const dim_vector& d);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_index_out_of_range (int nd, int dim, octave_idx_type iext,
+                        octave_idx_type ext);
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_index_out_of_range (int nd, int dim,
-                             octave_idx_type iext, octave_idx_type ext);
-
-OCTAVE_NORETURN OCTAVE_API extern
-void err_del_index_out_of_range (bool is1d, octave_idx_type iext,
-                                 octave_idx_type ext);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_del_index_out_of_range (bool is1d, octave_idx_type iext,
+                            octave_idx_type ext);
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_invalid_index (double, octave_idx_type nd = 0,
-                        octave_idx_type dim = 0,
-                        const std::string& var = "");
+OCTAVE_NORETURN OCTAVE_API extern void
+err_invalid_index (double, octave_idx_type nd = 0,
+                   octave_idx_type dim = 0,
+                   const std::string& var = "");
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_invalid_index (octave_idx_type n, octave_idx_type nd = 0,
-                        octave_idx_type dim = 0,
-                        const std::string& var = "");
+OCTAVE_NORETURN OCTAVE_API extern void
+err_invalid_index (octave_idx_type n, octave_idx_type nd = 0,
+                   octave_idx_type dim = 0,
+                   const std::string& var = "");
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_invalid_index (const std::string& idx, octave_idx_type nd = 0,
-                        octave_idx_type dim = 0,
-                        const std::string& var = "");
+OCTAVE_NORETURN OCTAVE_API extern void
+err_invalid_index (const std::string& idx, octave_idx_type nd = 0,
+                   octave_idx_type dim = 0,
+                   const std::string& var = "");
 
-OCTAVE_NORETURN OCTAVE_API extern
-void err_invalid_resize (void);
+OCTAVE_NORETURN OCTAVE_API extern void
+err_invalid_resize (void);
 
-OCTAVE_API extern
-void warn_singular_matrix (double rcond = 0.0);
+OCTAVE_API extern void
+warn_singular_matrix (double rcond = 0.0);
 
 #endif
--- a/liboctave/util/lo-array-gripes.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/util/lo-array-gripes.h	Fri Jan 22 12:15:12 2016 -0500
@@ -29,59 +29,72 @@
 #include "dim-vector.h"
 #include "quit.h"
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_nan_to_logical_conversion' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_nan_to_logical_conversion (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_nan_to_character_conversion' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_nan_to_character_conversion (void);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_nonconformant' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_nonconformant (const char *op,
                      octave_idx_type op1_len,
                      octave_idx_type op2_len);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_nonconformant' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_nonconformant (const char *op,
                      octave_idx_type op1_nr, octave_idx_type op1_nc,
                      octave_idx_type op2_nr, octave_idx_type op2_nc);
 
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_nonconformant' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_nonconformant (const char *op, const dim_vector& op1_dims,
                      const dim_vector& op2_dims);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_index_out_of_range' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_index_out_of_range (int nd, int dim,
                           octave_idx_type iext, octave_idx_type ext,
                           const dim_vector& d);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_index_out_of_range' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_index_out_of_range (int nd, int dim,
                           octave_idx_type iext, octave_idx_type ext);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_del_index_out_of_range' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_del_index_out_of_range (bool is1d, octave_idx_type iext,
                               octave_idx_type ext);
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_invalid_index' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_invalid_index (double, octave_idx_type nd = 0,
                      octave_idx_type dim = 0,
                      const std::string& var = "");
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_invalid_index' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_invalid_index (octave_idx_type n, octave_idx_type nd = 0,
                      octave_idx_type dim = 0,
                      const std::string& var = "");
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_invalid_index' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_invalid_index (const std::string& idx, octave_idx_type nd = 0,
                      octave_idx_type dim = 0,
                      const std::string& var = "");
 
-OCTAVE_DEPRECATED OCTAVE_NORETURN OCTAVE_API extern void
+OCTAVE_DEPRECATED ("use 'err_invalid_resize' instead")
+OCTAVE_NORETURN OCTAVE_API extern void
 gripe_invalid_resize (void);
 
-OCTAVE_DEPRECATED OCTAVE_API extern
-void gripe_singular_matrix (double rcond = 0.0);
+OCTAVE_DEPRECATED ("use 'err_singular_matrix' instead")
+OCTAVE_API extern void
+gripe_singular_matrix (double rcond = 0.0);
 
 #endif
--- a/liboctave/util/unwind-prot.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/liboctave/util/unwind-prot.h	Fri Jan 22 12:15:12 2016 -0500
@@ -50,14 +50,16 @@
     lifo.push (new_elem);
   }
 
-  OCTAVE_DEPRECATED void add (void (*fcn) (void *), void *ptr = 0)
+  OCTAVE_DEPRECATED ("use 'add (new fcn_arg_elem<void *> (fcn, ptr))' instead")
+  void add (void (*fcn) (void *), void *ptr = 0)
   {
     add (new fcn_arg_elem<void *> (fcn, ptr));
   }
 
   operator bool (void) const { return ! empty (); }
 
-  OCTAVE_DEPRECATED void run_top (void) { run_first (); }
+  OCTAVE_DEPRECATED ("use 'run_first' instead")
+  void run_top (void) { run_first (); }
 
   void run_first (void)
   {
@@ -70,9 +72,11 @@
       }
   }
 
-  OCTAVE_DEPRECATED void run_top (int num) { run (num); }
+  OCTAVE_DEPRECATED ("use 'run' instead")
+  void run_top (int num) { run (num); }
 
-  OCTAVE_DEPRECATED void discard_top (void) { discard_first (); }
+  OCTAVE_DEPRECATED ("use 'discard_first' instead")
+  void discard_top (void) { discard_first (); }
 
   void discard_first (void)
   {
@@ -84,7 +88,8 @@
       }
   }
 
-  OCTAVE_DEPRECATED void discard_top (int num) { discard (num); }
+  OCTAVE_DEPRECATED ("use 'discard' instead")
+  void discard_top (int num) { discard (num); }
 
   size_t size (void) const { return lifo.size (); }
 
--- a/oct-conf-post.in.h	Fri Jan 22 12:12:56 2016 -0500
+++ b/oct-conf-post.in.h	Fri Jan 22 12:15:12 2016 -0500
@@ -35,7 +35,7 @@
 
 #if defined (__GNUC__)
   // The following attributes are used with gcc and clang compilers.
-  #define OCTAVE_DEPRECATED __attribute__ ((__deprecated__))
+  #define OCTAVE_DEPRECATED(msg) __attribute__ ((__deprecated__ (msg)))
   #define HAVE_ATTR_DEPRECATED
 
   #define OCTAVE_NORETURN __attribute__ ((__noreturn__))
@@ -44,7 +44,7 @@
   #define OCTAVE_UNUSED __attribute__ ((__unused__))
   #define HAVE_ATTR_UNUSED
 #else
-  #define OCTAVE_DEPRECATED
+  #define OCTAVE_DEPRECATED(msg)
   #define OCTAVE_NORETURN
   #define OCTAVE_UNUSED
 #endif