Commit 73a4405a authored by Kenichi Handa's avatar Kenichi Handa
Browse files

merge trunk

parents f6c1c771 0c4371fe
...@@ -93,6 +93,55 @@ symbol: comma ...@@ -93,6 +93,55 @@ symbol: comma
"foo.adb", line 2(11): warning: file name does not match ... "foo.adb", line 2(11): warning: file name does not match ...
"src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment. "src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment.
* Cucumber
symbol: cucumber
Feature: This is an example for backtrace.
Scenario: undefined step # features/cucumber.feature:3
Given this is undefined # features/cucumber.feature:4
Scenario: assertion false (Test::Unit) # features/cucumber.feature:6
Given this will generate 'assert false' # features/step_definitions/default_steps.rb:1
<false> is not true. (Test::Unit::AssertionFailedError)
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:48:in `assert_block'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:500:in `_wrap_assertion'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:46:in `assert_block'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:63:in `assert'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:495:in `_wrap_assertion'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:61:in `assert'
./features/step_definitions/default_steps.rb:2:in `/^this will generate 'assert false'$/'
features/cucumber.feature:7:in `Given this will generate 'assert false''
Scenario: assertion false (RSpec) # features/cucumber.feature:9
Given this will generate 'should be_true' # features/step_definitions/default_steps.rb:5
expected true to be false (Spec::Expectations::ExpectationNotMetError)
./features/step_definitions/default_steps.rb:6:in `/^this will generate 'should be_true'$/'
features/cucumber.feature:10:in `Given this will generate 'should be_true''
Scenario: backtrace in step definition # features/cucumber.feature:12
Given this will generate backtrace # features/step_definitions/default_steps.rb:9
(RuntimeError)
./features/step_definitions/default_steps.rb:10:in `/^this will generate backtrace$/'
features/cucumber.feature:13:in `Given this will generate backtrace'
Scenario: deeep backtrace in step definition # features/cucumber.feature:15
Given this will generate deep backtrace # features/step_definitions/default_steps.rb:13
(RuntimeError)
./features/step_definitions/default_steps.rb:18:in `deep'
./features/step_definitions/default_steps.rb:14:in `/^this will generate deep backtrace$/'
features/cucumber.feature:16:in `Given this will generate deep backtrace'
Failing Scenarios:
cucumber features/cucumber.feature:6 # Scenario: assertion false (Test::Unit)
cucumber features/cucumber.feature:9 # Scenario: assertion false (RSpec)
cucumber features/cucumber.feature:12 # Scenario: backtrace in step definition
cucumber features/cucumber.feature:15 # Scenario: deeep backtrace in step definition
5 scenarios (4 failed, 1 undefined)
5 steps (4 failed, 1 undefined)
0m0.007s
* EDG C/C++ * EDG C/C++
...@@ -318,6 +367,51 @@ symbol: php ...@@ -318,6 +367,51 @@ symbol: php
Parse error: parse error, unexpected $ in main.php on line 59 Parse error: parse error, unexpected $ in main.php on line 59
Fatal error: Call to undefined function: mysql_pconnect() in db.inc on line 66 Fatal error: Call to undefined function: mysql_pconnect() in db.inc on line 66
* Ruby
symbol: ruby
plain-exception.rb:7:in `fun': unhandled exception
from plain-exception.rb:3:in `proxy'
from plain-exception.rb:12
* Ruby (Test::Unit)
symbol: ruby-Test::Unit
Loaded suite examples/test-unit
Started
FFFE
Finished in 0.023173 seconds.
1) Failure:
test_a_deep_assert(BacktracesTest)
[examples/test-unit.rb:28:in `here_is_a_deep_assert'
examples/test-unit.rb:19:in `test_a_deep_assert']:
<false> is not true.
2) Failure:
test_assert(BacktracesTest) [examples/test-unit.rb:5]:
<false> is not true.
3) Failure:
test_assert_raise(BacktracesTest) [examples/test-unit.rb:9]:
Exception raised:
Class: <RuntimeError>
Message: <"">
---Backtrace---
examples/test-unit.rb:10:in `test_assert_raise'
examples/test-unit.rb:9:in `test_assert_raise'
---------------
4) Error:
test_backtrace(BacktracesTest):
NoMethodError: undefined method `not_exists' for nil:NilClass
examples/test-unit.rb:24:in `some_function_call_from_nil'
examples/test-unit.rb:15:in `test_backtrace'
4 tests, 3 assertions, 3 failures, 1 errors
* RXP * RXP
symbol: rxp symbol: rxp
......
2010-07-13 Karl Fogel <kfogel@red-bean.com>
* bookmark.el (bookmark-show-annotation): Use `when' instead of `if'.
This is also from Thierry Volpiatto's patch in bug #6444. However,
because it was extraneous to the functional change in that patch,
and causes a re-indendation, I am committing it separately.
2010-07-13 Karl Fogel <kfogel@red-bean.com>
* bookmark.el (bookmark-show-annotation): Ensure annotations show,
e.g. in Info bookmarks, by using `switch-to-buffer-other-window'.
Patch by Thierry Volpiatto (Bug#6444).
2010-07-13 Chong Yidong <cyd@stupidchicken.com>
* frame.el (make-frame): Fix typo in 2010-06-30 change (Bug#6625).
2010-07-13 Adrian Robert <Adrian.B.Robert@gmail.com>
* term/ns-win.el: Bind M-~ to 'ns-prev-frame (due to Matthew
Dempsky; bug#5084). Remove incorrect binding for S-tab.
(ns-alternatives-map): Change S-tab binding to backtab
(bug#6616).
* simple.el (normal-erase-is-backspace-setup-frame): Set mode on
under ns.
2010-07-12 Andreas Schwab <schwab@linux-m68k.org> 2010-07-12 Andreas Schwab <schwab@linux-m68k.org>
   
* language/tai-viet.el ("TaiViet"): Try to fix re-encoding * language/tai-viet.el ("TaiViet"): Try to fix re-encoding
......
...@@ -1733,7 +1733,7 @@ last full line, move to the last full line. The return value is undefined." ...@@ -1733,7 +1733,7 @@ last full line, move to the last full line. The return value is undefined."
"Display the annotation for bookmark named BOOKMARK in a buffer, "Display the annotation for bookmark named BOOKMARK in a buffer,
if an annotation exists." if an annotation exists."
(let ((annotation (bookmark-get-annotation bookmark))) (let ((annotation (bookmark-get-annotation bookmark)))
(if (and annotation (not (string-equal annotation ""))) (when (and annotation (not (string-equal annotation "")))
(save-excursion (save-excursion
(let ((old-buf (current-buffer))) (let ((old-buf (current-buffer)))
(pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t) (pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t)
...@@ -1741,7 +1741,7 @@ if an annotation exists." ...@@ -1741,7 +1741,7 @@ if an annotation exists."
;; (insert (concat "Annotation for bookmark '" bookmark "':\n\n")) ;; (insert (concat "Annotation for bookmark '" bookmark "':\n\n"))
(insert annotation) (insert annotation)
(goto-char (point-min)) (goto-char (point-min))
(pop-to-buffer old-buf)))))) (switch-to-buffer-other-window old-buf))))))
(defun bookmark-show-all-annotations () (defun bookmark-show-all-annotations ()
......
...@@ -736,11 +736,11 @@ the new frame according to its own rules." ...@@ -736,11 +736,11 @@ the new frame according to its own rules."
(error "Don't know how to create a frame on window system %s" w)) (error "Don't know how to create a frame on window system %s" w))
;; Add parameters from `window-system-default-frame-alist'. ;; Add parameters from `window-system-default-frame-alist'.
(dolist (p (cdr (assq w window-system-default-frame-alist))) (dolist (p (cdr (assq w window-system-default-frame-alist)))
(unless (memq (car p) params) (unless (assq (car p) params)
(push p params))) (push p params)))
;; Add parameters from `default-frame-alist'. ;; Add parameters from `default-frame-alist'.
(dolist (p default-frame-alist) (dolist (p default-frame-alist)
(unless (memq (car p) params) (unless (assq (car p) params)
(push p params))) (push p params)))
;; Now make the frame. ;; Now make the frame.
(run-hooks 'before-make-frame-hook) (run-hooks 'before-make-frame-hook)
......
...@@ -6522,6 +6522,7 @@ call `normal-erase-is-backspace-mode' (which see) instead." ...@@ -6522,6 +6522,7 @@ call `normal-erase-is-backspace-mode' (which see) instead."
(if (if (eq normal-erase-is-backspace 'maybe) (if (if (eq normal-erase-is-backspace 'maybe)
(and (not noninteractive) (and (not noninteractive)
(or (memq system-type '(ms-dos windows-nt)) (or (memq system-type '(ms-dos windows-nt))
(memq window-system '(ns))
(and (memq window-system '(x)) (and (memq window-system '(x))
(fboundp 'x-backspace-delete-keys-p) (fboundp 'x-backspace-delete-keys-p)
(x-backspace-delete-keys-p)) (x-backspace-delete-keys-p))
......
...@@ -186,14 +186,11 @@ The properties returned may include `top', `left', `height', and `width'." ...@@ -186,14 +186,11 @@ The properties returned may include `top', `left', `height', and `width'."
;;;; Keyboard mapping. ;;;; Keyboard mapping.
;; These tell read-char how to convert these special chars to ASCII.
(put 'S-tab 'ascii-character (logior 16 ?\t))
(defvar ns-alternatives-map (defvar ns-alternatives-map
(let ((map (make-sparse-keymap))) (let ((map (make-sparse-keymap)))
;; Map certain keypad keys into ASCII characters ;; Map certain keypad keys into ASCII characters
;; that people usually expect. ;; that people usually expect.
(define-key map [S-tab] [25]) (define-key map [S-tab] [backtab])
(define-key map [M-backspace] [?\M-\d]) (define-key map [M-backspace] [?\M-\d])
(define-key map [M-delete] [?\M-\d]) (define-key map [M-delete] [?\M-\d])
(define-key map [M-tab] [?\M-\t]) (define-key map [M-tab] [?\M-\t])
...@@ -208,6 +205,7 @@ The properties returned may include `top', `left', `height', and `width'." ...@@ -208,6 +205,7 @@ The properties returned may include `top', `left', `height', and `width'."
(define-key global-map [?\s-,] 'customize) (define-key global-map [?\s-,] 'customize)
(define-key global-map [?\s-'] 'next-multiframe-window) (define-key global-map [?\s-'] 'next-multiframe-window)
(define-key global-map [?\s-`] 'other-frame) (define-key global-map [?\s-`] 'other-frame)
(define-key global-map [?\s-~] 'ns-prev-frame)
(define-key global-map [?\s--] 'center-line) (define-key global-map [?\s--] 'center-line)
(define-key global-map [?\s-:] 'ispell) (define-key global-map [?\s-:] 'ispell)
(define-key global-map [?\s-\;] 'ispell-next) (define-key global-map [?\s-\;] 'ispell-next)
......
...@@ -3,6 +3,37 @@ ...@@ -3,6 +3,37 @@
* font.c (font_open_entity): Cancel previous change. * font.c (font_open_entity): Cancel previous change.
(Ffont_get): Don't check FONT_ENTITY_INDEX of a font-object. (Ffont_get): Don't check FONT_ENTITY_INDEX of a font-object.
   
2010-07-13 Eli Zaretskii <eliz@gnu.org>
Remove subprocesses #ifdefs.
* process.c <inhibit_sentinels>: Move to the common part.
(Fwaiting_for_user_input_p): Move to the common part; return nil
if async subprocesses aren't supported.
* sysdep.c (wait_for_termination) [!MSDOS]: Don't compile on
MS-DOS. Remove "#ifdef subprocesses".
(sys_subshell, sys_select): Remove "#ifdef subprocesses".
(gettimeofday): Remove "#ifdef subprocesses".
(wait_without_blocking): Remove function.
(flush_pending_output, child_setup_tty): Don't compile on MS-DOS.
Remove "#ifdef subprocesses".
(child_setup_tty): Use WINDOWSNT instead of DOS_NT, since not
compiled on MS-DOS.
* callproc.c (Fcall_process) [!MSDOS]: Don't call
wait_for_termination on MS-DOS.
* emacs.c (shut_down_emacs): Remove "#ifndef subprocesses" from
initialization of inhibit_sentinels.
* keyboard.c (record_asynch_buffer_change): Remove "#ifdef
subprocesses" conditional.
* callproc.c (Fcall_process) [!subprocesses]: Don't call
wait_for_termination, since `buffer' cannot be an integer when
async subprocesses are not supported
* xdisp.c (decode_mode_spec): Use `MSDOS' instead of `subprocesses'
for ifdefing away the call to Fprocess_status.
* process.c (add_keyboard_wait_descriptor) [!subprocesses]: Ifdef
away the entire body of the function.
>>>>>>> MERGE-SOURCE
2010-07-13 Dan Nicolaescu <dann@ics.uci.edu> 2010-07-13 Dan Nicolaescu <dann@ics.uci.edu>
   
Remove subprocesses #ifdefs from term.c. Remove subprocesses #ifdefs from term.c.
......
...@@ -612,12 +612,6 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) ...@@ -612,12 +612,6 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
{ {
if (fd[0] >= 0) if (fd[0] >= 0)
emacs_close (fd[0]); emacs_close (fd[0]);
#ifndef subprocesses
/* If Emacs has been built with asynchronous subprocess support,
we don't need to do this, I think because it will then have
the facilities for handling SIGCHLD. */
wait_without_blocking ();
#endif /* subprocesses */
return Qnil; return Qnil;
} }
...@@ -811,8 +805,10 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) ...@@ -811,8 +805,10 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
make_number (total_read)); make_number (total_read));
} }
#ifndef MSDOS
/* Wait for it to terminate, unless it already has. */ /* Wait for it to terminate, unless it already has. */
wait_for_termination (pid); wait_for_termination (pid);
#endif
immediate_quit = 0; immediate_quit = 0;
......
...@@ -2130,9 +2130,7 @@ shut_down_emacs (int sig, int no_x, Lisp_Object stuff) ...@@ -2130,9 +2130,7 @@ shut_down_emacs (int sig, int no_x, Lisp_Object stuff)
stuff_buffered_input (stuff); stuff_buffered_input (stuff);
#ifdef subprocesses
inhibit_sentinels = 1; inhibit_sentinels = 1;
#endif
kill_buffer_processes (Qnil); kill_buffer_processes (Qnil);
Fdo_auto_save (Qt, Qnil); Fdo_auto_save (Qt, Qnil);
......
...@@ -6901,18 +6901,15 @@ record_asynch_buffer_change (void) ...@@ -6901,18 +6901,15 @@ record_asynch_buffer_change (void)
event.frame_or_window = Qnil; event.frame_or_window = Qnil;
event.arg = Qnil; event.arg = Qnil;
#ifdef subprocesses
/* We don't need a buffer-switch event unless Emacs is waiting for input. /* We don't need a buffer-switch event unless Emacs is waiting for input.
The purpose of the event is to make read_key_sequence look up the The purpose of the event is to make read_key_sequence look up the
keymaps again. If we aren't in read_key_sequence, we don't need one, keymaps again. If we aren't in read_key_sequence, we don't need one,
and the event could cause trouble by messing up (input-pending-p). */ and the event could cause trouble by messing up (input-pending-p).
Note: Fwaiting_for_user_input_p always returns nil when async
subprocesses aren't supported. */
tem = Fwaiting_for_user_input_p (); tem = Fwaiting_for_user_input_p ();
if (NILP (tem)) if (NILP (tem))
return; return;
#else
/* We never need these events if we have no asynchronous subprocesses. */
return;
#endif
/* Make sure no interrupt happens while storing the event. */ /* Make sure no interrupt happens while storing the event. */
#ifdef SIGIO #ifdef SIGIO
......
...@@ -304,6 +304,10 @@ static int kbd_is_on_hold; ...@@ -304,6 +304,10 @@ static int kbd_is_on_hold;
/* Nonzero means delete a process right away if it exits. */ /* Nonzero means delete a process right away if it exits. */
static int delete_exited_processes; static int delete_exited_processes;
/* Nonzero means don't run process sentinels. This is used
when exiting. */
int inhibit_sentinels;
#ifdef subprocesses #ifdef subprocesses
/* Mask of bits indicating the descriptors that we wait for input on. */ /* Mask of bits indicating the descriptors that we wait for input on. */
...@@ -381,10 +385,6 @@ struct sockaddr_and_len { ...@@ -381,10 +385,6 @@ struct sockaddr_and_len {
/* Maximum number of bytes to send to a pty without an eof. */ /* Maximum number of bytes to send to a pty without an eof. */
static int pty_max_bytes; static int pty_max_bytes;
/* Nonzero means don't run process sentinels. This is used
when exiting. */
int inhibit_sentinels;
#ifdef HAVE_PTYS #ifdef HAVE_PTYS
#ifdef HAVE_PTY_H #ifdef HAVE_PTY_H
#include <pty.h> #include <pty.h>
...@@ -5433,15 +5433,6 @@ read_process_output (Lisp_Object proc, register int channel) ...@@ -5433,15 +5433,6 @@ read_process_output (Lisp_Object proc, register int channel)
unbind_to (count, Qnil); unbind_to (count, Qnil);
return nbytes; return nbytes;
} }
DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
0, 0, 0,
doc: /* Returns non-nil if Emacs is waiting for input from the user.
This is intended for use by asynchronous process output filters and sentinels. */)
(void)
{
return (waiting_for_user_input_p ? Qt : Qnil);
}
/* Sending data to subprocess */ /* Sending data to subprocess */
...@@ -7122,10 +7113,12 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd, ...@@ -7122,10 +7113,12 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
void void
add_keyboard_wait_descriptor (int desc) add_keyboard_wait_descriptor (int desc)
{ {
#ifdef subprocesses
FD_SET (desc, &input_wait_mask); FD_SET (desc, &input_wait_mask);
FD_SET (desc, &non_process_wait_mask); FD_SET (desc, &non_process_wait_mask);
if (desc > max_keyboard_desc) if (desc > max_keyboard_desc)
max_keyboard_desc = desc; max_keyboard_desc = desc;
#endif
} }
/* From now on, do not expect DESC to give keyboard input. */ /* From now on, do not expect DESC to give keyboard input. */
...@@ -7277,6 +7270,19 @@ kill_buffer_processes (Lisp_Object buffer) ...@@ -7277,6 +7270,19 @@ kill_buffer_processes (Lisp_Object buffer)
#endif /* subprocesses */ #endif /* subprocesses */
} }
DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
0, 0, 0,
doc: /* Returns non-nil if Emacs is waiting for input from the user.
This is intended for use by asynchronous process output filters and sentinels. */)
(void)
{
#ifdef subprocesses
return (waiting_for_user_input_p ? Qt : Qnil);
#else
return Qnil;
#endif
}
/* Stop reading input from keyboard sources. */ /* Stop reading input from keyboard sources. */
void void
......
...@@ -355,16 +355,6 @@ set_exclusive_use (int fd) ...@@ -355,16 +355,6 @@ set_exclusive_use (int fd)
/* Ok to do nothing if this feature does not exist */ /* Ok to do nothing if this feature does not exist */
} }
#ifndef subprocesses
void
wait_without_blocking (void)
{
croak ("wait_without_blocking");
synch_process_alive = 0;
}
#endif /* not subprocesses */
int wait_debugging; /* Set nonzero to make following function work under dbx int wait_debugging; /* Set nonzero to make following function work under dbx
(at least for bsd). */ (at least for bsd). */
...@@ -373,6 +363,7 @@ SIGTYPE ...@@ -373,6 +363,7 @@ SIGTYPE
wait_for_termination_signal (void) wait_for_termination_signal (void)
{} {}
#ifndef MSDOS
/* Wait for subprocess with process id `pid' to terminate and /* Wait for subprocess with process id `pid' to terminate and
make sure it will get eliminated (not remain forever as a zombie) */ make sure it will get eliminated (not remain forever as a zombie) */
...@@ -381,7 +372,6 @@ wait_for_termination (int pid) ...@@ -381,7 +372,6 @@ wait_for_termination (int pid)
{ {
while (1) while (1)
{ {
#ifdef subprocesses
#if defined (BSD_SYSTEM) || defined (HPUX) #if defined (BSD_SYSTEM) || defined (HPUX)
/* Note that kill returns -1 even if the process is just a zombie now. /* Note that kill returns -1 even if the process is just a zombie now.
But inevitably a SIGCHLD interrupt should be generated But inevitably a SIGCHLD interrupt should be generated
...@@ -417,14 +407,9 @@ wait_for_termination (int pid) ...@@ -417,14 +407,9 @@ wait_for_termination (int pid)
sigsuspend (&empty_mask); sigsuspend (&empty_mask);
#endif /* not WINDOWSNT */ #endif /* not WINDOWSNT */
#endif /* not BSD_SYSTEM, and not HPUX version >= 6 */ #endif /* not BSD_SYSTEM, and not HPUX version >= 6 */
#else /* not subprocesses */
break;
#endif /* not subprocesses */
} }
} }
#ifdef subprocesses
/* /*
* flush any pending output * flush any pending output
* (may flush input as well; it does not matter the way we use it) * (may flush input as well; it does not matter the way we use it)
...@@ -459,7 +444,7 @@ flush_pending_output (int channel) ...@@ -459,7 +444,7 @@ flush_pending_output (int channel)
void void
child_setup_tty (int out) child_setup_tty (int out)
{ {
#ifndef DOS_NT #ifndef WINDOWSNT
struct emacs_tty s; struct emacs_tty s;
EMACS_GET_TTY (out, &s); EMACS_GET_TTY (out, &s);
...@@ -543,10 +528,10 @@ child_setup_tty (int out) ...@@ -543,10 +528,10 @@ child_setup_tty (int out)
EMACS_SET_TTY (out, &s, 0); EMACS_SET_TTY (out, &s, 0);
#endif /* not DOS_NT */ #endif /* not WINDOWSNT */
} }
#endif /* MSDOS */
#endif /* subprocesses */
/* Record a signal code and the handler for it. */ /* Record a signal code and the handler for it. */
struct save_signal struct save_signal
...@@ -650,9 +635,7 @@ sys_subshell (void) ...@@ -650,9 +635,7 @@ sys_subshell (void)
if (str) if (str)
chdir ((char *) str); chdir ((char *) str);
#ifdef subprocesses
close_process_descs (); /* Close Emacs's pipes/ptys */ close_process_descs (); /* Close Emacs's pipes/ptys */
#endif
#ifdef SET_EMACS_PRIORITY #ifdef SET_EMACS_PRIORITY
{ {
...@@ -1699,11 +1682,7 @@ sys_select (int nfds, ...@@ -1699,11 +1682,7 @@ sys_select (int nfds,
int timeoutval; int timeoutval;
int *local_timeout; int *local_timeout;
extern int proc_buffered_char[]; extern int proc_buffered_char[];
#ifndef subprocesses
int process_tick = 0, update_tick = 0;
#else
extern int process_tick, update_tick; extern int process_tick, update_tick;
#endif
unsigned char buf; unsigned char buf;
#if defined (HAVE_SELECT) && defined (HAVE_X_WINDOWS) #if defined (HAVE_SELECT) && defined (HAVE_X_WINDOWS)
...@@ -2433,7 +2412,6 @@ dup2 (int oldd, int newd) ...@@ -2433,7 +2412,6 @@ dup2 (int oldd, int newd)
* Only needed when subprocesses are defined. * Only needed when subprocesses are defined.
*/ */
#ifdef subprocesses
#ifndef HAVE_GETTIMEOFDAY #ifndef HAVE_GETTIMEOFDAY
#ifdef HAVE_TIMEVAL #ifdef HAVE_TIMEVAL
...@@ -2451,8 +2429,7 @@ gettimeofday (struct timeval *tp, struct timezone *tzp) ...@@ -2451,8 +2429,7 @@ gettimeofday (struct timeval *tp, struct timezone *tzp)
} }
#endif #endif
#endif #endif /* !HAVE_GETTIMEOFDAY && HAVE_TIMEVAL */
#endif /* subprocess && !HAVE_GETTIMEOFDAY && HAVE_TIMEVAL */
/* /*
* This function will go away as soon as all the stubs fixed. (fnf) * This function will go away as soon as all the stubs fixed. (fnf)
......
...@@ -19597,7 +19597,7 @@ decode_mode_spec (struct window *w, register int c, int field_width, ...@@ -19597,7 +19597,7 @@ decode_mode_spec (struct window *w, register int c, int field_width,
obj = Fget_buffer_process (Fcurrent_buffer ()); obj = Fget_buffer_process (Fcurrent_buffer ());
if (NILP (obj)) if (NILP (obj))
return "no process"; return "no process";
#ifdef subprocesses #ifndef MSDOS
obj = Fsymbol_name (Fprocess_status (obj)); obj = Fsymbol_name (Fprocess_status (obj));
#endif #endif
break; break;
......
Markdown is supported
0% or .