libncurses: Import https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.5.tar.gz changes

Change-Id: I3433d30ca01359fd2e3623ede96b531f0b39cbfa
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/c++/cursesp.h b/c++/cursesp.h
index 54b0d58..f0bd5c9 100644
--- a/c++/cursesp.h
+++ b/c++/cursesp.h
@@ -1,6 +1,8 @@
 // * This makes emacs happy -*-Mode: C++;-*-
+// vile:cppmode
 /****************************************************************************
- * Copyright (c) 1998-2012,2014 Free Software Foundation, Inc.              *
+ * Copyright 2019-2021,2022 Thomas E. Dickey                                *
+ * Copyright 1998-2012,2014 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -34,7 +36,7 @@
 #ifndef NCURSES_CURSESP_H_incl
 #define NCURSES_CURSESP_H_incl 1
 
-// $Id: cursesp.h,v 1.31 2014/08/09 22:06:26 Adam.Jiang Exp $
+// $Id: cursesp.h,v 1.36 2022/08/20 20:52:15 tom Exp $
 
 #include <cursesw.h>
 
@@ -42,7 +44,7 @@
 #  include <panel.h>
 }
 
-class NCURSES_IMPEXP NCursesPanel
+class NCURSES_CXX_IMPEXP NCursesPanel
   : public NCursesWindow
 {
 protected:
@@ -131,7 +133,7 @@
   {
   }
 
-  virtual ~NCursesPanel();
+  virtual ~NCursesPanel() THROWS(NCursesException);
 
   // basic manipulation
   inline void hide()
@@ -160,7 +162,7 @@
   // N.B.: The panel associated with ::stdscr is always on the bottom. So
   // actually bottom() makes the panel the first above ::stdscr.
 
-  virtual int mvwin(int y, int x)
+  virtual int mvwin(int y, int x) NCURSES_OVERRIDE
   {
     OnError(::move_panel(p, y, x));
     return OK;
@@ -193,11 +195,11 @@
 
   // Those two are rewrites of the corresponding virtual members of
   // NCursesWindow
-  virtual int refresh();
+  virtual int refresh() NCURSES_OVERRIDE;
   // Propagate all panel changes to the virtual screen and update the
   // physical screen.
 
-  virtual int noutrefresh();
+  virtual int noutrefresh() NCURSES_OVERRIDE;
   // Propagate all panel changes to the virtual screen.
 
   static void redraw();
@@ -242,7 +244,7 @@
   // This creates an user panel of the requested size with associated
   // user data pointed to by p_UserData.
 
-  NCursesUserPanel(const T* p_UserData = STATIC_CAST(T*)(0)) : NCursesPanel()
+  explicit NCursesUserPanel(const T* p_UserData = STATIC_CAST(T*)(0)) : NCursesPanel()
   {
     if (p)
       set_user(const_cast<void *>(reinterpret_cast<const void*>(p_UserData)));
@@ -250,7 +252,7 @@
   // This creates an user panel associated with the ::stdscr and user data
   // pointed to by p_UserData.
 
-  virtual ~NCursesUserPanel() {};
+  virtual ~NCursesUserPanel() THROWS(NCursesException) {};
 
   T* UserData (void)
   {