aboutsummaryrefslogtreecommitdiffstats
path: root/src/frame.c
diff options
context:
space:
mode:
authorEli Zaretskii2016-04-30 13:45:33 +0300
committerEli Zaretskii2016-04-30 13:45:33 +0300
commitccdaf04cfdaa42fb85d456274405cce32ee9f5d4 (patch)
tree631c59e4dad1db81cca00edeaa721ae8c0e522e5 /src/frame.c
parentffe701cb07cfb3584c4e4894976f0c9487d02c59 (diff)
downloademacs-ccdaf04cfdaa42fb85d456274405cce32ee9f5d4.tar.gz
emacs-ccdaf04cfdaa42fb85d456274405cce32ee9f5d4.zip
Fix the MSDOS build
* config.bat: * msdos/sedlisp.inp: * msdos/sedlibmk.inp: * msdos/sedleim.inp: * msdos/sedadmin.inp: * msdos/sed6.inp: * msdos/sed3v2.inp: * msdos/sed2v2.inp: * msdos/sed1v2.inp: Adapt to Emacs 25. * src/process.c (remove_slash_colon): Move out of "#ifdef subprocesses" block, as it its called unconditionally. Move ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they reference variables only defined in that block. * src/msdos.h: Provide prototypes for IT_set_frame_parameters, faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask, dos_keysns, dos_keyread, run_msdos_command, and syms_of_win16select, to avoid compiler warnings. * src/msdos.c (SYS_ENVIRON): Define to either '_environ' or 'environ', depending on the DJGPP version. Remove declarations of externally-visible Lisp objects, like Qbackground_color and Qreverse. (run_msdos_command): First argument is not signed, not unsigned. Use SYS_ENVIRON. (sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as the latter doesn't work when 'time_t' is an unsigned data type. This caused idle timers to behave incorrectly: they only fired after a keyboard input event. * src/frame.c (adjust_frame_size) [MSDOS]: Account for FRAME_TOP_MARGIN that isn't counted in the frame's number of lines, but dos_set_window_size needs it to be added. * src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions. * src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype that works around compilation errors with older GCC versions. * src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp Objects. * src/filelock.c [MSDOS]: Ifdef away most of the code. Provide no-op implementations for 'lock_file' and 'unlock_file'. (Ffile_locked_p) [MSDOS]: Always return nil. This avoids multiple ifdefs in all users of filelock.c functionality. * src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define. * src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler warnings. * src/dosfns.h: Provide prototypes for dos_cleanup, syms_of_dosfns, and init_dosfns. * src/deps.mk (atimer.o): Depend on msdos.h. (emacs.o): Depend on dosfns.h. * src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler warnings. * lisp/window.el (window--adjust-process-windows): Skip the body if 'process-list' is not available. This avoids failure to start up on MS-DOS. * lisp/vc/diff.el (diff-no-select): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/textmodes/ispell.el (ispell-async-processp): Replace 'start-process' with 'make-process' in a comment. * lisp/term/internal.el (IT-unicode-translations): Modify and add a few translations to display Info files with Unicode markup. Fix an ancient off-by-one mismatch error with Unicode codepoints. * lisp/progmodes/compile.el (compilation-start): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/man.el (Man-build-man-command, Man-getpage-in-background): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/international/mule-cmds.el (set-coding-system-map): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc fix. (eshell-execute-pipeline): Test 'make-process', not 'start-process', as the latter is now available on all platforms.
Diffstat (limited to 'src/frame.c')
-rw-r--r--src/frame.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/frame.c b/src/frame.c
index 53ff05965c1..00f25f7e911 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -509,10 +509,13 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit,
509 block_input (); 509 block_input ();
510 510
511#ifdef MSDOS 511#ifdef MSDOS
512 /* We only can set screen dimensions to certain values supported 512 /* We only can set screen dimensions to certain values supported by
513 by our video hardware. Try to find the smallest size greater 513 our video hardware. Try to find the smallest size greater or
514 or equal to the requested dimensions. */ 514 equal to the requested dimensions, while accounting for the fact
515 dos_set_window_size (&new_lines, &new_cols); 515 that the menu-bar lines are not counted in the frame height. */
516 int dos_new_lines = new_lines + FRAME_TOP_MARGIN (f);
517 dos_set_window_size (&dos_new_lines, &new_cols);
518 new_lines = dos_new_lines - FRAME_TOP_MARGIN (f);
516#endif 519#endif
517 520
518 if (new_windows_width != old_windows_width) 521 if (new_windows_width != old_windows_width)