emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master bf90e9a: 'temacs -nw' should not call missing funct


From: Paul Eggert
Subject: [Emacs-diffs] master bf90e9a: 'temacs -nw' should not call missing functions
Date: Sun, 04 Jan 2015 21:21:09 +0000

branch: master
commit bf90e9ac7caec15b0f111e0bb67e311233f3a795
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    'temacs -nw' should not call missing functions
    
    Without this patch, "temacs -nw" fails with the diagnostic
    "emacs: Symbol's function definition is void: frame-windows-min-size"
    and messes up the tty's state.
    * lib-src/make-docfile.c (write_globals):
    Declare Fframe_windows_min_size with ATTRIBUTE_CONST, too.  Sort.
    * src/frame.c (Fframe_windows_min_size): New placeholder function.
    (syms_of_frame): Define it.
    * src/window.c (Fwindow__sanitize_window_sizes): New placeholder.
    (syms_of_window): Define it.
---
 lib-src/ChangeLog      |    4 ++++
 lib-src/make-docfile.c |    5 +++--
 src/ChangeLog          |    9 +++++++++
 src/frame.c            |   17 +++++++++++++++--
 src/window.c           |    9 +++++++++
 5 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 5d17324..acbbd3a 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,5 +1,9 @@
 2015-01-04  Paul Eggert  <address@hidden>
 
+       'temacs -nw' should not call missing functions
+       * make-docfile.c (write_globals):
+       Declare Fframe_windows_min_size with ATTRIBUTE_CONST, too.  Sort.
+
        Less 'make' chatter for lib-src
        * Makefile.in (blessmail): Less 'make' chatter here.
 
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
index 78becac..f74b3d5 100644
--- a/lib-src/make-docfile.c
+++ b/lib-src/make-docfile.c
@@ -658,9 +658,10 @@ write_globals (void)
          /* It would be nice to have a cleaner way to deal with these
             special hacks, too.  */
          if (strcmp (globals[i].name, "Fbyteorder") == 0
-             || strcmp (globals[i].name, "Ftool_bar_height") == 0
+             || strcmp (globals[i].name, "Fframe_windows_min_size") == 0
+             || strcmp (globals[i].name, "Fidentity") == 0
              || strcmp (globals[i].name, "Fmax_char") == 0
-             || strcmp (globals[i].name, "Fidentity") == 0)
+             || strcmp (globals[i].name, "Ftool_bar_height") == 0)
            fputs (" ATTRIBUTE_CONST", stdout);
 
          puts (";");
diff --git a/src/ChangeLog b/src/ChangeLog
index 592a7f1..8cf2696 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,14 @@
 2015-01-04  Paul Eggert  <address@hidden>
 
+       'temacs -nw' should not call missing functions
+       Without this patch, "temacs -nw" fails with the diagnostic
+       "emacs: Symbol's function definition is void: frame-windows-min-size"
+       and messes up the tty's state.
+       * frame.c (Fframe_windows_min_size): New placeholder function.
+       (syms_of_frame): Define it.
+       * window.c (Fwindow__sanitize_window_sizes): New placeholder.
+       (syms_of_window): Define it.
+
        Less 'make' chatter for lisp dir
        * Makefile.in (%.elc): Adjust to compile-onefile change in
        ../lisp/Makefile.in.
diff --git a/src/frame.c b/src/frame.c
index 5a0d142..9394ae4 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -334,10 +334,22 @@ predicates which report frame's specific UI-related 
capabilities.  */)
     return type;
 }
 
+/* Placeholder used by temacs -nw before window.el is loaded.  */
+DEFUN ("frame-windows-min-size", Fframe_windows_min_size,
+       Sframe_windows_min_size, 4, 4, 0,
+       doc: /* */)
+     (Lisp_Object frame, Lisp_Object horizontal,
+      Lisp_Object ignore, Lisp_Object pixelwise)
+{
+  return make_number (0);
+}
+
 static int
-frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal, Lisp_Object 
ignore, Lisp_Object pixelwise)
+frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal,
+                       Lisp_Object ignore, Lisp_Object pixelwise)
 {
-  return XINT (call4 (Qframe_windows_min_size, frame, horizontal, ignore, 
pixelwise));
+  return XINT (call4 (Qframe_windows_min_size, frame, horizontal,
+                     ignore, pixelwise));
 }
 
 
@@ -5081,6 +5093,7 @@ even if this option is non-nil.  */);
   defsubr (&Sframep);
   defsubr (&Sframe_live_p);
   defsubr (&Swindow_system);
+  defsubr (&Sframe_windows_min_size);
   defsubr (&Smake_terminal_frame);
   defsubr (&Shandle_switch_frame);
   defsubr (&Sselect_frame);
diff --git a/src/window.c b/src/window.c
index 938f1a3..45dfb9e 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3014,6 +3014,14 @@ resize_root_window (Lisp_Object window, Lisp_Object 
delta, Lisp_Object horizonta
   return call5 (Qwindow_resize_root_window, window, delta, horizontal, ignore, 
pixelwise);
 }
 
+/* Placeholder used by temacs -nw before window.el is loaded.  */
+DEFUN ("window--sanitize-window-sizes", Fwindow__sanitize_window_sizes,
+       Swindow__sanitize_window_sizes, 2, 2, 0,
+       doc: /* */)
+     (Lisp_Object frame, Lisp_Object horizontal)
+{
+  return Qnil;
+}
 
 Lisp_Object
 sanitize_window_sizes (Lisp_Object frame, Lisp_Object horizontal)
@@ -7563,6 +7571,7 @@ displayed after a scrolling operation to be somewhat 
inaccurate.  */);
   defsubr (&Sset_window_display_table);
   defsubr (&Snext_window);
   defsubr (&Sprevious_window);
+  defsubr (&Swindow__sanitize_window_sizes);
   defsubr (&Sget_buffer_window);
   defsubr (&Sdelete_other_windows_internal);
   defsubr (&Sdelete_window_internal);



reply via email to

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