emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109860: Clean up some extern decls.


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109860: Clean up some extern decls.
Date: Sun, 02 Sep 2012 09:56:31 -0700
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109860
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sun 2012-09-02 09:56:31 -0700
message:
  Clean up some extern decls.
  
  Mostly, this hoists extern decls out of .c files and into .h files.
  That way, we're more likely to catch errors if the interfaces change.
  * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
  declare xg_mark_data.
  * dispextern.h (x_frame_parm_handlers):
  * font.h (Qxft):
  * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
  (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
  (Qultra_bold, Qoblique, Qitalic):
  Move extern decl here from .c file.
  * alloc.c (xg_mark_data) [USE_GTK]:
  * doc.c (Qclosure):
  * eval.c (Qlexical_binding):
  * fns.c (time) [!HAVE_UNISTD_H]:
  * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
  (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
  * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
  * lread.c (Qinternal_interpreter_environment):
  * minibuf.c (Qbuffer):
  * process.c (QCfamily, QCfilter):
  * widget.c (free_frame_faces):
  * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
  * xfont.c (x_clear_errors):
  * xterm.c (x_frame_parm_handlers):
  Remove now-redundant extern decls.
  * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
  * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
  Now static.
  * xfaces.c: Remove unnecessary static decls.
  * xterm.c (updating_frame): Remove decl of nonexistent object.
modified:
  src/ChangeLog
  src/alloc.c
  src/dispextern.h
  src/doc.c
  src/eval.c
  src/fns.c
  src/font.h
  src/gtkutil.c
  src/image.c
  src/keyboard.c
  src/keyboard.h
  src/lisp.h
  src/lread.c
  src/minibuf.c
  src/process.c
  src/widget.c
  src/xfaces.c
  src/xfont.c
  src/xterm.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-09-02 14:26:47 +0000
+++ b/src/ChangeLog     2012-09-02 16:56:31 +0000
@@ -1,5 +1,37 @@
 2012-09-02  Paul Eggert  <address@hidden>
 
+       Clean up some extern decls.
+       Mostly, this hoists extern decls out of .c files and into .h files.
+       That way, we're more likely to catch errors if the interfaces change.
+       * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
+       declare xg_mark_data.
+       * dispextern.h (x_frame_parm_handlers):
+       * font.h (Qxft):
+       * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
+       (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
+       (Qultra_bold, Qoblique, Qitalic):
+       Move extern decl here from .c file.
+       * alloc.c (xg_mark_data) [USE_GTK]:
+       * doc.c (Qclosure):
+       * eval.c (Qlexical_binding):
+       * fns.c (time) [!HAVE_UNISTD_H]:
+       * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
+       (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
+       * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
+       * lread.c (Qinternal_interpreter_environment):
+       * minibuf.c (Qbuffer):
+       * process.c (QCfamily, QCfilter):
+       * widget.c (free_frame_faces):
+       * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
+       * xfont.c (x_clear_errors):
+       * xterm.c (x_frame_parm_handlers):
+       Remove now-redundant extern decls.
+       * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
+       * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
+       Now static.
+       * xfaces.c: Remove unnecessary static decls.
+       * xterm.c (updating_frame): Remove decl of nonexistent object.
+
        * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS)
        when building globals.h, as the objects that are not built on
        this host are not needed to compile C files on this host.

=== modified file 'src/alloc.c'
--- a/src/alloc.c       2012-08-31 10:53:19 +0000
+++ b/src/alloc.c       2012-09-02 16:56:31 +0000
@@ -69,6 +69,9 @@
 
 #include <fcntl.h>
 
+#ifdef USE_GTK
+# include "gtkutil.h"
+#endif
 #ifdef WINDOWSNT
 #include "w32.h"
 #endif
@@ -5478,10 +5481,7 @@
   mark_kboards ();
 
 #ifdef USE_GTK
-  {
-    extern void xg_mark_data (void);
-    xg_mark_data ();
-  }
+  xg_mark_data ();
 #endif
 
 #if (GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS \

=== modified file 'src/dispextern.h'
--- a/src/dispextern.h  2012-08-28 00:33:56 +0000
+++ b/src/dispextern.h  2012-09-02 16:56:31 +0000
@@ -3251,9 +3251,12 @@
 
 extern Lisp_Object tip_frame;
 extern Window tip_window;
+extern frame_parm_handler x_frame_parm_handlers[];
+
 extern void start_hourglass (void);
 extern void cancel_hourglass (void);
 extern int hourglass_shown_p;
+
 struct atimer;                 /* Defined in atimer.h.  */
 /* If non-null, an asynchronous timer that, when it expires, displays
    an hourglass cursor on all frames.  */

=== modified file 'src/doc.c'
--- a/src/doc.c 2012-09-02 07:10:10 +0000
+++ b/src/doc.c 2012-09-02 16:56:31 +0000
@@ -37,7 +37,6 @@
 
 Lisp_Object Qfunction_documentation;
 
-extern Lisp_Object Qclosure;
 /* Buffer used for reading from documentation file.  */
 static char *get_doc_string_buffer;
 static ptrdiff_t get_doc_string_buffer_size;

=== modified file 'src/eval.c'
--- a/src/eval.c        2012-08-28 16:01:59 +0000
+++ b/src/eval.c        2012-09-02 16:56:31 +0000
@@ -2232,7 +2232,6 @@
       if (EQ (funcar, Qmacro))
        {
          ptrdiff_t count = SPECPDL_INDEX ();
-         extern Lisp_Object Qlexical_binding;
          Lisp_Object exp;
          /* Bind lexical-binding during expansion of the macro, so the
             macro can know reliably if the code it outputs will be

=== modified file 'src/fns.c'
--- a/src/fns.c 2012-09-01 01:04:26 +0000
+++ b/src/fns.c 2012-09-02 16:56:31 +0000
@@ -52,10 +52,6 @@
 static Lisp_Object Qmd5, Qsha1, Qsha224, Qsha256, Qsha384, Qsha512;
 
 static int internal_equal (Lisp_Object , Lisp_Object, int, int);
-
-#ifndef HAVE_UNISTD_H
-extern long time ();
-#endif
 
 DEFUN ("identity", Fidentity, Sidentity, 1, 1, 0,
        doc: /* Return the argument unchanged.  */)

=== modified file 'src/font.h'
--- a/src/font.h        2012-08-16 06:35:13 +0000
+++ b/src/font.h        2012-09-02 16:56:31 +0000
@@ -817,6 +817,7 @@
 extern void syms_of_xfont (void);
 extern void syms_of_ftxfont (void);
 #ifdef HAVE_XFT
+extern Lisp_Object Qxft;
 extern struct font_driver xftfont_driver;
 extern void syms_of_xftfont (void);
 #elif defined HAVE_FREETYPE

=== modified file 'src/gtkutil.c'
--- a/src/gtkutil.c     2012-08-30 16:07:44 +0000
+++ b/src/gtkutil.c     2012-09-02 16:56:31 +0000
@@ -2019,11 +2019,6 @@
 
 #if USE_NEW_GTK_FONT_CHOOSER
 
-extern Lisp_Object Qxft, Qnormal;
-extern Lisp_Object Qextra_light, Qlight, Qsemi_light, Qsemi_bold;
-extern Lisp_Object Qbold, Qextra_bold, Qultra_bold;
-extern Lisp_Object Qoblique, Qitalic;
-
 #define XG_WEIGHT_TO_SYMBOL(w)                 \
   (w <= PANGO_WEIGHT_THIN ? Qextra_light       \
    : w <= PANGO_WEIGHT_ULTRALIGHT ? Qlight     \

=== modified file 'src/image.c'
--- a/src/image.c       2012-09-01 09:29:17 +0000
+++ b/src/image.c       2012-09-02 16:56:31 +0000
@@ -570,7 +570,6 @@
 static int x_build_heuristic_mask (struct frame *, struct image *,
                                    Lisp_Object);
 #ifdef HAVE_NTGUI
-extern Lisp_Object Vlibrary_cache, QCloaded_from;
 #define CACHE_IMAGE_TYPE(type, status) \
   do { Vlibrary_cache = Fcons (Fcons (type, status), Vlibrary_cache); } while 
(0)
 #else

=== modified file 'src/keyboard.c'
--- a/src/keyboard.c    2012-09-02 07:10:10 +0000
+++ b/src/keyboard.c    2012-09-02 16:56:31 +0000
@@ -1315,7 +1315,7 @@
    If ignore_mouse_drag_p is non-zero, ignore (implicit) mouse movement
    after resizing the tool-bar window.  */
 
-#if !defined HAVE_WINDOW_SYSTEM
+#if !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS
 static
 #endif
 int ignore_mouse_drag_p;

=== modified file 'src/keyboard.h'
--- a/src/keyboard.h    2012-09-01 06:38:52 +0000
+++ b/src/keyboard.h    2012-09-02 16:56:31 +0000
@@ -469,7 +469,7 @@
    happens.  */
 extern EMACS_TIME *input_available_clear_time;
 
-#if defined HAVE_WINDOW_SYSTEM
+#if defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS
 extern int ignore_mouse_drag_p;
 #endif
 

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2012-09-02 07:10:10 +0000
+++ b/src/lisp.h        2012-09-02 16:56:31 +0000
@@ -2988,6 +2988,7 @@
 /* Defined in lread.c.  */
 extern Lisp_Object Qvariable_documentation, Qstandard_input;
 extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
+extern Lisp_Object Qlexical_binding;
 extern Lisp_Object check_obarray (Lisp_Object);
 extern Lisp_Object intern_1 (const char *, ptrdiff_t);
 extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t);
@@ -3021,7 +3022,7 @@
 
 /* Defined in eval.c.  */
 extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qmacro;
-extern Lisp_Object Qinhibit_quit, Qclosure;
+extern Lisp_Object Qinhibit_quit, Qinternal_interpreter_environment, Qclosure;
 extern Lisp_Object Qand_rest;
 extern Lisp_Object Vautoload_queue;
 extern Lisp_Object Vsignaling_function;
@@ -3466,6 +3467,9 @@
 extern Lisp_Object Qnormal;
 extern Lisp_Object QCfamily, QCweight, QCslant;
 extern Lisp_Object QCheight, QCname, QCwidth, QCforeground, QCbackground;
+extern Lisp_Object Qextra_light, Qlight, Qsemi_light, Qsemi_bold;
+extern Lisp_Object Qbold, Qextra_bold, Qultra_bold;
+extern Lisp_Object Qoblique, Qitalic;
 extern Lisp_Object Vface_alternative_font_family_alist;
 extern Lisp_Object Vface_alternative_font_registry_alist;
 extern void syms_of_xfaces (void);

=== modified file 'src/lread.c'
--- a/src/lread.c       2012-08-30 00:47:33 +0000
+++ b/src/lread.c       2012-09-02 16:56:31 +0000
@@ -89,8 +89,6 @@
 
 static Lisp_Object Qload_force_doc_strings;
 
-extern Lisp_Object Qinternal_interpreter_environment;
-
 static Lisp_Object Qload_in_progress;
 
 /* The association list of objects read with the #n=object form.

=== modified file 'src/minibuf.c'
--- a/src/minibuf.c     2012-08-28 06:20:08 +0000
+++ b/src/minibuf.c     2012-09-02 16:56:31 +0000
@@ -1860,7 +1860,6 @@
 }
 
 static Lisp_Object Qmetadata;
-extern Lisp_Object Qbuffer;
 
 DEFUN ("internal-complete-buffer", Finternal_complete_buffer, 
Sinternal_complete_buffer, 3, 3, 0,
        doc: /* Perform completion on buffer names.

=== modified file 'src/process.c'
--- a/src/process.c     2012-09-01 06:38:52 +0000
+++ b/src/process.c     2012-09-02 16:56:31 +0000
@@ -165,16 +165,6 @@
 static Lisp_Object QCserver, QCnowait, QCnoquery, QCstop;
 static Lisp_Object QCsentinel, QClog, QCoptions, QCplist;
 static Lisp_Object Qlast_nonmenu_event;
-/* QCfamily is declared and initialized in xfaces.c,
-   QCfilter in keyboard.c.  */
-extern Lisp_Object QCfamily, QCfilter;
-
-/* Qexit is declared and initialized in eval.c.  */
-
-/* QCfamily is defined in xfaces.c.  */
-extern Lisp_Object QCfamily;
-/* QCfilter is defined in keyboard.c.  */
-extern Lisp_Object QCfilter;
 
 #define NETCONN_P(p) (EQ (XPROCESS (p)->type, Qnetwork))
 #define NETCONN1_P(p) (EQ (p->type, Qnetwork))

=== modified file 'src/widget.c'
--- a/src/widget.c      2012-07-10 21:48:34 +0000
+++ b/src/widget.c      2012-09-02 16:56:31 +0000
@@ -671,8 +671,6 @@
   update_wm_hints (ew);
 }
 
-extern void free_frame_faces (struct frame *);
-
 static void
 EmacsFrameDestroy (Widget widget)
 {

=== modified file 'src/xfaces.c'
--- a/src/xfaces.c      2012-09-01 06:38:52 +0000
+++ b/src/xfaces.c      2012-09-02 16:56:31 +0000
@@ -315,9 +315,10 @@
 Lisp_Object Qnormal;
 Lisp_Object Qbold;
 static Lisp_Object Qline, Qwave;
-Lisp_Object Qultra_light, Qextra_light, Qlight;
+static Lisp_Object Qultra_light, Qreverse_oblique, Qreverse_italic;
+Lisp_Object Qextra_light, Qlight;
 Lisp_Object Qsemi_light, Qsemi_bold, Qextra_bold, Qultra_bold;
-Lisp_Object Qoblique, Qreverse_oblique, Qreverse_italic;
+Lisp_Object Qoblique;
 Lisp_Object Qitalic;
 static Lisp_Object Qultra_condensed, Qextra_condensed;
 Lisp_Object Qcondensed;
@@ -452,18 +453,7 @@
 struct table_entry;
 struct named_merge_point;
 
-static void map_tty_color (struct frame *, struct face *,
-                          enum lface_attribute_index, int *);
-static Lisp_Object resolve_face_name (Lisp_Object, int);
 static void set_font_frame_param (Lisp_Object, Lisp_Object);
-static int get_lface_attributes (struct frame *, Lisp_Object, Lisp_Object *,
-                                int, struct named_merge_point *);
-static ptrdiff_t load_pixmap (struct frame *, Lisp_Object,
-                             unsigned *, unsigned *);
-static struct frame *frame_or_selected_frame (Lisp_Object, int);
-static void load_face_colors (struct frame *, struct face *, Lisp_Object *);
-static void free_face_colors (struct frame *, struct face *);
-static int face_color_gray_p (struct frame *, const char *);
 static struct face *realize_face (struct face_cache *, Lisp_Object *,
                                  int);
 static struct face *realize_non_ascii_face (struct frame *, Lisp_Object,
@@ -473,38 +463,11 @@
 static int realize_basic_faces (struct frame *);
 static int realize_default_face (struct frame *);
 static void realize_named_face (struct frame *, Lisp_Object, int);
-static int lface_fully_specified_p (Lisp_Object *);
-static int lface_equal_p (Lisp_Object *, Lisp_Object *);
-static unsigned hash_string_case_insensitive (Lisp_Object);
-static unsigned lface_hash (Lisp_Object *);
-static int lface_same_font_attributes_p (Lisp_Object *, Lisp_Object *);
 static struct face_cache *make_face_cache (struct frame *);
 static void clear_face_gcs (struct face_cache *);
 static void free_face_cache (struct face_cache *);
-static int face_fontset (Lisp_Object *);
-static void merge_face_vectors (struct frame *, Lisp_Object *, Lisp_Object*,
-                               struct named_merge_point *);
 static int merge_face_ref (struct frame *, Lisp_Object, Lisp_Object *,
                           int, struct named_merge_point *);
-static int set_lface_from_font (struct frame *, Lisp_Object, Lisp_Object,
-                               int);
-static Lisp_Object lface_from_face_name (struct frame *, Lisp_Object, int);
-static struct face *make_realized_face (Lisp_Object *);
-static void cache_face (struct face_cache *, struct face *, unsigned);
-static void uncache_face (struct face_cache *, struct face *);
-
-#ifdef HAVE_WINDOW_SYSTEM
-
-static GC x_create_gc (struct frame *, unsigned long, XGCValues *);
-static void x_free_gc (struct frame *, GC);
-
-#ifdef USE_X_TOOLKIT
-static void x_update_menu_appearance (struct frame *);
-
-extern void free_frame_menubar (struct frame *);
-#endif /* USE_X_TOOLKIT */
-
-#endif /* HAVE_WINDOW_SYSTEM */
 
 
 /***********************************************************************

=== modified file 'src/xfont.c'
--- a/src/xfont.c       2012-08-21 10:21:04 +0000
+++ b/src/xfont.c       2012-09-02 16:56:31 +0000
@@ -46,7 +46,6 @@
 };
 
 /* Prototypes of support functions.  */
-extern void x_clear_errors (Display *);
 
 static XCharStruct *xfont_get_pcm (XFontStruct *, XChar2b *);
 

=== modified file 'src/xterm.c'
--- a/src/xterm.c       2012-08-25 20:31:04 +0000
+++ b/src/xterm.c       2012-09-02 16:56:31 +0000
@@ -165,13 +165,6 @@
 
 Lisp_Object x_display_name_list;
 
-/* Frame being updated by update_frame.  This is declared in term.c.
-   This is set by update_begin and looked at by all the XT functions.
-   It is zero while not inside an update.  In that case, the XT
-   functions assume that `selected_frame' is the frame to apply to.  */
-
-extern struct frame *updating_frame;
-
 /* This is a frame waiting to be auto-raised, within XTread_socket.  */
 
 static struct frame *pending_autoraise_frame;
@@ -10609,8 +10602,6 @@
 
 /* Set up use of X before we make the first connection.  */
 
-extern frame_parm_handler x_frame_parm_handlers[];
-
 static struct redisplay_interface x_redisplay_interface =
   {
     x_frame_parm_handlers,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]