]> git.eshelyaron.com Git - emacs.git/commitdiff
Pacify --enable-gcc-warnings when no window system is used.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 11 Sep 2014 00:48:57 +0000 (17:48 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 11 Sep 2014 00:48:57 +0000 (17:48 -0700)
These warnings found that subscript error, so they seem worthwhile.
* composite.c (char_composable_p): Simplify a bit.
* frame.c (x_set_frame_parameters): Add an IF_LINT.
* frame.c (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
* frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
* window.c (set_window_scroll_bars):
Use USE_HORIZONTAL_SCROLL_BARS for simplicity.
* frame.h [! USE_HORIZONTAL_SCROLL_BARS]:
Ignore -Wsuggest-attribute=const.
* window.h (USE_HORIZONTAL_SCROLL_BARS): New macro.
(WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Use it.

src/ChangeLog
src/composite.c
src/frame.c
src/frame.h
src/window.c
src/window.h

index f6cf9938573592dbb6b1d43912f74eabf5058a56..8433127b7c2c78bccbd75ad0e20c469f5517e9d9 100644 (file)
@@ -1,3 +1,18 @@
+2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify --enable-gcc-warnings when no window system is used.
+       These warnings found that subscript error, so they seem worthwhile.
+       * composite.c (char_composable_p): Simplify a bit.
+       * frame.c (x_set_frame_parameters): Add an IF_LINT.
+       * frame.c (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
+       * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
+       * window.c (set_window_scroll_bars):
+       Use USE_HORIZONTAL_SCROLL_BARS for simplicity.
+       * frame.h [! USE_HORIZONTAL_SCROLL_BARS]:
+       Ignore -Wsuggest-attribute=const.
+       * window.h (USE_HORIZONTAL_SCROLL_BARS): New macro.
+       (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Use it.
+
 2014-09-10  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 
        * charset.c (Fget_unused_iso_final_char): Fix subscript error.
index 66a20759ec67ef8476055b023116fd3b889fab58..1b1960d1c4dc7cd498cb23ebfb917cec34727b6f 100644 (file)
@@ -928,7 +928,7 @@ static bool
 char_composable_p (int c)
 {
   Lisp_Object val;
-  return (c > ' '                      
+  return (c > ' '
          && (c == 0x200C || c == 0x200D
              || (val = CHAR_TABLE_REF (Vunicode_category_table, c),
                  (INTEGERP (val) && (XINT (val) <= UNICODE_CATEGORY_So)))));
@@ -1016,24 +1016,19 @@ composition_compute_stop_pos (struct composition_it *cmp_it, ptrdiff_t charpos,
          val = CHAR_TABLE_REF (Vcomposition_function_table, c);
          if (! NILP (val))
            {
-             Lisp_Object elt;
-             int ridx;
-
-             for (ridx = 0; CONSP (val); val = XCDR (val), ridx++)
+             for (int ridx = 0; CONSP (val); val = XCDR (val), ridx++)
                {
-                 elt = XCAR (val);
+                 Lisp_Object elt = XCAR (val);
                  if (VECTORP (elt) && ASIZE (elt) == 3
                      && NATNUMP (AREF (elt, 1))
                      && charpos - 1 - XFASTINT (AREF (elt, 1)) >= start)
-                   break;
-               }
-             if (CONSP (val))
-               {
-                 cmp_it->rule_idx = ridx;
-                 cmp_it->lookback = XFASTINT (AREF (elt, 1));
-                 cmp_it->stop_pos = charpos - 1 - cmp_it->lookback;
-                 cmp_it->ch = c;
-                 return;
+                   {
+                     cmp_it->rule_idx = ridx;
+                     cmp_it->lookback = XFASTINT (AREF (elt, 1));
+                     cmp_it->stop_pos = charpos - 1 - cmp_it->lookback;
+                     cmp_it->ch = c;
+                     return;
+                   }
                }
            }
        }
index 7077d42dd1b5a7bd2371d354db8cca83c35d2cb8..d0e585622e2fac704ec804e8d4ef9d04ca54991c 100644 (file)
@@ -3002,7 +3002,7 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist)
   /* If both of these parameters are present, it's more efficient to
      set them both at once.  So we wait until we've looked at the
      entire list before we set them.  */
-  int width, height;
+  int width, height IF_LINT (= 0);
   bool width_change = 0, height_change = 0;
 
   /* Same here.  */
@@ -3771,9 +3771,7 @@ x_set_vertical_scroll_bars (struct frame *f, Lisp_Object arg, Lisp_Object oldval
 void
 x_set_horizontal_scroll_bars (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-#if (defined (HAVE_WINDOW_SYSTEM)                                      \
-     && ((defined (USE_TOOLKIT_SCROLL_BARS) && !defined (HAVE_NS))     \
-        || defined (HAVE_NTGUI)))
+#if USE_HORIZONTAL_SCROLL_BARS
   if ((NILP (arg) && FRAME_HAS_HORIZONTAL_SCROLL_BARS (f))
       || (!NILP (arg) && !FRAME_HAS_HORIZONTAL_SCROLL_BARS (f)))
     {
@@ -3823,9 +3821,7 @@ x_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 void
 x_set_scroll_bar_height (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-#if (defined (HAVE_WINDOW_SYSTEM)                                      \
-     && ((defined (USE_TOOLKIT_SCROLL_BARS) && !defined (HAVE_NS))     \
-        || defined (HAVE_NTGUI)))
+#if USE_HORIZONTAL_SCROLL_BARS
   int unit = FRAME_LINE_HEIGHT (f);
 
   if (NILP (arg))
index 0f34770d9b43f688693084939e4be64fe63d0f9f..c942a9008fae001ef87fe5c87ce7341cb9d56786 100644 (file)
@@ -868,9 +868,7 @@ default_pixels_per_inch_y (void)
 #endif /* HAVE_WINDOW_SYSTEM */
 
 /* Whether horizontal scroll bars are currently enabled for frame F.  */
-#if (defined (HAVE_WINDOW_SYSTEM)                                      \
-     && ((defined (USE_TOOLKIT_SCROLL_BARS) && !defined (HAVE_NS))     \
-        || defined (HAVE_NTGUI)))
+#if USE_HORIZONTAL_SCROLL_BARS
 #define FRAME_HAS_HORIZONTAL_SCROLL_BARS(f) \
   ((f)->horizontal_scroll_bars)
 #else
@@ -1501,4 +1499,11 @@ extern Lisp_Object make_monitor_attribute_list (struct MonitorInfo *monitors,
 
 INLINE_HEADER_END
 
+/* Suppress -Wsuggest-attribute=const if there are no scroll bars.
+   This is for functions like x_set_horizontal_scroll_bars that have
+   no effect in this case.  */
+#if ! USE_HORIZONTAL_SCROLL_BARS && 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
+#endif
+
 #endif /* not EMACS_FRAME_H */
index 341e3e3dcd2be3533fb06467aa40bce74a5f9c4f..8736fe13c3b48a740e90f76a7cb321f58504266a 100644 (file)
@@ -7376,9 +7376,7 @@ set_window_scroll_bars (struct window *w, Lisp_Object width,
        }
     }
 
-#if (defined (HAVE_WINDOW_SYSTEM)                                      \
-     && ((defined (USE_TOOLKIT_SCROLL_BARS) && !defined (HAVE_NS))     \
-        || defined (HAVE_NTGUI)))
+#if USE_HORIZONTAL_SCROLL_BARS
   {
     int iheight = (NILP (height) ? -1 : (CHECK_NATNUM (height), XINT (height)));
 
index 7e1c7d619b94ea945e4d9ca83b56fbb8c2aa1713..ea5dddc9fc8b4c49cec6c962c70c895c185309b8 100644 (file)
@@ -785,11 +785,17 @@ wset_next_buffers (struct window *w, Lisp_Object val)
   (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (W)          \
    || WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (W))
 
-/* Say whether horizontal scroll bars are currently enabled for window
-   W.  Horizontal scrollbars exist for toolkit versions only.  */
 #if (defined (HAVE_WINDOW_SYSTEM)                                      \
      && ((defined (USE_TOOLKIT_SCROLL_BARS) && !defined (HAVE_NS))     \
         || defined (HAVE_NTGUI)))
+# define USE_HORIZONTAL_SCROLL_BARS true
+#else
+# define USE_HORIZONTAL_SCROLL_BARS false
+#endif
+
+/* Say whether horizontal scroll bars are currently enabled for window
+   W.  Horizontal scrollbars exist for toolkit versions only.  */
+#if USE_HORIZONTAL_SCROLL_BARS
 #define WINDOW_HAS_HORIZONTAL_SCROLL_BAR(W)                    \
   ((WINDOW_PSEUDO_P (W) || MINI_NON_ONLY_WINDOW_P (W))         \
    ? false                                                     \