* Re: Emacs on VMS
[not found] <200201130735.g0D7ZRb07825@aztec.santafe.edu>
@ 2002-02-07 11:29 ` Roar Thronæs
2002-02-08 13:57 ` Richard Stallman
0 siblings, 1 reply; 7+ messages in thread
From: Roar Thronæs @ 2002-02-07 11:29 UTC (permalink / raw)
Cc: emacs-devel
On Sun, 13 Jan 2002, Richard Stallman wrote:
> I have not done anything since December 2000, because I got stuck on
> the image format. (temacs.exe seemed ok, but the resulting .dump was not)
> Depending on the response on comp.os.vms (hope you do not mind
> being quoted there) I might have a look on image dump again, since it
> seems I have to learn the VMS image format anyway.
>
> Ok, for the moment we won't delete anything. Would you please promise
> to get back to me about this, one way or the other?
Now I can edit and stuff with it.
Maybe it is time to begin looking at how to integrate things back in?
What I have got so far is available at:
ftp.nvg.ntnu.no /pub/vms/emacs/emacs21_1.tgz
It is diffable against an ordinary 21.1.
Note: the VMS makefiles (.mms) are not generated, and neither is config.h
and some other header-files. Maybe they should be moved.
Regards,
Roar Thronæs
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Emacs on VMS
2002-02-07 11:29 ` Emacs on VMS Roar Thronæs
@ 2002-02-08 13:57 ` Richard Stallman
2002-02-08 14:41 ` Roar Thronæs
2002-02-09 11:03 ` Roar Thronæs
0 siblings, 2 replies; 7+ messages in thread
From: Richard Stallman @ 2002-02-08 13:57 UTC (permalink / raw)
Cc: emacs-devel
What I have got so far is available at:
ftp.nvg.ntnu.no /pub/vms/emacs/emacs21_1.tgz
It is diffable against an ordinary 21.1.
It is not feasible for me to access that. Can you email us
the diffs for the single .c file that has the biggest diffs?
That will give a picture of how hard this is.
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Emacs on VMS
2002-02-08 13:57 ` Richard Stallman
@ 2002-02-08 14:41 ` Roar Thronæs
2002-02-09 11:03 ` Roar Thronæs
1 sibling, 0 replies; 7+ messages in thread
From: Roar Thronæs @ 2002-02-08 14:41 UTC (permalink / raw)
Cc: emacs-devel
[-- Attachment #1: Type: TEXT/PLAIN, Size: 736 bytes --]
On Fri, 8 Feb 2002, Richard Stallman wrote:
> What I have got so far is available at:
> ftp.nvg.ntnu.no /pub/vms/emacs/emacs21_1.tgz
> It is diffable against an ordinary 21.1.
>
> It is not feasible for me to access that. Can you email us
> the diffs for the single .c file that has the biggest diffs?
> That will give a picture of how hard this is.
That might be sysdep.c, even though it is a bit bigger than it should be
due to testing alternative functions.
The -u diff is 17 k large.
The -ru diff against an ordinary 21.1 is 118 k large, by the way.
It is mostly stuff that has been there before, but there are some some new
patches, #ifdefs and two new functions.
--
Regards,
-Roar Thronæs
[-- Attachment #2: Type: TEXT/PLAIN, Size: 18607 bytes --]
--- /Stores/stash/emacs/src-21.1/src/sysdep.c Mon Oct 8 11:02:08 2001
+++ ./src/sysdep.c Sat Feb 2 14:35:50 2002
@@ -60,6 +60,21 @@
#define min(x,y) ((x) > (y) ? (y) : (x))
+#ifdef VMS
+/* In this file, open, read and write refer to the system calls,
+ not our sugared interfaces sys_open, sys_read and sys_write.
+ Contrariwise, for systems where we use the system calls directly,
+ define sys_read, etc. here as aliases for them. */
+#ifndef read
+#define sys_read read
+#define sys_write write
+#endif /* `read' is not a macro */
+
+#undef read
+#undef write
+
+#endif
+
#ifdef WINDOWSNT
#define read sys_read
#define write sys_write
@@ -69,9 +84,23 @@
#endif
#endif /* not WINDOWSNT */
+#ifdef VMS
+#ifndef close
+#define sys_close close
+#else
+#undef close
+#endif
+
+#ifndef open
+#define sys_open open
+#else /* `open' is a macro */
+#undef open
+#endif /* `open' is a macro */
+#endif
+
/* Does anyone other than VMS need this? */
#ifndef fwrite
-#define sys_fwrite fwrite
+#define sys_write write
#else
#undef fwrite
#endif
@@ -131,6 +160,7 @@
#include <atrdef.h>
#include <ctype.h>
#include <string.h>
+#include <perror.h>
#ifdef __GNUC__
#include <sys/file.h>
#else
@@ -141,6 +171,15 @@
#include <rab.h>
#endif
#define MAXIOSIZE (32 * PAGESIZE) /* Don't I/O more than 32 blocks at a time */
+int waiting_for_ast = 1;
+unsigned int input_ef = 0;
+unsigned int input_eflist = 0;
+unsigned int timer_ef = 0;
+unsigned int timer_eflist = 0;
+unsigned int process_ef = 0;
+unsigned int stop_input = 0;
+unsigned int ast_queued = 0;
+const unsigned __int64 reqidt = 0xdeadbeefdeadbeef;
#endif /* VMS */
#ifndef BSD4_1
@@ -1026,7 +1065,11 @@
if (read_socket_hook)
return;
+#ifndef VMS
croak ("request_sigio");
+#else
+ sys$setast(1);
+#endif
}
void
@@ -1035,7 +1078,11 @@
if (read_socket_hook)
return;
+#ifndef VMS
croak ("unrequest_sigio");
+#else
+ sys$setast(0);
+#endif
}
#endif /* _CX_UX */
@@ -1319,7 +1366,9 @@
input_ef = get_kbd_event_flag ();
/* LIB$GET_EF (&input_ef); */
SYS$CLREF (input_ef);
+#if 0
waiting_for_ast = 0;
+#endif
if (!timer_ef)
timer_ef = get_timer_event_flag ();
/* LIB$GET_EF (&timer_ef); */
@@ -1948,13 +1997,16 @@
queue_kbd_input ()
{
int status;
- extern kbd_input_ast ();
+ extern void kbd_input_ast ();
+#if 0
waiting_for_ast = 0;
+#endif
stop_input = 0;
status = SYS$QIO (0, input_fd, IO$_READVBLK,
&input_iosb, kbd_input_ast, 1,
&input_buffer, 1, 0, terminator_mask, 0, 0);
+ ast_queued = 1;
}
int input_count;
@@ -1962,16 +2014,315 @@
/* Ast routine that is called when keyboard input comes in
in accord with the SYS$QIO above. */
-void
kbd_input_ast ()
{
+ int old_errno = errno;
+
+ ast_queued = 0;
+
+ if (! stop_input)
+ {
+ extern EMACS_TIME *input_available_clear_time;
+ static struct input_event buf[4096];
+ register int passes = -1;
+
+ if (input_available_clear_time)
+ EMACS_SET_SECS_USECS (*input_available_clear_time, 0, 0);
+
+#ifdef ASTDEBUG
+ fprintf (stderr, "ASTDEBUG: AST occured!\n");
+#endif
+
+ while (1)
+ {
+ register int c = -1;
+ register int nread = 0;
+ int i;
+
+ passes++;
+
+ if (read_socket_hook)
+ nread = (*read_socket_hook) (0, buf, 4096, 0, 0);
+ else
+ {
+#if 0
+ if (interrupt_input_blocked)
+ {
+ interrupt_input_pending = 1;
+ return -1;
+ }
+
+ interrupt_input_pending = 0;
+#endif
+ if (passes == 0)
+ {
+#ifdef ASTDEBUG
+ input_count++;
+ if (input_count == 25)
+ exit (1);
+ printf ("Ast # %d,", input_count);
+ printf (" iosb = %x, %x, %x, %x",
+ input_iosb.offset, input_iosb.status,
+ input_iosb.termlen, input_iosb.term);
+#endif
+ if (input_iosb.offset)
+ {
+ c = input_buffer;
+#ifdef ASTDEBUG
+ printf (", char = 0%o", c);
+#endif
+ }
+#ifdef ASTDEBUG
+ printf ("\n");
+ fflush (stdout);
+ sleep (1);
+#endif
+ queue_kbd_input ();
+ }
+ if (c >= 0)
+ {
+ extern int meta_key; /* in keyboard.c */
+
+ nread = 1;
+ buf->kind = ascii_keystroke;
+ buf->modifiers = 0;
+ if (meta_key == 1 && (c & 0x80))
+ buf->modifiers = meta_modifier;
+ if (meta_key != 2)
+ c &= ~0x80;
+
+ XSET (buf->code, Lisp_Int, c);
+#ifdef MULTI_FRAME
+ XSETFRAME (buf->frame_or_window, selected_frame);
+#else
+ buf->frame_or_window = Qnil;
+#endif
+ }
+ }
+
+ /* Scan the chars for C-g and store them in kbd_buffer. */
+ for (i = 0; i < nread; i++)
+ {
+#ifdef ASTDEBUG
+ {
+ extern Lisp_Object Qexternal_debugging_output;
+
+ switch (buf[i].kind)
+ {
+ case no_event:
+ fprintf (stderr, "ASTDEBUG: buf[%d] = no event\n", i);
+ break;
+ case ascii_keystroke:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = ASCII keystroke with\n", i);
+ fprintf (stderr, " .code = ");
+ Fprin1 (buf[i].code, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr, " .frame_or_window = ");
+ Fprin1 (buf[i].frame_or_window,
+ Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .timestamp = %d\n",
+ buf[i].timestamp);
+ break;
+ case non_ascii_keystroke:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = keystroke with\n", i);
+ fprintf (stderr, " .code = ");
+ Fprin1 (buf[i].code, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .modifiers = %d\n",
+ buf[i].modifiers);
+ fprintf (stderr, " .frame_or_window = ");
+ Fprin1 (buf[i].frame_or_window,
+ Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .timestamp = %d\n",
+ buf[i].timestamp);
+ break;
+ case mouse_click:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = mouse click with\n", i);
+ fprintf (stderr, " .code = ");
+ Fprin1 (buf[i].code, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .modifiers = %d\n",
+ buf[i].modifiers);
+ fprintf (stderr, " .frame_or_window = ");
+ Fprin1 (buf[i].frame_or_window,
+ Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr, " .x = ");
+ Fprin1 (buf[i].x, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr, " .y = ");
+ Fprin1 (buf[i].y, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .timestamp = %d\n",
+ buf[i].timestamp);
+ break;
+ case scroll_bar_click:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = mouse click with\n", i);
+ fprintf (stderr, " .code = ");
+ Fprin1 (buf[i].code, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .modifiers = %d\n",
+ buf[i].modifiers);
+ fprintf (stderr, " .part = ");
+ switch (buf[i].part)
+ {
+ case scroll_bar_above_handle:
+ fprintf (stderr, "scroll_bar_above_handle\n");
+ break;
+ case scroll_bar_handle:
+ fprintf (stderr, "scroll_bar_handle\n");
+ break;
+ case scroll_bar_below_handle:
+ fprintf (stderr, "scroll_bar_below_handle\n");
+ break;
+ }
+ fprintf (stderr, " .frame_or_window = ");
+ Fprin1 (buf[i].frame_or_window,
+ Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr, " .x = ");
+ Fprin1 (buf[i].x, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr, " .y = ");
+ Fprin1 (buf[i].y, Qexternal_debugging_output);
+ fprintf (stderr, "\n");
+ fprintf (stderr,
+ " .timestamp = %d\n",
+ buf[i].timestamp);
+ break;
+ case selection_request_event:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = selection request event with\n", i);
+ fprintf (stderr,
+ " .requestor = %u\n",
+ SELECTION_EVENT_REQUESTOR (&buf[i]));
+ fprintf (stderr,
+ " .selection = %u\n",
+ SELECTION_EVENT_SELECTION (&buf[i]));
+ fprintf (stderr,
+ " .target = %u\n",
+ SELECTION_EVENT_TARGET (&buf[i]));
+ fprintf (stderr,
+ " .property = %u\n",
+ SELECTION_EVENT_PROPERTY (&buf[i]));
+ fprintf (stderr,
+ " .time = %u\n",
+ SELECTION_EVENT_TIME (&buf[i]));
+ break;
+ case selection_clear_event:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = selection clear event with\n", i);
+ fprintf (stderr,
+ " .requestor = %u\n",
+ SELECTION_EVENT_REQUESTOR (&buf[i]));
+ fprintf (stderr,
+ " .selection = %u\n",
+ SELECTION_EVENT_SELECTION (&buf[i]));
+ fprintf (stderr,
+ " .target = %u\n",
+ SELECTION_EVENT_TARGET (&buf[i]));
+ fprintf (stderr,
+ " .property = %u\n",
+ SELECTION_EVENT_PROPERTY (&buf[i]));
+ fprintf (stderr,
+ " .time = %u\n",
+ SELECTION_EVENT_TIME (&buf[i]));
+ break;
+ case delete_window_event:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = delete window event with\n",
+ i);
+ fprintf (stderr, " .frame_or_window = ");
+ Fprin1 (buf[i].frame_or_window,
+ Qexternal_debugging_output);
+ break;
+ default:
+ fprintf (stderr,
+ "ASTDEBUG: buf[%d] = some odd event with\n", i);
+ }
+ }
+#endif
+ kbd_buffer_store_event (&buf[i]);
+ /* Don't look at input that follows a C-g too closely.
+ This reduces lossage due to autorepeat on C-g. */
+ if (buf[i].kind == ascii_keystroke
+ && XINT(buf[i].code) == quit_char)
+ break;
+ }
+
+ if (nread <= 0)
+ break;
+ }
+ }
+ {
+#ifdef ASTDEBUG
+ fprintf (stderr, "ASTDEBUG: setting the event flag %d\n", input_ef);
+#endif
+ sys$setef (input_ef);
+ }
+
+ errno = old_errno;
+}
+
+end_kbd_input ()
+{
+#ifdef ASTDEBUG
+ printf ("At end_kbd_input.\n");
+ fflush (stdout);
+ sleep (1);
+#endif
+ if (lib$ast_in_prog ()) /* Don't wait if suspending from kbd_buffer_store_event! */
+ {
+ sys$cancel (input_fd);
+ return;
+ }
+
+ if (ast_queued)
+ {
+ sys$setast (0);
+ /* Clear a flag, and tell ast routine above to set it. */
+ sys$clref (input_ef);
+#if 0
+ waiting_for_ast = 1;
+#endif
+ stop_input = 1;
+ sys$cancel (input_fd);
+ sys$setast (1);
+#if 1
+ sys$waitfr (input_ef);
+#endif
+ sys$clref (input_ef);
+#if 0
+ waiting_for_ast = 0;
+#endif
+ stop_input = 0;
+ }
+}
+
+void
+kbd_input_ast2 ()
+{
register int c = -1;
int old_errno = errno;
extern EMACS_TIME *input_available_clear_time;
if (waiting_for_ast)
SYS$SETEF (input_ef);
+#if 0
waiting_for_ast = 0;
+#endif
input_count++;
#ifdef ASTDEBUG
if (input_count == 25)
@@ -1998,6 +2349,10 @@
if (c >= 0)
{
struct input_event e;
+#ifdef VMS
+ /* contents are not zero! -Roar */
+ bzero(&e,sizeof(e));
+#endif
e.kind = ascii_keystroke;
XSETINT (e.code, c);
e.frame_or_window = selected_frame;
@@ -2008,8 +2363,8 @@
errno = old_errno;
}
-/* Wait until there is something in kbd_buffer. */
+#if 0
void
wait_for_kbd_input ()
{
@@ -2050,6 +2405,7 @@
}
waiting_for_ast = 0;
}
+#endif
/* Get rid of any pending QIO, when we are about to suspend
or when we want to throw away pending input.
@@ -2058,7 +2414,7 @@
SYS$SETAST is used to avoid a timing error. */
void
-end_kbd_input ()
+end_kbd_input2 ()
{
#ifdef ASTDEBUG
printf ("At end_kbd_input.\n");
@@ -2074,16 +2430,21 @@
SYS$SETAST (0);
/* Clear a flag, and tell ast routine above to set it. */
SYS$CLREF (input_ef);
+#if 0
waiting_for_ast = 1;
+#endif
stop_input = 1;
SYS$CANCEL (input_fd);
SYS$SETAST (1);
SYS$WAITFR (input_ef);
+#if 0
waiting_for_ast = 0;
+#endif
}
/* Wait for either input available or time interval expiry. */
+#if 0
void
input_wait_timeout (timeval)
int timeval; /* Time to wait, in seconds */
@@ -2106,12 +2467,13 @@
if (!detect_input_pending ())
{
/* No timing error: wait for flag to be set. */
- SYS$CANTIM (1, 0);
- if (SYS$SETIMR (timer_ef, time, 0, 1) & 1) /* Set timer */
+ SYS$CANTIM (reqidt, 0);
+ if (SYS$SETIMR (timer_ef, time, 0, reqidt) & 1) /* Set timer */
SYS$WFLOR (timer_ef, timer_eflist); /* Wait for timer expiry or input */
}
waiting_for_ast = 0;
}
+#endif
/* The standard `sleep' routine works some other way
and it stops working if you have ever quit out of it.
@@ -2126,33 +2488,35 @@
LIB$EMUL (&timeval, &large, &zero, time); /* Convert to VMS format */
- SYS$CANTIM (1, 0);
- if (SYS$SETIMR (timer_ef, time, 0, 1) & 1) /* Set timer */
+ SYS$CANTIM (reqidt, 0);
+ if (SYS$SETIMR (timer_ef, time, 0, reqidt) & 1) /* Set timer */
SYS$WAITFR (timer_ef); /* Wait for timer expiry only */
}
void
-init_sigio (fd)
- int fd;
+init_sigio2 (fd)
+ int fd;
{
request_sigio ();
}
-reset_sigio ()
+reset_sigio2 ()
{
unrequest_sigio ();
}
void
-request_sigio ()
+request_sigio2 ()
{
- croak ("request sigio");
+ sys$setast(1);
+/* croak ("request sigio");*/
}
void
-unrequest_sigio ()
+unrequest_sigio2 ()
{
- croak ("unrequest sigio");
+ sys$setast(0);
+/* croak ("unrequest sigio");*/
}
#endif /* VMS */
@@ -2262,7 +2626,11 @@
#ifdef TEXT_END
return ((char *) TEXT_END);
#else
+#ifdef VMS
+ int etext;
+#else
extern int etext;
+#endif
return ((char *) &etext);
#endif
}
@@ -3254,9 +3622,18 @@
if (oflag & O_CREAT)
return creat (path, mode);
#endif
-
+#ifdef VMS
+turn_on_atimers(0);
+#endif
+if (0) {
+char buf[90];
+printf("dirs %s %s\n",getcwd(buf,90),path);
+ }
while ((rtnval = open (path, oflag, mode)) == -1
&& (errno == EINTR));
+#ifdef VMS
+turn_on_atimers(1);
+#endif
return (rtnval);
}
@@ -3709,7 +4086,11 @@
MKDIR_PROTOTYPE
#else
int
+#ifdef VMS
+mkdir2 (dpath, dmode)
+#else
mkdir (dpath, dmode)
+#endif
char *dpath;
int dmode;
#endif
@@ -4210,9 +4591,13 @@
#undef read
int
-sys_read (fildes, buf, nbyte)
+sys_read (fildes, buf, nbyte)
int fildes;
+#ifdef VMS
+ void *buf;
+#else
char *buf;
+#endif
unsigned int nbyte;
{
return read (fildes, buf, (nbyte < MAXIOSIZE ? nbyte : MAXIOSIZE));
@@ -4250,9 +4635,13 @@
#undef write
int
-sys_write (fildes, buf, nbytes)
+sys_write (fildes, buf, nbytes)
int fildes;
+#ifndef VMS
char *buf;
+#else
+ void *buf;
+#endif
unsigned int nbytes;
{
register char *p;
@@ -4384,7 +4773,7 @@
#endif
int
-sys_creat (va_alist)
+sys_creat (va_alist)
va_dcl
{
va_list list_incrementer;
@@ -4813,7 +5202,7 @@
vaxc$errno = status;
return -1;
}
- free_pages *= 512;
+ free_pages *= 8192; /* was 512; */
item_code = JPI$_FREP0VA;
if (((status = LIB$GETJPI (&item_code, 0, 0, &frep0va)) & 1) == 0)
@@ -4873,13 +5262,19 @@
}
int
-execvp ()
+execvp2 ()
{
error ("execvp system call not implemented");
return -1;
}
int
+sys_execvp(const char *__file, __char_ptr_const_ptr32 __argv)
+{
+decc$execvp(__file,__argv);
+}
+
+int
rename (from, to)
char *from, *to;
{
@@ -4979,9 +5374,14 @@
SYS$OPEN (&to_fab, 0, 0); /* This fills in the nam$w_fid fields */
/* Copy these fields into the fib */
+/*
fib.fib$r_fid_overlay.fib$w_fid[0] = to_nam.nam$w_fid[0];
fib.fib$r_fid_overlay.fib$w_fid[1] = to_nam.nam$w_fid[1];
fib.fib$r_fid_overlay.fib$w_fid[2] = to_nam.nam$w_fid[2];
+*/
+ fib.fib$w_fid[0] = to_nam.nam$w_fid[0];
+ fib.fib$w_fid[1] = to_nam.nam$w_fid[1];
+ fib.fib$w_fid[2] = to_nam.nam$w_fid[2];
SYS$CLOSE (&to_fab, 0, 0);
@@ -5077,7 +5477,7 @@
}
long
-random ()
+random2 ()
{
/* Arrange to return a range centered on zero. */
return rand () - (1 << 30);
@@ -5272,7 +5672,11 @@
#ifndef BSTRING
#ifndef bcmp
int
-bcmp (b1, b2, length) /* This could be a macro! */
+#ifdef VMS
+bcmp2 (b1, b2, length) /* This could be a macro! */
+#else
+bcmp (b1, b2, length) /* This could be a macro! */
+#endif
register char *b1;
register char *b2;
register int length;
@@ -5295,22 +5699,39 @@
\f
#ifndef HAVE_STRSIGNAL
char *
-strsignal (code)
- int code;
+strsignal (signo)
+ int signo;
{
char *signame = 0;
- if (0 <= code && code < NSIG)
+ if (0 <= signo && signo < NSIG)
{
#ifdef VMS
- signame = sys_errlist[code];
+ signame = sys_errlist[signo];
#else
/* Cast to suppress warning if the table has const char *. */
- signame = (char *) sys_siglist[code];
+ signame = (char *) sys_siglist[signo];
#endif
}
return signame;
}
#endif /* HAVE_STRSIGNAL */
+
+#ifdef VMS
+fork ()
+{
+ return vfork();
+}
+
+int
+sys_select2 (nfds, rfds, wfds, efds, timeout)
+ int nfds;
+ int *rfds, *wfds, *efds;
+ int *timeout;
+{
+return select(nfds, rfds, wfds, efds, timeout);
+}
+
+#endif
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Emacs on VMS
2002-02-08 13:57 ` Richard Stallman
2002-02-08 14:41 ` Roar Thronæs
@ 2002-02-09 11:03 ` Roar Thronæs
2002-02-11 2:08 ` Richard Stallman
` (2 more replies)
1 sibling, 3 replies; 7+ messages in thread
From: Roar Thronæs @ 2002-02-09 11:03 UTC (permalink / raw)
Cc: emacs-devel
On Fri, 8 Feb 2002, Richard Stallman wrote:
> What I have got so far is available at:
> ftp.nvg.ntnu.no /pub/vms/emacs/emacs21_1.tgz
> It is diffable against an ordinary 21.1.
>
> It is not feasible for me to access that. Can you email us
Have made a smaller file emacs21diff.gz available from the same place.
(430k)
(Some obvious files like $$save$$566236485q6e, *.i, nt/debug.bat_in are
not really diffs.)
--
Regards,
Roar Thronæs
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Emacs on VMS
2002-02-09 11:03 ` Roar Thronæs
@ 2002-02-11 2:08 ` Richard Stallman
2002-03-16 8:36 ` roart
2002-04-05 15:12 ` roart
2 siblings, 0 replies; 7+ messages in thread
From: Richard Stallman @ 2002-02-11 2:08 UTC (permalink / raw)
Cc: emacs-devel
Have made a smaller file emacs21diff.gz available from the same place.
(430k)
It isn't feasible for me to access any non-ASCII files by the method
available to me, but that isn't crucial. I can get someone to fetch
file that for me, when and if I need it. Right now looking at the
changes in sysdep.c is what I need to do.
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Emacs on VMS
2002-02-09 11:03 ` Roar Thronæs
2002-02-11 2:08 ` Richard Stallman
@ 2002-03-16 8:36 ` roart
2002-04-05 15:12 ` roart
2 siblings, 0 replies; 7+ messages in thread
From: roart @ 2002-03-16 8:36 UTC (permalink / raw)
On Sat, Feb 09, 2002 at 12:03:01PM +0100, Roar Thronæs wrote:
> On Fri, 8 Feb 2002, Richard Stallman wrote:
Seems RMS has too little time.
Anyone who has and can look into it?
Regards,
Roar Thronæs
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Emacs on VMS
2002-02-09 11:03 ` Roar Thronæs
2002-02-11 2:08 ` Richard Stallman
2002-03-16 8:36 ` roart
@ 2002-04-05 15:12 ` roart
2 siblings, 0 replies; 7+ messages in thread
From: roart @ 2002-04-05 15:12 UTC (permalink / raw)
On Sat, Feb 09, 2002 at 12:03:01PM +0100, Roar Thronæs wrote:
> On Fri, 8 Feb 2002, Richard Stallman wrote:
>
> > What I have got so far is available at:
> > ftp.nvg.ntnu.no /pub/vms/emacs/emacs21_1.tgz
> > It is diffable against an ordinary 21.1.
Have updated with the diffs from 21.1 to 21.2 (began earlier today).
21.2 tarball and diff are available from:
ftp.nvg.ntnu.no:/pub/vms/emacs/emacs212.tgz and
ftp.nvg.ntnu.no:/pub/vms/emacs/emacs212diff.gz (-u).
(There are a few (obvious) files that should not be there, though)
Anyone who has time for beginning to look at reintegration of VMS support?
--
Regards,
Roar Thronæs
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-04-05 15:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200201130735.g0D7ZRb07825@aztec.santafe.edu>
2002-02-07 11:29 ` Emacs on VMS Roar Thronæs
2002-02-08 13:57 ` Richard Stallman
2002-02-08 14:41 ` Roar Thronæs
2002-02-09 11:03 ` Roar Thronæs
2002-02-11 2:08 ` Richard Stallman
2002-03-16 8:36 ` roart
2002-04-05 15:12 ` roart
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.