* bitmaps/README:
* xfns.c: * termcap.c: * term.c: * syswait.h: * systty.h: * systime.h: * syssignal.h: * sysdep.c: * process.h: * process.c: * print.c: * ndir.h: * lread.c: * keyboard.c: * getpagesize.h: * floatfns.c: * fileio.c: * emacs.c: * doc.c: * dispnew.c: * dired.c: * data.c: * callproc.c: * buffer.c: * README: * Makefile.in: * s/template.h: * s/msdos.h: * m/vax.h: Remove VMS support. * s/vms.h: * vlimit.h: * uaf.h: * temacs.opt: * param.h: * ioctl.h: Remove file. * descrip.mms: * compile.com: Remove file. * Create.c: Remove VMS support. * message.el (Module): * gnus-start.el (Module): * gnus-registry.el (Module): * textmodes/texinfmt.el: * nxml/nxml-enc.el: * mail/feedmail.el: * international/mule.el: * international/latexenc.el: * emulation/viper-util.el: * emulation/viper-init.el: * emulation/viper-ex.el: * emacs-lisp/bytecomp.el: * version.el: * subr.el: * startup.el: * sort.el: * shadowfile.el: * recentf.el: * printing.el: * paths.el: * minibuffer.el: * ls-lisp.el: * loadup.el: * hippie-exp.el: * finder.el: * files.el: * ediff-util.el: * ediff-ptch.el: * ediff-init.el: * ediff-diff.el: * dired.el: * dired-aux.el: * cus-edit.el: * bindings.el: * arc-mode.el: * add-log.el: Remove VMS support. * obsolete/vmsproc.el: * obsolete/vms-pmail.el: * obsolete/vms-patch.el: Remove file. * etags.c: * emacsclient.c: Remove VMS support. * termcap.src: Remove file. * README: * PROBLEMS: * MACHINES: Remove VMS info. * ediff.texi: Remove VMS support. * os.texi: * intro.texi: * files.texi: Remove VMS support. * emacs.texi: Remove VMS support. * make-dist: * README: Remove VMS support. * vms: Remove directory.
This commit is contained in:
parent
69ab3201ca
commit
7c2fb837ec
105 changed files with 251 additions and 23137 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* make-dist:
|
||||
* README: Remove VMS support.
|
||||
* vms: Remove directory.
|
||||
|
||||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* configure.in (MULTI_KBOARD): Remove.
|
||||
|
|
|
|||
1
README
1
README
|
|
@ -81,7 +81,6 @@ There are several subdirectories:
|
|||
`doc/lispintro' holds the source code for the Introduction to Programming
|
||||
in Emacs Lisp manual.
|
||||
`msdos' holds configuration files for compiling Emacs under MSDOG.
|
||||
`vms' holds instructions and useful files for running Emacs under VMS.
|
||||
`nt' holds various command files and documentation files that pertain
|
||||
to building and running Emacs on Windows 9X/ME/NT/2000/XP.
|
||||
`test' holds tests for various aspects of Emacs's functionality.
|
||||
|
|
|
|||
|
|
@ -220,7 +220,6 @@ LIB_MATH
|
|||
LIB_MOTIF
|
||||
LIB_STANDARD
|
||||
LINKER
|
||||
LINK_CRTL_SHARE
|
||||
LINUX_VERSION_CODE
|
||||
LISP_FLOAT_TYPE
|
||||
LNOFLSH
|
||||
|
|
@ -232,7 +231,6 @@ MAIL_USE_LOCKF
|
|||
MAIL_USE_POP
|
||||
MAIL_USE_SYSTEM_LOCK
|
||||
MAXPATHLEN
|
||||
MAX_PRINT_CHARS
|
||||
MIN_PTY_KERNEL_VERSION -- only used on Mac
|
||||
MODE_LINE_BINARY_TEXT
|
||||
MUST_UNDEF__STDC__
|
||||
|
|
@ -243,13 +241,11 @@ NEED_LIBW
|
|||
NEED_UNISTD_H
|
||||
NLIST_STRUCT
|
||||
NOMULTIPLEJOBS
|
||||
NONSYSTEM_DIR_LIBRARY
|
||||
NOT_C_CODE
|
||||
NOT_USING_MOTIF
|
||||
NO_ABORT
|
||||
NO_ARG_ARRAY
|
||||
NO_EDITRES
|
||||
NO_HYPHENS_IN_FILENAMES
|
||||
NO_MATHERR
|
||||
NO_REMAP
|
||||
NO_SHARED_LIBS
|
||||
|
|
@ -287,7 +283,6 @@ SEGMENT_MASK
|
|||
SEPCHAR
|
||||
SETPGRP_RELEASES_CTTY
|
||||
SETUP_SLAVE_PTY
|
||||
SHARABLE_LIB_BUG
|
||||
SIGALRM
|
||||
SIGCHLD
|
||||
SIGHUP
|
||||
|
|
@ -331,7 +326,6 @@ USG5_4
|
|||
USG_SUBTTY_WORKS
|
||||
VALBITS
|
||||
VIRT_ADDR_VARIES
|
||||
VMS
|
||||
WORDS_BIG_ENDIAN
|
||||
WRETCODE
|
||||
XINT
|
||||
|
|
|
|||
|
|
@ -116,9 +116,6 @@ Miles Bader
|
|||
src/editfns.c
|
||||
lisp/textmodes/refill.el
|
||||
|
||||
Thien-Thi Nguyen
|
||||
VMS
|
||||
|
||||
==============================================================================
|
||||
3.
|
||||
==============================================================================
|
||||
|
|
|
|||
|
|
@ -7,9 +7,7 @@ into object files, but also for creating
|
|||
lib-src/Makefile
|
||||
|
||||
(delimited by comment "start of cpp stuff"). some cpp implementations
|
||||
insert whitespace in between tokens, which explains the "$(dot)$(dot)"
|
||||
and "UNEXEC_ALIAS" workarounds for unixoid systems and the bundled
|
||||
tradcpp/ for vms. [NOTE: tradcpp/ not yet checked in.]
|
||||
insert whitespace in between tokens.
|
||||
|
||||
during makefile creation, the preprocessor symbol NOT_C_CODE is defined.
|
||||
this should not be defined for normal .c file compilation.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* emacs.texi: Remove VMS support.
|
||||
|
||||
2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* vc1-xtra.texi (VC Directory Mode): Update the display format and fix
|
||||
|
|
|
|||
|
|
@ -1056,13 +1056,12 @@ Customizable Self-Documenting Display Editor}, available from
|
|||
@url{ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf}.
|
||||
|
||||
This edition of the manual is intended for use with GNU Emacs
|
||||
installed on GNU and Unix systems. GNU Emacs can also be used on VMS,
|
||||
installed on GNU and Unix systems. GNU Emacs can also be used on
|
||||
MS-DOS (also called MS-DOG), Microsoft Windows, and Macintosh systems.
|
||||
Those systems use different file name syntax; in addition, VMS and
|
||||
MS-DOS do not support all GNU Emacs features. @xref{Microsoft
|
||||
Those systems use different file name syntax; in addition
|
||||
MS-DOS does not support all GNU Emacs features. @xref{Microsoft
|
||||
Windows}, for information about using Emacs on Windows.
|
||||
@xref{Mac OS}, for information about using Emacs on Macintosh. We
|
||||
don't try to describe VMS usage in this manual.
|
||||
@xref{Mac OS}, for information about using Emacs on Macintosh.
|
||||
@end iftex
|
||||
|
||||
@node Distrib, Intro, Top, Top
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* os.texi:
|
||||
* intro.texi:
|
||||
* files.texi: Remove VMS support.
|
||||
|
||||
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* os.texi:
|
||||
|
|
|
|||
|
|
@ -1487,11 +1487,6 @@ levels of parent directories.
|
|||
See also @code{delete-directory} in @ref{Create/Delete Dirs}.
|
||||
@end deffn
|
||||
|
||||
@defun define-logical-name varname string
|
||||
This function defines the logical name @var{varname} to have the value
|
||||
@var{string}. It is available only on VMS.
|
||||
@end defun
|
||||
|
||||
@defun set-file-modes filename mode
|
||||
This function sets mode bits of @var{filename} to @var{mode} (which
|
||||
must be an integer). Only the low 12 bits of @var{mode} are used.
|
||||
|
|
@ -1565,10 +1560,9 @@ directory.
|
|||
On MS-DOS and MS-Windows, these functions (like the function that
|
||||
actually operate on files) accept MS-DOS or MS-Windows file-name syntax,
|
||||
where backslashes separate the components, as well as Unix syntax; but
|
||||
they always return Unix syntax. On VMS, these functions (and the ones
|
||||
that operate on files) understand both VMS file-name syntax and Unix
|
||||
syntax. This enables Lisp programs to specify file names in Unix syntax
|
||||
and work properly on all systems without change.
|
||||
they always return Unix syntax. This enables Lisp programs to specify
|
||||
file names in Unix syntax and work properly on all systems without
|
||||
change.
|
||||
|
||||
@menu
|
||||
* File Name Components:: The directory part of a file name, and the rest.
|
||||
|
|
@ -1597,15 +1591,11 @@ Concatenating these two parts reproduces the original file name.
|
|||
|
||||
On most systems, the directory part is everything up to and including
|
||||
the last slash (backslash is also allowed in input on MS-DOS or
|
||||
MS-Windows); the nondirectory part is the rest. The rules in VMS syntax
|
||||
are complicated.
|
||||
MS-Windows); the nondirectory part is the rest.
|
||||
|
||||
For some purposes, the nondirectory part is further subdivided into
|
||||
the name proper and the @dfn{version number}. On most systems, only
|
||||
backup files have version numbers in their names. On VMS, every file
|
||||
has a version number, but most of the time the file name actually used
|
||||
in Emacs omits the version number, so that version numbers in Emacs are
|
||||
found mostly in directory lists.
|
||||
backup files have version numbers in their names.
|
||||
|
||||
@defun file-name-directory filename
|
||||
This function returns the directory part of @var{filename}, as a
|
||||
|
|
@ -1613,9 +1603,7 @@ directory name (@pxref{Directory Names}), or @code{nil} if
|
|||
@var{filename} does not include a directory part.
|
||||
|
||||
On GNU and Unix systems, a string returned by this function always
|
||||
ends in a slash. On MS-DOS it can also end in a colon. On VMS, it
|
||||
returns a string ending in one of the three characters @samp{:},
|
||||
@samp{]}, or @samp{>}.
|
||||
ends in a slash. On MS-DOS it can also end in a colon.
|
||||
|
||||
@example
|
||||
@group
|
||||
|
|
@ -1626,10 +1614,6 @@ returns a string ending in one of the three characters @samp{:},
|
|||
(file-name-directory "foo") ; @r{Unix example}
|
||||
@result{} nil
|
||||
@end group
|
||||
@group
|
||||
(file-name-directory "[X]FOO.TMP") ; @r{VMS example}
|
||||
@result{} "[X]"
|
||||
@end group
|
||||
@end example
|
||||
@end defun
|
||||
|
||||
|
|
@ -1649,11 +1633,6 @@ This function returns the nondirectory part of @var{filename}.
|
|||
(file-name-nondirectory "lewis/")
|
||||
@result{} ""
|
||||
@end group
|
||||
@group
|
||||
;; @r{The following example is accurate only on VMS.}
|
||||
(file-name-nondirectory "[X]FOO.TMP")
|
||||
@result{} "FOO.TMP"
|
||||
@end group
|
||||
@end example
|
||||
@end defun
|
||||
|
||||
|
|
@ -1678,11 +1657,6 @@ return value, but backup version numbers are kept.
|
|||
(file-name-sans-versions "~rms/foo")
|
||||
@result{} "~rms/foo"
|
||||
@end group
|
||||
@group
|
||||
;; @r{The following example applies to VMS only.}
|
||||
(file-name-sans-versions "foo;23")
|
||||
@result{} "foo"
|
||||
@end group
|
||||
@end example
|
||||
@end defun
|
||||
|
||||
|
|
@ -1758,12 +1732,11 @@ name. On Unix and GNU/Linux, an absolute file name starts with a slash
|
|||
or a tilde (@samp{~}), and a relative one does not. On MS-DOS and
|
||||
MS-Windows, an absolute file name starts with a slash or a backslash, or
|
||||
with a drive specification @samp{@var{x}:/}, where @var{x} is the
|
||||
@dfn{drive letter}. The rules on VMS are complicated.
|
||||
@dfn{drive letter}.
|
||||
|
||||
@defun file-name-absolute-p filename
|
||||
This function returns @code{t} if file @var{filename} is an absolute
|
||||
file name, @code{nil} otherwise. On VMS, this function understands both
|
||||
Unix syntax and VMS syntax.
|
||||
file name, @code{nil} otherwise.
|
||||
|
||||
@example
|
||||
@group
|
||||
|
|
@ -1819,8 +1792,8 @@ the directory name but not identical to it. (This is not quite the
|
|||
same as the usual Unix terminology.) These two different names for
|
||||
the same entity are related by a syntactic transformation. On GNU and
|
||||
Unix systems, this is simple: a directory name ends in a slash,
|
||||
whereas the directory's name as a file lacks that slash. On MS-DOS and
|
||||
VMS, the relationship is more complicated.
|
||||
whereas the directory's name as a file lacks that slash. On MS-DOS
|
||||
the relationship is more complicated.
|
||||
|
||||
The difference between a directory name and its name as a file is
|
||||
subtle but crucial. When an Emacs variable or function argument is
|
||||
|
|
@ -1836,8 +1809,7 @@ such as @samp{$HOME}, and the constructs @samp{~}, @samp{.} and @samp{..}.
|
|||
This function returns a string representing @var{filename} in a form
|
||||
that the operating system will interpret as the name of a directory. On
|
||||
most systems, this means appending a slash to the string (if it does not
|
||||
already end in one). On VMS, the function converts a string of the form
|
||||
@file{[X]Y.DIR.1} to the form @file{[X.Y]}.
|
||||
already end in one).
|
||||
|
||||
@example
|
||||
@group
|
||||
|
|
@ -1851,8 +1823,7 @@ already end in one). On VMS, the function converts a string of the form
|
|||
This function returns a string representing @var{dirname} in a form that
|
||||
the operating system will interpret as the name of a file. On most
|
||||
systems, this means removing the final slash (or backslash) from the
|
||||
string. On VMS, the function converts a string of the form @file{[X.Y]}
|
||||
to @file{[X]Y.DIR.1}.
|
||||
string.
|
||||
|
||||
@example
|
||||
@group
|
||||
|
|
@ -2037,7 +2008,7 @@ with @samp{~}. This variable is buffer-local in every buffer.
|
|||
@code{expand-file-name} uses the default directory when its second
|
||||
argument is @code{nil}.
|
||||
|
||||
Aside from VMS, the value is always a string ending with a slash.
|
||||
The value is always a string ending with a slash.
|
||||
|
||||
@example
|
||||
@group
|
||||
|
|
@ -2097,8 +2068,6 @@ through the immediately preceding @samp{/}).
|
|||
@end group
|
||||
@end example
|
||||
|
||||
On VMS, @samp{$} substitution is not done, so this function does nothing
|
||||
on VMS except discard superfluous initial components as shown above.
|
||||
@end defun
|
||||
|
||||
@node Unique File Names
|
||||
|
|
@ -2417,11 +2386,6 @@ corresponding argument to @code{file-attributes} (@pxref{Definition
|
|||
of file-attributes}).
|
||||
@end defun
|
||||
|
||||
@defun file-name-all-versions file dirname
|
||||
This function returns a list of all versions of the file named
|
||||
@var{file} in directory @var{dirname}. It is only available on VMS.
|
||||
@end defun
|
||||
|
||||
@defun file-expand-wildcards pattern &optional full
|
||||
This function expands the wildcard pattern @var{pattern}, returning
|
||||
a list of file names that match it.
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ but not flawless. There are a few topics that are not covered, either
|
|||
because we consider them secondary (such as most of the individual
|
||||
modes) or because they are yet to be written. Because we are not able
|
||||
to deal with them completely, we have left out several parts
|
||||
intentionally. This includes most information about usage on VMS.
|
||||
intentionally.
|
||||
|
||||
The manual should be fully correct in what it does cover, and it is
|
||||
therefore open to criticism on anything it says---from specific examples
|
||||
|
|
|
|||
|
|
@ -632,10 +632,6 @@ convenient way to test parts of this string is with
|
|||
The value of this variable is a symbol indicating the type of operating
|
||||
system Emacs is operating on. Here is a table of the possible values:
|
||||
|
||||
@table @code
|
||||
@item alpha-vms
|
||||
VMS on the Alpha.
|
||||
|
||||
@item aix-v3
|
||||
AIX.
|
||||
|
||||
|
|
@ -667,9 +663,6 @@ MS-Windows.
|
|||
@item usg-unix-v
|
||||
AT&T System V.
|
||||
|
||||
@item vax-vms
|
||||
VAX VMS.
|
||||
|
||||
@item windows-nt
|
||||
Microsoft windows NT. The same executable supports Windows 9X, but the
|
||||
value of @code{system-type} is @code{windows-nt} in either case.
|
||||
|
|
@ -862,19 +855,6 @@ in the system's terminal driver, before Emacs was started.
|
|||
The value is @code{nil} if Emacs is running under a window system.
|
||||
@end defvar
|
||||
|
||||
@defun setprv privilege-name &optional setp getprv
|
||||
This function sets or resets a VMS privilege. (It does not exist on
|
||||
other systems.) The first argument is the privilege name, as a string.
|
||||
The second argument, @var{setp}, is @code{t} or @code{nil}, indicating
|
||||
whether the privilege is to be turned on or off. Its default is
|
||||
@code{nil}. The function returns @code{t} if successful, @code{nil}
|
||||
otherwise.
|
||||
|
||||
If the third argument, @var{getprv}, is non-@code{nil}, @code{setprv}
|
||||
does not change the privilege, but returns @code{t} or @code{nil}
|
||||
indicating whether the privilege is currently enabled.
|
||||
@end defun
|
||||
|
||||
@node User Identification
|
||||
@section User Identification
|
||||
@cindex user identification
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* ediff.texi: Remove VMS support.
|
||||
|
||||
2008-07-29 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add mairix-el.
|
||||
|
|
|
|||
|
|
@ -1152,7 +1152,7 @@ packages also use this method).
|
|||
Regular files are treated by the @code{patch} utility in the usual manner,
|
||||
i.e., the original is renamed into @file{source-name.orig} and the result
|
||||
of the patch is placed into the file source-name (@file{_orig} is used
|
||||
on systems like VMS, DOS, etc.)
|
||||
on systems like DOS, etc.)
|
||||
|
||||
@node Customization, Credits, Remote and Compressed Files, Top
|
||||
@chapter Customization
|
||||
|
|
|
|||
|
|
@ -1,3 +1,10 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* termcap.src: Remove file.
|
||||
* README:
|
||||
* PROBLEMS:
|
||||
* MACHINES: Remove VMS info.
|
||||
|
||||
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* PROBLEMS:
|
||||
|
|
|
|||
21
etc/MACHINES
21
etc/MACHINES
|
|
@ -437,16 +437,9 @@ Tadpole 68K (m68k-tadpole-sysv)
|
|||
|
||||
chmod 2755 etc/movemail; chgrp mail etc/movemail
|
||||
|
||||
Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3),
|
||||
VMS (vax-dec-vms)
|
||||
Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3)
|
||||
|
||||
Works.
|
||||
|
||||
Richard Levitte <levitte@e.kth.se> distributes a set of patches to
|
||||
Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably
|
||||
won't work very well, or even compile. Levitte is working on a
|
||||
port, so these problems should be fixed in the near future.
|
||||
|
||||
|
||||
Here are notes about some of the systems supported:
|
||||
|
||||
|
|
@ -515,17 +508,6 @@ System V rel 4.0.3 and 4.0.4 (usg5.4)
|
|||
#undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h.
|
||||
(Any system that supports Internet should implement sockets.)
|
||||
|
||||
VMS (vmsM.N)
|
||||
|
||||
Richard Levitte <levitte@e.kth.se> distributes a set of patches to
|
||||
Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably
|
||||
won't work very well, or even compile. Levitte is working on a
|
||||
port, so these problems should be fixed in the near future.
|
||||
|
||||
Note that Emacs for VMS is usually distributed in a special VMS
|
||||
distribution. See the file ../vms/VMSINSTALL for info on moving
|
||||
Unix distributions to VMS, and other VMS-related topics.
|
||||
|
||||
Windows NT/95/98/ME/2000
|
||||
|
||||
For installation on all versions of the MS-Windows platform, see the
|
||||
|
|
@ -630,6 +612,7 @@ Support for the following obsolete platforms was removed in Emacs 23.1
|
|||
System V rel 2.2 -- usg5.2.2
|
||||
System V rel 3 -- usg5.3
|
||||
Ultrix -- bsd4.3
|
||||
VMS (s/vms.h)
|
||||
|
||||
|
||||
Local variables:
|
||||
|
|
|
|||
21
etc/PROBLEMS
21
etc/PROBLEMS
|
|
@ -2672,7 +2672,7 @@ or
|
|||
*** Fatal signal in the command temacs -l loadup inc dump.
|
||||
|
||||
This command is the final stage of building Emacs. It is run by the
|
||||
Makefile in the src subdirectory, or by build.com on VMS.
|
||||
Makefile in the src subdirectory.
|
||||
|
||||
It has been known to get fatal errors due to insufficient swapping
|
||||
space available on the machine.
|
||||
|
|
@ -3643,25 +3643,6 @@ floating point option: -fsoft.
|
|||
|
||||
This seems to be due to a GCC bug; it is fixed in GCC 2.8.1.
|
||||
|
||||
** VMS: Compilation errors on VMS.
|
||||
|
||||
You will get warnings when compiling on VMS because there are
|
||||
variable names longer than 32 (or whatever it is) characters.
|
||||
This is not an error. Ignore it.
|
||||
|
||||
VAX C does not support #if defined(foo). Uses of this construct
|
||||
were removed, but some may have crept back in. They must be rewritten.
|
||||
|
||||
There is a bug in the C compiler which fails to sign extend characters
|
||||
in conditional expressions. The bug is:
|
||||
char c = -1, d = 1;
|
||||
int i;
|
||||
|
||||
i = d ? c : d;
|
||||
The result is i == 255; the fix is to typecast the char in the
|
||||
conditional expression as an (int). Known occurrences of such
|
||||
constructs in Emacs have been fixed.
|
||||
|
||||
** Vax C compiler bugs affecting Emacs.
|
||||
|
||||
You may get one of these problems compiling Emacs:
|
||||
|
|
|
|||
|
|
@ -5,10 +5,6 @@ for Emacs functions and variables.
|
|||
|
||||
`forms-d2.dat' is an example data file used by forms-d2.el.
|
||||
|
||||
`termcap.src' is included mainly for VMS. It is a copy of the
|
||||
`/etc/termcap' file used on Unix.
|
||||
|
||||
|
||||
COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
|
||||
|
||||
File: emacs.icon
|
||||
|
|
|
|||
17734
etc/termcap.src
17734
etc/termcap.src
File diff suppressed because it is too large
Load diff
|
|
@ -1,3 +1,8 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* etags.c:
|
||||
* emacsclient.c: Remove VMS support.
|
||||
|
||||
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
Remove support for Mac Carbon.
|
||||
|
|
|
|||
|
|
@ -64,15 +64,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
# include "vms-pwd.h"
|
||||
#else /* not VMS */
|
||||
#ifdef WINDOWSNT
|
||||
# include <io.h>
|
||||
#else /* not WINDOWSNT */
|
||||
# include <pwd.h>
|
||||
#endif /* not WINDOWSNT */
|
||||
#endif /* not VMS */
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include <signal.h>
|
||||
|
|
|
|||
154
lib-src/etags.c
154
lib-src/etags.c
|
|
@ -172,13 +172,8 @@ char pot_etags_version[] = "@(#) pot revision number is 17.38";
|
|||
extern void exit __P((int));
|
||||
extern void free __P((void *));
|
||||
extern void *memmove __P((void *, const void *, unsigned long));
|
||||
# ifdef VMS
|
||||
# define EXIT_SUCCESS 1
|
||||
# define EXIT_FAILURE 0
|
||||
# else /* no VMS */
|
||||
# define EXIT_SUCCESS 0
|
||||
# define EXIT_FAILURE 1
|
||||
# endif
|
||||
# define EXIT_SUCCESS 0
|
||||
# define EXIT_FAILURE 1
|
||||
# endif
|
||||
#endif /* !WINDOWSNT */
|
||||
|
||||
|
|
@ -1093,131 +1088,6 @@ Relative ones are stored relative to the output file's directory.\n");
|
|||
exit (EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
#ifdef VMS /* VMS specific functions */
|
||||
|
||||
#define EOS '\0'
|
||||
|
||||
/* This is a BUG! ANY arbitrary limit is a BUG!
|
||||
Won't someone please fix this? */
|
||||
#define MAX_FILE_SPEC_LEN 255
|
||||
typedef struct {
|
||||
short curlen;
|
||||
char body[MAX_FILE_SPEC_LEN + 1];
|
||||
} vspec;
|
||||
|
||||
/*
|
||||
v1.05 nmm 26-Jun-86 fn_exp - expand specification of list of file names
|
||||
returning in each successive call the next file name matching the input
|
||||
spec. The function expects that each in_spec passed
|
||||
to it will be processed to completion; in particular, up to and
|
||||
including the call following that in which the last matching name
|
||||
is returned, the function ignores the value of in_spec, and will
|
||||
only start processing a new spec with the following call.
|
||||
If an error occurs, on return out_spec contains the value
|
||||
of in_spec when the error occurred.
|
||||
|
||||
With each successive file name returned in out_spec, the
|
||||
function's return value is one. When there are no more matching
|
||||
names the function returns zero. If on the first call no file
|
||||
matches in_spec, or there is any other error, -1 is returned.
|
||||
*/
|
||||
|
||||
#include <rmsdef.h>
|
||||
#include <descrip.h>
|
||||
#define OUTSIZE MAX_FILE_SPEC_LEN
|
||||
static short
|
||||
fn_exp (out, in)
|
||||
vspec *out;
|
||||
char *in;
|
||||
{
|
||||
static long context = 0;
|
||||
static struct dsc$descriptor_s o;
|
||||
static struct dsc$descriptor_s i;
|
||||
static bool pass1 = TRUE;
|
||||
long status;
|
||||
short retval;
|
||||
|
||||
if (pass1)
|
||||
{
|
||||
pass1 = FALSE;
|
||||
o.dsc$a_pointer = (char *) out;
|
||||
o.dsc$w_length = (short)OUTSIZE;
|
||||
i.dsc$a_pointer = in;
|
||||
i.dsc$w_length = (short)strlen(in);
|
||||
i.dsc$b_dtype = DSC$K_DTYPE_T;
|
||||
i.dsc$b_class = DSC$K_CLASS_S;
|
||||
o.dsc$b_dtype = DSC$K_DTYPE_VT;
|
||||
o.dsc$b_class = DSC$K_CLASS_VS;
|
||||
}
|
||||
if ((status = lib$find_file(&i, &o, &context, 0, 0)) == RMS$_NORMAL)
|
||||
{
|
||||
out->body[out->curlen] = EOS;
|
||||
return 1;
|
||||
}
|
||||
else if (status == RMS$_NMF)
|
||||
retval = 0;
|
||||
else
|
||||
{
|
||||
strcpy(out->body, in);
|
||||
retval = -1;
|
||||
}
|
||||
lib$find_file_end(&context);
|
||||
pass1 = TRUE;
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*
|
||||
v1.01 nmm 19-Aug-85 gfnames - return in successive calls the
|
||||
name of each file specified by the provided arg expanding wildcards.
|
||||
*/
|
||||
static char *
|
||||
gfnames (arg, p_error)
|
||||
char *arg;
|
||||
bool *p_error;
|
||||
{
|
||||
static vspec filename = {MAX_FILE_SPEC_LEN, "\0"};
|
||||
|
||||
switch (fn_exp (&filename, arg))
|
||||
{
|
||||
case 1:
|
||||
*p_error = FALSE;
|
||||
return filename.body;
|
||||
case 0:
|
||||
*p_error = FALSE;
|
||||
return NULL;
|
||||
default:
|
||||
*p_error = TRUE;
|
||||
return filename.body;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef OLD /* Newer versions of VMS do provide `system'. */
|
||||
system (cmd)
|
||||
char *cmd;
|
||||
{
|
||||
error ("%s", "system() function not implemented under VMS");
|
||||
}
|
||||
#endif
|
||||
|
||||
#define VERSION_DELIM ';'
|
||||
char *massage_name (s)
|
||||
char *s;
|
||||
{
|
||||
char *start = s;
|
||||
|
||||
for ( ; *s; s++)
|
||||
if (*s == VERSION_DELIM)
|
||||
{
|
||||
*s = EOS;
|
||||
break;
|
||||
}
|
||||
else
|
||||
*s = lowcase (*s);
|
||||
return start;
|
||||
}
|
||||
#endif /* VMS */
|
||||
|
||||
|
||||
int
|
||||
main (argc, argv)
|
||||
|
|
@ -1231,9 +1101,6 @@ main (argc, argv)
|
|||
int current_arg, file_count;
|
||||
linebuffer filename_lb;
|
||||
bool help_asked = FALSE;
|
||||
#ifdef VMS
|
||||
bool got_err;
|
||||
#endif
|
||||
char *optstring;
|
||||
int opt;
|
||||
|
||||
|
|
@ -1441,21 +1308,7 @@ main (argc, argv)
|
|||
analyse_regex (argbuffer[i].what);
|
||||
break;
|
||||
case at_filename:
|
||||
#ifdef VMS
|
||||
while ((this_file = gfnames (argbuffer[i].what, &got_err)) != NULL)
|
||||
{
|
||||
if (got_err)
|
||||
{
|
||||
error ("can't find file %s\n", this_file);
|
||||
argc--, argv++;
|
||||
}
|
||||
else
|
||||
{
|
||||
this_file = massage_name (this_file);
|
||||
}
|
||||
#else
|
||||
this_file = argbuffer[i].what;
|
||||
#endif
|
||||
/* Input file named "-" means read file names from stdin
|
||||
(one per line) and use them. */
|
||||
if (streq (this_file, "-"))
|
||||
|
|
@ -1468,9 +1321,6 @@ main (argc, argv)
|
|||
}
|
||||
else
|
||||
process_file_name (this_file, lang);
|
||||
#ifdef VMS
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case at_stdin:
|
||||
this_file = argbuffer[i].what;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,42 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* textmodes/texinfmt.el:
|
||||
* nxml/nxml-enc.el:
|
||||
* mail/feedmail.el:
|
||||
* international/mule.el:
|
||||
* international/latexenc.el:
|
||||
* emulation/viper-util.el:
|
||||
* emulation/viper-init.el:
|
||||
* emulation/viper-ex.el:
|
||||
* emacs-lisp/bytecomp.el:
|
||||
* version.el:
|
||||
* subr.el:
|
||||
* startup.el:
|
||||
* sort.el:
|
||||
* shadowfile.el:
|
||||
* recentf.el:
|
||||
* printing.el:
|
||||
* paths.el:
|
||||
* minibuffer.el:
|
||||
* ls-lisp.el:
|
||||
* loadup.el:
|
||||
* hippie-exp.el:
|
||||
* finder.el:
|
||||
* files.el:
|
||||
* ediff-util.el:
|
||||
* ediff-ptch.el:
|
||||
* ediff-init.el:
|
||||
* ediff-diff.el:
|
||||
* dired.el:
|
||||
* dired-aux.el:
|
||||
* cus-edit.el:
|
||||
* bindings.el:
|
||||
* arc-mode.el:
|
||||
* add-log.el: Remove VMS support.
|
||||
* obsolete/vmsproc.el:
|
||||
* obsolete/vms-pmail.el:
|
||||
* obsolete/vms-patch.el: Remove file.
|
||||
|
||||
2008-07-31 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* progmodes/cc-mode.el (c-before-hack-hook): New function
|
||||
|
|
|
|||
|
|
@ -556,9 +556,7 @@ If t, use universal time.")
|
|||
(defun change-log-name ()
|
||||
"Return (system-dependent) default name for a change log file."
|
||||
(or change-log-default-name
|
||||
(if (eq system-type 'vax-vms)
|
||||
"$CHANGE_LOG$.TXT"
|
||||
"ChangeLog")))
|
||||
"ChangeLog"))
|
||||
|
||||
(defun add-log-edit-prev-comment (arg)
|
||||
"Cycle backward through Log-Edit mode comment history.
|
||||
|
|
|
|||
|
|
@ -1731,7 +1731,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
|
|||
str archive-file-name-coding-system)))
|
||||
(isdir (and (= ucsize 0)
|
||||
(string= (file-name-nondirectory efnname) "")))
|
||||
(mode (cond ((memq creator '(2 3)) ; Unix + VMS
|
||||
(mode (cond ((memq creator '(2 3)) ; Unix
|
||||
(archive-l-e (+ p 40) 2))
|
||||
((memq creator '(0 5 6 7 10 11 15)) ; Dos etc.
|
||||
(logior ?\444
|
||||
|
|
@ -1800,7 +1800,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
|
|||
(oldmode (aref fil 3))
|
||||
(newval (archive-calc-mode oldmode newmode t))
|
||||
(inhibit-read-only t))
|
||||
(cond ((memq creator '(2 3)) ; Unix + VMS
|
||||
(cond ((memq creator '(2 3)) ; Unix
|
||||
(goto-char (+ p 40))
|
||||
(delete-char 2)
|
||||
(insert-unibyte (logand newval 255) (lsh newval -8)))
|
||||
|
|
|
|||
|
|
@ -583,10 +583,6 @@ is okay. See `mode-line-format'.")
|
|||
(cond ((memq system-type '(ms-dos windows-nt))
|
||||
'(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
|
||||
".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386"))
|
||||
((eq system-type 'vax-vms)
|
||||
'(".obj" ".exe" ".bin" ".lbin" ".sbin"
|
||||
".brn" ".rnt" ".lni"
|
||||
".olb" ".tlb" ".mlb" ".hlb"))
|
||||
(t
|
||||
'(".o" "~" ".bin" ".lbin" ".so"
|
||||
".a" ".ln" ".blg" ".bbl")))
|
||||
|
|
|
|||
|
|
@ -292,10 +292,6 @@
|
|||
"Front-ends/assistants for, or emulators of, UNIX features."
|
||||
:group 'environment)
|
||||
|
||||
(defgroup vms nil
|
||||
"Support code for vms."
|
||||
:group 'environment)
|
||||
|
||||
(defgroup i18n nil
|
||||
"Internationalization and alternate character-set support."
|
||||
:link '(custom-manual "(emacs)International")
|
||||
|
|
|
|||
|
|
@ -1108,7 +1108,6 @@ See Info node `(emacs)Subdir switches' for more details."
|
|||
;; or wildcard lines.
|
||||
;; Important: never moves into the next subdir.
|
||||
;; DIR is assumed to be unhidden.
|
||||
;; Will probably be redefined for VMS etc.
|
||||
(save-excursion
|
||||
(or (dired-goto-subdir dir) (error "This cannot happen"))
|
||||
(forward-line 1)
|
||||
|
|
@ -1936,7 +1935,6 @@ This function takes some pains to conform to `ls -lR' output."
|
|||
(save-excursion (dired-mark-remembered mark-alist))
|
||||
(restore-buffer-modified-p modflag)))
|
||||
|
||||
;; This is a separate function for dired-vms.
|
||||
(defun dired-insert-subdir-validate (dirname &optional switches)
|
||||
;; Check that it is valid to insert DIRNAME with SWITCHES.
|
||||
;; Signal an error if invalid (e.g. user typed `i' on `..').
|
||||
|
|
|
|||
|
|
@ -719,7 +719,6 @@ for a remote directory. This feature is used by Auto Revert Mode."
|
|||
(file-readable-p dirname)
|
||||
(dired-directory-changed-p dirname))))
|
||||
|
||||
;; Separate function from dired-noselect for the sake of dired-vms.el.
|
||||
(defun dired-internal-noselect (dir-or-list &optional switches mode)
|
||||
;; If there is an existing dired buffer for DIRNAME, just leave
|
||||
;; buffer as it is (don't even call dired-revert).
|
||||
|
|
@ -1987,8 +1986,7 @@ Optional arg GLOBAL means to replace all matches."
|
|||
;;"Convert FILE (a file name relative to DIR) to an absolute file name."
|
||||
;; We can't always use expand-file-name as this would get rid of `.'
|
||||
;; or expand in / instead default-directory if DIR=="".
|
||||
;; This should be good enough for ange-ftp, but might easily be
|
||||
;; redefined (for VMS?).
|
||||
;; This should be good enough for ange-ftp.
|
||||
;; It should be reasonably fast, though, as it is called in
|
||||
;; dired-get-filename.
|
||||
(concat (or dir default-directory) file))
|
||||
|
|
@ -2554,7 +2552,7 @@ non-empty directories is allowed."
|
|||
(defun dired-internal-do-deletions (l arg)
|
||||
;; L is an alist of files to delete, with their buffer positions.
|
||||
;; ARG is the prefix arg.
|
||||
;; Filenames are absolute (VMS needs this for logical search paths).
|
||||
;; Filenames are absolute.
|
||||
;; (car L) *must* be the *last* (bottommost) file in the dired buffer.
|
||||
;; That way as changes are made in the buffer they do not shift the
|
||||
;; lines still to be changed, so the (point) values in L stay valid.
|
||||
|
|
@ -3442,9 +3440,6 @@ Ask means pop up a menu for the user to select one of copy, move or link."
|
|||
'(dired-mode . dired-restore-desktop-buffer))
|
||||
|
||||
|
||||
(if (eq system-type 'vax-vms)
|
||||
(load "dired-vms"))
|
||||
|
||||
(provide 'dired)
|
||||
|
||||
(run-hooks 'dired-load-hook) ; for your customizations
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ Must produce output compatible with Unix's diff3 program."
|
|||
(cond ((eq system-type 'emx) "cmd") ; OS/2
|
||||
((memq system-type '(ms-dos windows-nt windows-95))
|
||||
shell-file-name) ; no standard name on MS-DOS
|
||||
((memq system-type '(vax-vms axp-vms)) "*dcl*") ; VMS
|
||||
(t "sh")) ; UNIX
|
||||
"*The shell used to run diff and patch.
|
||||
If user's .profile or .cshrc files are set up correctly, any shell
|
||||
|
|
@ -336,9 +335,7 @@ one optional arguments, diff-number to refine.")
|
|||
(erase-buffer)
|
||||
(insert (ediff-with-current-buffer diff-buff (buffer-string)))
|
||||
(goto-char (point-min))
|
||||
(delete-matching-lines ok-regexp)
|
||||
(if (memq system-type '(vax-vms axp-vms))
|
||||
(delete-matching-lines "^$")))
|
||||
(delete-matching-lines ok-regexp))
|
||||
;; If diff reports errors, show them then quit.
|
||||
(if (/= 0 (ediff-with-current-buffer ediff-error-buffer (buffer-size)))
|
||||
(let ((ctl-buf ediff-control-buffer)
|
||||
|
|
|
|||
|
|
@ -1400,8 +1400,6 @@ Instead, C-h would jump to previous difference."
|
|||
;;; (file-name-as-directory
|
||||
;;; (cond ((memq system-type '(ms-dos windows-nt))
|
||||
;;; (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp"))
|
||||
;;; ((memq system-type '(vax-vms axp-vms))
|
||||
;;; (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "SYS$SCRATCH:"))
|
||||
;;; (t
|
||||
;;; (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp"))))
|
||||
"*Prefix to put on Ediff temporary file names.
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ case the default value for this variable should be changed."
|
|||
|
||||
;; the default backup extension
|
||||
(defconst ediff-default-backup-extension
|
||||
(if (memq system-type '(vax-vms axp-vms emx ms-dos))
|
||||
(if (memq system-type '(emx ms-dos))
|
||||
"_orig" ".orig"))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3217,7 +3217,7 @@ Hit \\[ediff-recenter] to reset the windows afterward."
|
|||
;; Quote metacharacters (using \) when executing diff in Unix, but not in
|
||||
;; EMX OS/2
|
||||
;;(defun ediff-protect-metachars (str)
|
||||
;; (or (memq system-type '(emx vax-vms axp-vms))
|
||||
;; (or (memq system-type '(emx))
|
||||
;; (let ((limit 0))
|
||||
;; (while (string-match ediff-metachars str limit)
|
||||
;; (setq str (concat (substring str 0 (match-beginning 0))
|
||||
|
|
|
|||
|
|
@ -197,9 +197,7 @@
|
|||
"Emacs Lisp byte-compiler."
|
||||
:group 'lisp)
|
||||
|
||||
(defcustom emacs-lisp-file-regexp (if (eq system-type 'vax-vms)
|
||||
"\\.EL\\(;[0-9]+\\)?$"
|
||||
"\\.el$")
|
||||
(defcustom emacs-lisp-file-regexp "\\.el$"
|
||||
"*Regexp which matches Emacs Lisp source files.
|
||||
You may want to redefine the function `byte-compile-dest-file'
|
||||
if you change this variable."
|
||||
|
|
@ -225,9 +223,7 @@ If FILENAME matches `emacs-lisp-file-regexp' (by default, files
|
|||
with the extension `.el'), add `c' to it; otherwise add `.elc'."
|
||||
(setq filename (byte-compiler-base-file-name filename))
|
||||
(setq filename (file-name-sans-versions filename))
|
||||
(cond ((eq system-type 'vax-vms)
|
||||
(concat (substring filename 0 (string-match ";" filename)) "c"))
|
||||
((string-match emacs-lisp-file-regexp filename)
|
||||
(cond ((string-match emacs-lisp-file-regexp filename)
|
||||
(concat (substring filename 0 (match-beginning 0)) ".elc"))
|
||||
(t (concat filename ".elc")))))
|
||||
|
||||
|
|
@ -1788,7 +1784,6 @@ The value is non-nil if there were no errors, nil if errors."
|
|||
(with-current-buffer output-buffer
|
||||
(goto-char (point-max))
|
||||
(insert "\n") ; aaah, unix.
|
||||
(let ((vms-stmlf-recfm t))
|
||||
(if (file-writable-p target-file)
|
||||
;; We must disable any code conversion here.
|
||||
(let ((coding-system-for-write 'no-conversion))
|
||||
|
|
@ -1808,7 +1803,7 @@ The value is non-nil if there were no errors, nil if errors."
|
|||
(if (file-exists-p target-file)
|
||||
"cannot overwrite file"
|
||||
"directory not writable or nonexistent")
|
||||
target-file))))
|
||||
target-file)))
|
||||
(kill-buffer (current-buffer)))
|
||||
(if (and byte-compile-generate-call-tree
|
||||
(or (eq t byte-compile-generate-call-tree)
|
||||
|
|
|
|||
|
|
@ -331,12 +331,11 @@ Don't put `-c' here, as it is added automatically."
|
|||
(cond (ex-unix-type-shell 'viper-glob-unix-files)
|
||||
((eq system-type 'emx) 'viper-glob-mswindows-files) ; OS/2
|
||||
(viper-ms-style-os-p 'viper-glob-mswindows-files) ; Microsoft OS
|
||||
(viper-vms-os-p 'viper-glob-unix-files) ; VMS
|
||||
(t 'viper-glob-unix-files) ; presumably UNIX
|
||||
)
|
||||
"Expand the file spec containing wildcard symbols.
|
||||
The default tries to set this variable to work with Unix, Windows,
|
||||
OS/2, and VMS.
|
||||
and OS/2.
|
||||
|
||||
However, if it doesn't work right for some types of Unix shells or some OS,
|
||||
the user should supply the appropriate function and set this variable to the
|
||||
|
|
|
|||
|
|
@ -69,11 +69,6 @@
|
|||
:type 'boolean
|
||||
:tag "Is it Microsoft-made OS?"
|
||||
:group 'viper-misc)
|
||||
(defcustom viper-vms-os-p (memq system-type '(vax-vms axp-vms))
|
||||
"Tells if Emacs is running under VMS."
|
||||
:type 'boolean
|
||||
:tag "Is it VMS?"
|
||||
:group 'viper-misc)
|
||||
|
||||
(defcustom viper-suppress-input-method-change-message nil
|
||||
"If t, the message notifying about changes in the input method is not displayed.
|
||||
|
|
|
|||
|
|
@ -397,11 +397,10 @@ Otherwise return the normal value."
|
|||
;;; Support for :e, :r, :w file globbing
|
||||
|
||||
;; Glob the file spec.
|
||||
;; This function is designed to work under Unix. It might also work under VMS.
|
||||
;; This function is designed to work under Unix.
|
||||
(defun viper-glob-unix-files (filespec)
|
||||
(let ((gshell
|
||||
(cond (ex-unix-type-shell shell-file-name)
|
||||
((memq system-type '(vax-vms axp-vms)) "*dcl*") ; VAX VMS
|
||||
(t "sh"))) ; probably Unix anyway
|
||||
(gshell-options
|
||||
;; using cond in anticipation of further additions
|
||||
|
|
|
|||
|
|
@ -70,8 +70,7 @@ the name it is linked to."
|
|||
:group 'abbrev
|
||||
:group 'find-file)
|
||||
|
||||
;; Turn off backup files on VMS since it has version numbers.
|
||||
(defcustom make-backup-files (not (eq system-type 'vax-vms))
|
||||
(defcustom make-backup-files t
|
||||
"Non-nil means make a backup of a file the first time it is saved.
|
||||
This can be done by renaming the file or by copying.
|
||||
|
||||
|
|
@ -190,8 +189,6 @@ If the buffer is visiting a new file, the value is nil.")
|
|||
(file-name-as-directory
|
||||
(cond ((memq system-type '(ms-dos windows-nt))
|
||||
(or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp"))
|
||||
((memq system-type '(vax-vms axp-vms))
|
||||
(or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "SYS$SCRATCH:"))
|
||||
(t
|
||||
(or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp"))))
|
||||
"The directory for writing temporary files."
|
||||
|
|
@ -216,7 +213,6 @@ have fast storage with limited space, such as a RAM disk."
|
|||
(declare-function dired-unmark "dired" (arg))
|
||||
(declare-function dired-do-flagged-delete "dired" (&optional nomessage))
|
||||
(declare-function dos-8+3-filename "dos-fns" (filename))
|
||||
(declare-function vms-read-directory "vms-patch" (dirname switches buffer))
|
||||
(declare-function view-mode-disable "view" ())
|
||||
|
||||
(defvar file-name-invalid-regexp
|
||||
|
|
@ -625,8 +621,7 @@ Directories are separated by occurrences of `path-separator'
|
|||
"Change current directory to given absolute file name DIR."
|
||||
;; Put the name into directory syntax now,
|
||||
;; because otherwise expand-file-name may give some bad results.
|
||||
(if (not (eq system-type 'vax-vms))
|
||||
(setq dir (file-name-as-directory dir)))
|
||||
(setq dir (file-name-as-directory dir))
|
||||
(setq dir (abbreviate-file-name (expand-file-name dir)))
|
||||
(if (not (file-directory-p dir))
|
||||
(if (file-exists-p dir)
|
||||
|
|
@ -1461,11 +1456,7 @@ home directory is a root directory) and removes automounter prefixes
|
|||
filename)))
|
||||
|
||||
(defcustom find-file-not-true-dirname-list nil
|
||||
"List of logical names for which visiting shouldn't save the true dirname.
|
||||
On VMS, when you visit a file using a logical name that searches a path,
|
||||
you may or may not want the visited file name to record the specific
|
||||
directory where the file was found. If you *do not* want that, add the logical
|
||||
name to this list as a string."
|
||||
"List of logical names for which visiting shouldn't save the true dirname."
|
||||
:type '(repeat (string :tag "Name"))
|
||||
:group 'find-file)
|
||||
|
||||
|
|
@ -1765,15 +1756,6 @@ Do you want to revisit the file normally now? ")
|
|||
(setq buffer-file-truename
|
||||
(abbreviate-file-name (file-truename buffer-file-name))))
|
||||
(setq buffer-file-number number)
|
||||
;; On VMS, we may want to remember which directory in a search list
|
||||
;; the file was found in.
|
||||
(and (eq system-type 'vax-vms)
|
||||
(let (logical)
|
||||
(if (string-match ":" (file-name-directory filename))
|
||||
(setq logical (substring (file-name-directory filename)
|
||||
0 (match-beginning 0))))
|
||||
(not (member logical find-file-not-true-dirname-list)))
|
||||
(setq buffer-file-name buffer-file-truename))
|
||||
(if find-file-visit-truename
|
||||
(setq buffer-file-name (expand-file-name buffer-file-truename)))
|
||||
;; Set buffer's default directory to that of the file.
|
||||
|
|
@ -2412,7 +2394,7 @@ we don't actually set it to the same mode the buffer already has."
|
|||
(while name
|
||||
;; Find first matching alist entry.
|
||||
(setq mode
|
||||
(if (memq system-type '(vax-vms windows-nt cygwin))
|
||||
(if (memq system-type '(windows-nt cygwin))
|
||||
;; System is case-insensitive.
|
||||
(let ((case-fold-search t))
|
||||
(assoc-default name auto-mode-alist
|
||||
|
|
@ -3279,8 +3261,6 @@ the old visited file has been renamed to the new name FILENAME."
|
|||
(setq buffer-file-name filename)
|
||||
(if filename ; make buffer name reflect filename.
|
||||
(let ((new-name (file-name-nondirectory buffer-file-name)))
|
||||
(if (eq system-type 'vax-vms)
|
||||
(setq new-name (downcase new-name)))
|
||||
(setq default-directory (file-name-directory buffer-file-name))
|
||||
;; If new-name == old-name, renaming would add a spurious <2>
|
||||
;; and it's considered as a feature in rename-buffer.
|
||||
|
|
@ -3519,22 +3499,11 @@ we do not remove backup version numbers, only true file version numbers."
|
|||
(if handler
|
||||
(funcall handler 'file-name-sans-versions name keep-backup-version)
|
||||
(substring name 0
|
||||
(if (eq system-type 'vax-vms)
|
||||
;; VMS version number is (a) semicolon, optional
|
||||
;; sign, zero or more digits or (b) period, option
|
||||
;; sign, zero or more digits, provided this is the
|
||||
;; second period encountered outside of the
|
||||
;; device/directory part of the file name.
|
||||
(or (string-match ";[-+]?[0-9]*\\'" name)
|
||||
(if (string-match "\\.[^]>:]*\\(\\.[-+]?[0-9]*\\)\\'"
|
||||
name)
|
||||
(match-beginning 1))
|
||||
(length name))
|
||||
(if keep-backup-version
|
||||
(length name)
|
||||
(or (string-match "\\.~[-[:alnum:]:#@^._]+~\\'" name)
|
||||
(string-match "~\\'" name)
|
||||
(length name))))))))
|
||||
(if keep-backup-version
|
||||
(length name)
|
||||
(or (string-match "\\.~[-[:alnum:]:#@^._]+~\\'" name)
|
||||
(string-match "~\\'" name)
|
||||
(length name)))))))
|
||||
|
||||
(defun file-ownership-preserved-p (file)
|
||||
"Return t if deleting FILE and rewriting it would preserve the owner."
|
||||
|
|
@ -3737,8 +3706,6 @@ the index in the name where the version number begins."
|
|||
(string-to-number (substring fn backup-extract-version-start -1))
|
||||
0))
|
||||
|
||||
;; I believe there is no need to alter this behavior for VMS;
|
||||
;; since backup files are not made on VMS, it should not get called.
|
||||
(defun find-backup-file-name (fn)
|
||||
"Find a file name for a backup file FN, and suggestions for deletions.
|
||||
Value is a list whose car is the name for the backup file
|
||||
|
|
@ -3984,19 +3951,6 @@ Before and after saving the buffer, this function runs
|
|||
(if (buffer-modified-p)
|
||||
(let ((recent-save (recent-auto-save-p))
|
||||
setmodes)
|
||||
;; On VMS, rename file and buffer to get rid of version number.
|
||||
(if (and (eq system-type 'vax-vms)
|
||||
(not (string= buffer-file-name
|
||||
(file-name-sans-versions buffer-file-name))))
|
||||
(let (buffer-new-name)
|
||||
;; Strip VMS version number before save.
|
||||
(setq buffer-file-name
|
||||
(file-name-sans-versions buffer-file-name))
|
||||
;; Construct a (unique) buffer name to correspond.
|
||||
(let ((buf (create-file-buffer (downcase buffer-file-name))))
|
||||
(setq buffer-new-name (buffer-name buf))
|
||||
(kill-buffer buf))
|
||||
(rename-buffer buffer-new-name)))
|
||||
;; If buffer has no file name, ask user for one.
|
||||
(or buffer-file-name
|
||||
(let ((filename
|
||||
|
|
@ -5036,15 +4990,13 @@ by `sh' are supported."
|
|||
(concat "\\`" result "\\'")))
|
||||
|
||||
(defcustom list-directory-brief-switches
|
||||
(if (eq system-type 'vax-vms) "" "-CF")
|
||||
"-CF"
|
||||
"Switches for `list-directory' to pass to `ls' for brief listing."
|
||||
:type 'string
|
||||
:group 'dired)
|
||||
|
||||
(defcustom list-directory-verbose-switches
|
||||
(if (eq system-type 'vax-vms)
|
||||
"/PROTECTION/SIZE/DATE/OWNER/WIDTH=(OWNER:10)"
|
||||
"-l")
|
||||
"-l"
|
||||
"Switches for `list-directory' to pass to `ls' for verbose listing."
|
||||
:type 'string
|
||||
:group 'dired)
|
||||
|
|
@ -5328,8 +5280,6 @@ normally equivalent short `-D' option is just passed on to
|
|||
(if handler
|
||||
(funcall handler 'insert-directory file switches
|
||||
wildcard full-directory-p)
|
||||
(if (eq system-type 'vax-vms)
|
||||
(vms-read-directory file switches (current-buffer))
|
||||
(let (result (beg (point)))
|
||||
|
||||
;; Read the actual directory using `insert-directory-program'.
|
||||
|
|
@ -5558,7 +5508,7 @@ normally equivalent short `-D' option is just passed on to
|
|||
;; Replace "total" with "used", to avoid confusion.
|
||||
(replace-match "total used in directory" nil nil nil 1)
|
||||
(end-of-line)
|
||||
(insert " available " available)))))))))))
|
||||
(insert " available " available))))))))))
|
||||
|
||||
(defun insert-directory-adj-pos (pos error-lines)
|
||||
"Convert `ls --dired' file name position value POS to a buffer position.
|
||||
|
|
@ -5610,7 +5560,7 @@ With prefix arg, silently save all file-visiting buffers, then kill."
|
|||
(buffer-list))))
|
||||
(yes-or-no-p "Modified buffers exist; exit anyway? "))
|
||||
(or (not (fboundp 'process-list))
|
||||
;; process-list is not defined on VMS.
|
||||
;; process-list is not defined on MSDOS.
|
||||
(let ((processes (process-list))
|
||||
active)
|
||||
(while processes
|
||||
|
|
|
|||
|
|
@ -83,8 +83,6 @@
|
|||
(tex . "supporting code for the TeX formatter")
|
||||
(tools . "programming tools")
|
||||
(unix . "front-ends/assistants for, or emulators of, UNIX-like features")
|
||||
;; Not a custom group and not currently useful.
|
||||
;; (vms . "support code for vms")
|
||||
(wp . "word processing")
|
||||
))
|
||||
|
||||
|
|
|
|||
|
|
@ -258,9 +258,7 @@ considered precious) will not be trimmed."
|
|||
(if (and (eq system-type 'ms-dos)
|
||||
(not (gnus-long-file-names)))
|
||||
"%s#%d.tm#" ; MSDOS limits files to 8+3
|
||||
(if (memq system-type '(vax-vms axp-vms))
|
||||
"%s$tmp$%d"
|
||||
"%s#tmp#%d"))
|
||||
"%s#tmp#%d")
|
||||
working-dir (setq i (1+ i))))
|
||||
(file-exists-p working-file)))
|
||||
|
||||
|
|
|
|||
|
|
@ -2799,9 +2799,7 @@ If FORCE is non-nil, the .newsrc file is read."
|
|||
(if (and (eq system-type 'ms-dos)
|
||||
(not (gnus-long-file-names)))
|
||||
"%s#%d.tm#" ; MSDOS limits files to 8+3
|
||||
(if (memq system-type '(vax-vms axp-vms))
|
||||
"%s$tmp$%d"
|
||||
"%s#tmp#%d"))
|
||||
"%s#tmp#%d")
|
||||
working-dir (setq i (1+ i))))
|
||||
(file-exists-p working-file)))
|
||||
|
||||
|
|
|
|||
|
|
@ -5296,7 +5296,7 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
|
|||
(* 25 25)))
|
||||
(let ((tm (current-time)))
|
||||
(concat
|
||||
(if (or (memq system-type '(ms-dos emx vax-vms))
|
||||
(if (or (memq system-type '(ms-dos emx))
|
||||
;; message-number-base36 doesn't handle bigints.
|
||||
(floatp (user-uid)))
|
||||
(let ((user (downcase (user-login-name))))
|
||||
|
|
@ -6858,14 +6858,13 @@ header line with the old Message-ID."
|
|||
(interactive)
|
||||
(let ((file-name (make-auto-save-file-name)))
|
||||
(cond ((save-window-excursion
|
||||
(if (not (eq system-type 'vax-vms))
|
||||
(with-output-to-temp-buffer "*Directory*"
|
||||
(with-current-buffer standard-output
|
||||
(fundamental-mode)) ; for Emacs 20.4+
|
||||
(buffer-disable-undo standard-output)
|
||||
(let ((default-directory "/"))
|
||||
(call-process
|
||||
"ls" nil standard-output nil "-l" file-name))))
|
||||
(with-output-to-temp-buffer "*Directory*"
|
||||
(with-current-buffer standard-output
|
||||
(fundamental-mode)) ; for Emacs 20.4+
|
||||
(buffer-disable-undo standard-output)
|
||||
(let ((default-directory "/"))
|
||||
(call-process
|
||||
"ls" nil standard-output nil "-l" file-name)))
|
||||
(yes-or-no-p (format "Recover auto save file %s? " file-name)))
|
||||
(let ((buffer-read-only nil))
|
||||
(erase-buffer)
|
||||
|
|
|
|||
|
|
@ -439,13 +439,13 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(if (not old)
|
||||
(progn
|
||||
(he-init-string (he-file-name-beg) (point))
|
||||
(let ((name-part (he-file-name-nondirectory he-search-string))
|
||||
(dir-part (expand-file-name (or (he-file-name-directory
|
||||
(let ((name-part (file-name-nondirectory he-search-string))
|
||||
(dir-part (expand-file-name (or (file-name-directory
|
||||
he-search-string) ""))))
|
||||
(if (not (he-string-member name-part he-tried-table))
|
||||
(setq he-tried-table (cons name-part he-tried-table)))
|
||||
(if (and (not (equal he-search-string ""))
|
||||
(he-file-directory-p dir-part))
|
||||
(file-directory-p dir-part))
|
||||
(setq he-expand-list (sort (file-name-all-completions
|
||||
name-part
|
||||
dir-part)
|
||||
|
|
@ -460,7 +460,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(if old (he-reset-string))
|
||||
())
|
||||
(let ((filename (he-concat-directory-file-name
|
||||
(he-file-name-directory he-search-string)
|
||||
(file-name-directory he-search-string)
|
||||
(car he-expand-list))))
|
||||
(he-substitute-string filename)
|
||||
(setq he-tried-table (cons (car he-expand-list) (cdr he-tried-table)))
|
||||
|
|
@ -476,11 +476,11 @@ otherwise."
|
|||
(if (not old)
|
||||
(progn
|
||||
(he-init-string (he-file-name-beg) (point))
|
||||
(let ((name-part (he-file-name-nondirectory he-search-string))
|
||||
(dir-part (expand-file-name (or (he-file-name-directory
|
||||
(let ((name-part (file-name-nondirectory he-search-string))
|
||||
(dir-part (expand-file-name (or (file-name-directory
|
||||
he-search-string) ""))))
|
||||
(if (and (not (equal he-search-string ""))
|
||||
(he-file-directory-p dir-part))
|
||||
(file-directory-p dir-part))
|
||||
(setq expansion (file-name-completion name-part
|
||||
dir-part)))
|
||||
(if (or (eq expansion t)
|
||||
|
|
@ -493,16 +493,14 @@ otherwise."
|
|||
(if old (he-reset-string))
|
||||
())
|
||||
(let ((filename (he-concat-directory-file-name
|
||||
(he-file-name-directory he-search-string)
|
||||
(file-name-directory he-search-string)
|
||||
expansion)))
|
||||
(he-substitute-string filename)
|
||||
(setq he-tried-table (cons expansion (cdr he-tried-table)))
|
||||
t))))
|
||||
|
||||
(defvar he-file-name-chars
|
||||
(cond ((memq system-type '(vax-vms axp-vms))
|
||||
"-a-zA-Z0-9_/.,~^#$+=:\\[\\]")
|
||||
((memq system-type '(ms-dos windows-nt cygwin))
|
||||
(cond ((memq system-type '(ms-dos windows-nt cygwin))
|
||||
"-a-zA-Z0-9_/.,~^#$+=:\\\\")
|
||||
(t ;; More strange file formats ?
|
||||
"-a-zA-Z0-9_/.,~^#$+="))
|
||||
|
|
@ -516,43 +514,11 @@ otherwise."
|
|||
op
|
||||
(point)))))
|
||||
|
||||
;; Thanks go to Richard Levitte <levitte@e.kth.se> who helped to make these
|
||||
;; work under VMS, and to David Hughes <ukchugd@ukpmr.cs.philips.nl> who
|
||||
;; Thanks go to David Hughes <ukchugd@ukpmr.cs.philips.nl> who
|
||||
;; helped to make it work on PC.
|
||||
(defun he-file-name-nondirectory (file)
|
||||
"Fix to make `file-name-nondirectory' work for hippie-expand under VMS."
|
||||
(if (memq system-type '(axp-vms vax-vms))
|
||||
(let ((n (file-name-nondirectory file)))
|
||||
(if (string-match "^\\(\\[.*\\)\\.\\([^\\.]*\\)$" n)
|
||||
(concat "[." (substring n (match-beginning 2) (match-end 2)))
|
||||
n))
|
||||
(file-name-nondirectory file)))
|
||||
|
||||
(defun he-file-name-directory (file)
|
||||
"Fix to make `file-name-directory' work for hippie-expand under VMS."
|
||||
(if (memq system-type '(axp-vms vax-vms))
|
||||
(let ((n (file-name-nondirectory file))
|
||||
(d (file-name-directory file)))
|
||||
(if (string-match "^\\(\\[.*\\)\\.\\([^\\.]*\\)$" n)
|
||||
(concat d (substring n (match-beginning 1) (match-end 1)) "]")
|
||||
d))
|
||||
(file-name-directory file)))
|
||||
|
||||
(defun he-file-directory-p (file)
|
||||
"Fix to make `file-directory-p' work for hippie-expand under VMS."
|
||||
(if (memq system-type '(vax-vms axp-vms))
|
||||
(or (file-directory-p file)
|
||||
(file-directory-p (concat file "[000000]")))
|
||||
(file-directory-p file)))
|
||||
|
||||
(defun he-concat-directory-file-name (dir-part name-part)
|
||||
"Try to slam together two parts of a file specification, system dependently."
|
||||
(cond ((null dir-part) name-part)
|
||||
((memq system-type '(axp-vms vax-vms))
|
||||
(if (and (string= (substring dir-part -1) "]")
|
||||
(string= (substring name-part 0 2) "[."))
|
||||
(concat (substring dir-part 0 -1) (substring name-part 1))
|
||||
(concat dir-part name-part)))
|
||||
((memq system-type '(ms-dos w32))
|
||||
(if (and (string-match "\\\\" dir-part)
|
||||
(not (string-match "/" dir-part))
|
||||
|
|
|
|||
|
|
@ -63,8 +63,6 @@
|
|||
("cp852" . cp852) ; IBM code page 852
|
||||
("cp858" . cp858) ; IBM code page 850 but with a euro symbol
|
||||
("cp865" . cp865) ; IBM code page 865
|
||||
;; The DECMultinational charaterset used by the OpenVMS system
|
||||
;; ("decmulti" . undecided)
|
||||
("latin1" . iso-8859-1)
|
||||
("latin2" . iso-8859-2)
|
||||
("latin3" . iso-8859-3)
|
||||
|
|
|
|||
|
|
@ -1662,7 +1662,7 @@ This is used for loading and byte-compiling Emacs Lisp files.")
|
|||
(defun auto-coding-alist-lookup (filename)
|
||||
"Return the coding system specified by `auto-coding-alist' for FILENAME."
|
||||
(let ((alist auto-coding-alist)
|
||||
(case-fold-search (memq system-type '(vax-vms windows-nt ms-dos cygwin)))
|
||||
(case-fold-search (memq system-type '(windows-nt ms-dos cygwin)))
|
||||
coding-system)
|
||||
(while (and alist (not coding-system))
|
||||
(if (string-match (car (car alist)) filename)
|
||||
|
|
|
|||
|
|
@ -166,9 +166,6 @@
|
|||
(message "%s" (garbage-collect))
|
||||
|
||||
(load "replace")
|
||||
(if (eq system-type 'vax-vms)
|
||||
(progn
|
||||
(load "vmsproc")))
|
||||
(load "buff-menu")
|
||||
|
||||
(if (fboundp 'x-create-frame)
|
||||
|
|
@ -187,9 +184,6 @@
|
|||
|
||||
(message "%s" (garbage-collect))
|
||||
|
||||
(if (eq system-type 'vax-vms)
|
||||
(progn
|
||||
(load "vms-patch")))
|
||||
(if (eq system-type 'windows-nt)
|
||||
(progn
|
||||
(load "w32-vars")
|
||||
|
|
@ -230,7 +224,7 @@
|
|||
;doc strings kept in the DOC file rather than in core,
|
||||
;you may load them with a "site-load.el" file.
|
||||
;But you must also cause them to be scanned when the DOC file
|
||||
;is generated. For VMS, you must edit ../vms/makedoc.com.
|
||||
;is generated.
|
||||
;For other systems, you must edit ../src/Makefile.in.
|
||||
(if (load "site-load" t)
|
||||
(garbage-collect))
|
||||
|
|
@ -341,11 +335,7 @@
|
|||
|
||||
(if (or (member (nth 3 command-line-args) '("dump" "bootstrap"))
|
||||
(member (nth 4 command-line-args) '("dump" "bootstrap")))
|
||||
(if (eq system-type 'vax-vms)
|
||||
(progn
|
||||
(message "Dumping data as file temacs.dump")
|
||||
(dump-emacs "temacs.dump" "temacs")
|
||||
(kill-emacs))
|
||||
(progn
|
||||
(if (memq system-type '(ms-dos windows-nt cygwin))
|
||||
(message "Dumping under the name emacs")
|
||||
(message "Dumping under the name emacs"))
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
;; This file redefines the function `insert-directory' to implement it
|
||||
;; directly from Emacs lisp, without running ls in a subprocess. It
|
||||
;; is useful if you cannot afford to fork Emacs on a real memory UNIX,
|
||||
;; under VMS or other non-UNIX platforms if you don't have the ls
|
||||
;; or other non-UNIX platforms if you don't have the ls
|
||||
;; program, or if you want a different format from what ls offers.
|
||||
|
||||
;; This function can use regexps instead of shell wildcards. If you
|
||||
|
|
|
|||
|
|
@ -808,30 +808,21 @@ without having to answer no to the individual message prompts."
|
|||
:type 'boolean)
|
||||
|
||||
|
||||
;; I provided a default for VMS because someone asked for it (the
|
||||
;; normal default doesn't work there), but, puh-lease!, it is a user
|
||||
;; definable option, so if you don't like the default, change it to
|
||||
;; whatever you want. I am unable to directly test the VMS goop
|
||||
;; provided here by levitte@lp.se (Richard Levitte - VMS Whacker).
|
||||
(defcustom feedmail-queue-directory
|
||||
(if (memq system-type '(axp-vms vax-vms))
|
||||
(expand-file-name (concat (getenv "HOME") "[.MAIL.Q]"))
|
||||
(concat (getenv "HOME") "/mail/q"))
|
||||
(concat (getenv "HOME") "/mail/q")
|
||||
"*Name of a directory where messages will be queued.
|
||||
Directory will be created if necessary. Should be a string that
|
||||
doesn't end with a slash. Default, except on VMS, is \"$HOME/mail/q\"."
|
||||
doesn't end with a slash. Default is \"$HOME/mail/q\"."
|
||||
:group 'feedmail-queue
|
||||
:type 'string
|
||||
)
|
||||
|
||||
|
||||
(defcustom feedmail-queue-draft-directory
|
||||
(if (memq system-type '(axp-vms vax-vms))
|
||||
(expand-file-name (concat (getenv "HOME") "[.MAIL.DRAFT]"))
|
||||
(concat (getenv "HOME") "/mail/draft"))
|
||||
(concat (getenv "HOME") "/mail/draft")
|
||||
"*Name of a directory where draft messages will be queued.
|
||||
Directory will be created if necessary. Should be a string that
|
||||
doesn't end with a slash. Default, except on VMS, is \"$HOME/mail/draft\"."
|
||||
doesn't end with a slash. Default is \"$HOME/mail/draft\"."
|
||||
:group 'feedmail-queue
|
||||
:type 'string
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1068,7 +1068,7 @@ specified by COMMON-SUBSTRING."
|
|||
"Current predicate used by `read-file-name-internal'.")
|
||||
|
||||
(defcustom read-file-name-completion-ignore-case
|
||||
(if (memq system-type '(ms-dos windows-nt darwin macos vax-vms axp-vms))
|
||||
(if (memq system-type '(ms-dos windows-nt darwin))
|
||||
t nil)
|
||||
"Non-nil means when reading a file name completion ignores case."
|
||||
:group 'minibuffer
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
;;; Code:
|
||||
|
||||
(defvar nxml-file-name-ignore-case
|
||||
(memq system-type '(vax-vms windows-nt)))
|
||||
(memq system-type '(windows-nt)))
|
||||
|
||||
(defvar nxml-cached-file-name-auto-coding-regexp nil)
|
||||
(defvar nxml-cached-auto-mode-alist nil)
|
||||
|
|
|
|||
|
|
@ -1,270 +0,0 @@
|
|||
;; -*- no-byte-compile: t -*-
|
||||
;; Not byte compiled because it uses functions that are not part of
|
||||
;; emacs, so it would generate unnecessary warnings.
|
||||
;;; vms-patch.el --- override parts of files.el for VMS
|
||||
|
||||
;; Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004,
|
||||
;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: vms
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defvar print-region-function)
|
||||
|
||||
(setq auto-mode-alist (cons '(("\\.com\\'" . dcl-mode)) auto-mode-alist))
|
||||
|
||||
;;; Functions that need redefinition
|
||||
|
||||
;;; VMS file names are upper case, but buffer names are more
|
||||
;;; convenient in lower case.
|
||||
|
||||
(defun create-file-buffer (filename)
|
||||
"Create a suitably named buffer for visiting FILENAME, and return it.
|
||||
FILENAME (sans directory) is used unchanged if that name is free;
|
||||
otherwise a string <2> or <3> or ... is appended to get an unused name."
|
||||
(generate-new-buffer (downcase (file-name-nondirectory filename))))
|
||||
|
||||
;;; Given a string FN, return a similar name which is a valid VMS filename.
|
||||
;;; This is used to avoid invalid auto save file names.
|
||||
(defun make-valid-file-name (fn)
|
||||
(setq fn (copy-sequence fn))
|
||||
(let ((dot nil) (indx 0) (len (length fn)) chr)
|
||||
(while (< indx len)
|
||||
(setq chr (aref fn indx))
|
||||
(cond
|
||||
((eq chr ?.) (if dot (aset fn indx ?_) (setq dot t)))
|
||||
((not (or (and (>= chr ?a) (<= chr ?z)) (and (>= chr ?A) (<= chr ?Z))
|
||||
(and (>= chr ?0) (<= chr ?9))
|
||||
(eq chr ?$) (eq chr ?_) (and (eq chr ?-) (> indx 0))))
|
||||
(aset fn indx ?_)))
|
||||
(setq indx (1+ indx))))
|
||||
fn)
|
||||
|
||||
(define-obsolete-function-alias 'make-legal-file-name 'make-valid-file-name "23.1")
|
||||
|
||||
;;; Auto save filesnames start with _$ and end with $.
|
||||
|
||||
(defun make-auto-save-file-name ()
|
||||
"Return file name to use for auto-saves of current buffer.
|
||||
This function does not consider `auto-save-visited-file-name';
|
||||
the caller should check that before calling this function.
|
||||
This is a separate function so that your `.emacs' file or the site's
|
||||
`site-init.el' can redefine it.
|
||||
See also `auto-save-file-name-p'."
|
||||
(if buffer-file-name
|
||||
(concat (file-name-directory buffer-file-name)
|
||||
"_$"
|
||||
(file-name-nondirectory buffer-file-name)
|
||||
"$")
|
||||
(expand-file-name (concat "_$_" (make-valid-file-name (buffer-name)) "$"))))
|
||||
|
||||
(defun auto-save-file-name-p (filename)
|
||||
"Return t if FILENAME can be yielded by `make-auto-save-file-name'.
|
||||
FILENAME should lack slashes.
|
||||
This is a separate function so that your `.emacs' file or the site's
|
||||
`site-init.el' can redefine it."
|
||||
(string-match "^_\\$.*\\$" filename))
|
||||
|
||||
;;;
|
||||
;;; This goes along with kepteditor.com which defines these logicals
|
||||
;;; If EMACS_COMMAND_ARGS is defined, it supersedes EMACS_FILE_NAME,
|
||||
;;; which is probably set up incorrectly anyway.
|
||||
;;; The function command-line-again is a kludge, but it does the job.
|
||||
;;;
|
||||
(defun vms-suspend-resume-hook ()
|
||||
"When resuming suspended Emacs, check for file to be found.
|
||||
If the logical name `EMACS_FILE_NAME' is defined, `find-file' that file."
|
||||
(let ((file (vms-system-info "LOGICAL" "EMACS_FILE_NAME"))
|
||||
(args (vms-system-info "LOGICAL" "EMACS_COMMAND_ARGS"))
|
||||
(line (vms-system-info "LOGICAL" "EMACS_FILE_LINE")))
|
||||
(if (not args)
|
||||
(if file
|
||||
(progn (find-file file)
|
||||
(if line (goto-line (string-to-number line)))))
|
||||
(cd (file-name-directory file))
|
||||
(vms-command-line-again))))
|
||||
|
||||
(setq suspend-resume-hook 'vms-suspend-resume-hook)
|
||||
|
||||
(defun vms-suspend-hook ()
|
||||
"Don't allow suspending if logical name `DONT_SUSPEND_EMACS' is defined."
|
||||
(if (vms-system-info "LOGICAL" "DONT_SUSPEND_EMACS")
|
||||
(error "Can't suspend this emacs"))
|
||||
nil)
|
||||
|
||||
(setq suspend-hook 'vms-suspend-hook)
|
||||
|
||||
;;;
|
||||
;;; A kludge that allows reprocessing of the command line. This is mostly
|
||||
;;; to allow a spawned VMS mail process to do something reasonable when
|
||||
;;; used in conjunction with the modifications to sysdep.c that allow
|
||||
;;; Emacs to attach to a "foster" parent.
|
||||
;;;
|
||||
(defun vms-command-line-again ()
|
||||
"Reprocess command line arguments. VMS specific.
|
||||
Command line arguments are initialized from the logical EMACS_COMMAND_ARGS
|
||||
which is defined by kepteditor.com. On VMS this allows attaching to a
|
||||
spawned Emacs and doing things like \"emacs -l myfile.el -f doit\""
|
||||
(let* ((args (downcase (vms-system-info "LOGICAL" "EMACS_COMMAND_ARGS")))
|
||||
(command-line-args (list "emacs"))
|
||||
(beg 0)
|
||||
(end 0)
|
||||
(len (length args))
|
||||
this-char)
|
||||
(if args
|
||||
(progn
|
||||
;;; replace non-printable stuff with spaces
|
||||
(while (< beg (length args))
|
||||
(if (or (> 33 (setq this-char (aref args beg)))
|
||||
(< 127 this-char))
|
||||
(aset args beg 32))
|
||||
(setq beg (1+ beg)))
|
||||
(setq beg (1- (length args)))
|
||||
(while (= 32 (aref args beg)) (setq beg (1- beg)))
|
||||
(setq args (substring args 0 (1+ beg)))
|
||||
(setq beg 0)
|
||||
;;; now start parsing args
|
||||
(while (< beg (length args))
|
||||
(while (and (< beg (length args))
|
||||
(or (> 33 (setq this-char (aref args beg)))
|
||||
(< 127 this-char))
|
||||
(setq beg (1+ beg))))
|
||||
(setq end (1+ beg))
|
||||
(while (and (< end (length args))
|
||||
(< 32 (setq this-char (aref args end)))
|
||||
(> 127 this-char))
|
||||
(setq end (1+ end)))
|
||||
(setq command-line-args (append
|
||||
command-line-args
|
||||
(list (substring args beg end))))
|
||||
(setq beg (1+ end)))
|
||||
(command-line)))))
|
||||
|
||||
(defun vms-read-directory (dirname switches buffer)
|
||||
(save-excursion
|
||||
(set-buffer buffer)
|
||||
(subprocess-command-to-buffer
|
||||
(concat "DIRECTORY " switches " " dirname)
|
||||
buffer)
|
||||
(goto-char (point-min))
|
||||
;; Remove all the trailing blanks.
|
||||
(while (search-forward " \n")
|
||||
(forward-char -1)
|
||||
(delete-horizontal-space))
|
||||
(goto-char (point-min))))
|
||||
|
||||
(setq dired-listing-switches
|
||||
"/SIZE/DATE/OWNER/WIDTH=(FILENAME=32,SIZE=5)")
|
||||
|
||||
(setq print-region-function
|
||||
(lambda (start end command ign1 ign2 ign3 &rest switches)
|
||||
(write-region start end "sys$login:delete-me.txt")
|
||||
(send-command-to-subprocess
|
||||
1
|
||||
(concat command
|
||||
" sys$login:delete-me.txt/name=\"GNUprintbuffer\" "
|
||||
(mapconcat 'identity switches " "))
|
||||
nil nil nil)))
|
||||
|
||||
;;;
|
||||
;;; Fuctions for using Emacs as a VMS Mail editor
|
||||
;;;
|
||||
(autoload 'vms-pmail-setup "vms-pmail"
|
||||
"Set up file assuming use by VMS Mail utility.
|
||||
The buffer is put into text-mode, auto-save is turned off and the
|
||||
following bindings are established.
|
||||
|
||||
\\[vms-pmail-save-and-exit] vms-pmail-save-and-exit
|
||||
\\[vms-pmail-abort] vms-pmail-abort
|
||||
|
||||
All other Emacs commands are still available."
|
||||
t)
|
||||
|
||||
;;;
|
||||
;;; Filename handling in the minibuffer
|
||||
;;;
|
||||
(defun vms-magic-right-square-brace ()
|
||||
"\
|
||||
Insert a right square brace, but do other things first depending on context.
|
||||
During filename completion, when point is at the end of the line and the
|
||||
character before is not a right square brace, do one of three things before
|
||||
inserting the brace:
|
||||
- If there are already two left square braces preceding, do nothing special.
|
||||
- If there is a previous right-square-brace, convert it to dot.
|
||||
- If the character before is dot, delete it.
|
||||
Additionally, if the preceding chars are right-square-brace followed by
|
||||
either \"-\" or \"..\", strip one level of directory hierarchy."
|
||||
(interactive)
|
||||
(when (and minibuffer-completing-file-name
|
||||
(= (point) (point-max))
|
||||
(not (= 93 (char-before))))
|
||||
(cond
|
||||
;; Avoid clobbering: user:[one.path][another.path
|
||||
((search-backward "[" (field-beginning) t 2))
|
||||
((search-backward "]" (field-beginning) t)
|
||||
(delete-char 1)
|
||||
(insert ".")
|
||||
(goto-char (point-max)))
|
||||
((= ?. (char-before))
|
||||
(delete-char -1)))
|
||||
(goto-char (point-max))
|
||||
(let ((specs '(".." "-"))
|
||||
(pmax (point-max)))
|
||||
(while specs
|
||||
(let* ((up (car specs))
|
||||
(len (length up))
|
||||
(cut (- (point) len)))
|
||||
(when (and (< (1+ len) pmax)
|
||||
(= ?. (char-before cut))
|
||||
(string= up (buffer-substring cut (point))))
|
||||
(delete-char (- (1+ len)))
|
||||
(while (not (let ((c (char-before)))
|
||||
(or (= ?. c) (= 91 c))))
|
||||
(delete-char -1))
|
||||
(when (= ?. (char-before)) (delete-char -1))
|
||||
(setq specs nil)))
|
||||
(setq specs (cdr specs)))))
|
||||
(insert "]"))
|
||||
|
||||
(defun vms-magic-colon ()
|
||||
"\
|
||||
Insert a colon, but do other things first depending on context.
|
||||
During filename completion, when point is at the end of the line
|
||||
and the line contains a right square brace, remove all characters
|
||||
from the beginning of the line up to and including such brace.
|
||||
This enables one to type a new filespec without having to delete
|
||||
the old one."
|
||||
(interactive)
|
||||
(when (and minibuffer-completing-file-name
|
||||
(= (point) (point-max))
|
||||
(search-backward "]" (field-beginning) t))
|
||||
(delete-region (field-beginning) (1+ (point)))
|
||||
(goto-char (point-max)))
|
||||
(insert ":"))
|
||||
|
||||
(let ((m minibuffer-local-completion-map))
|
||||
(define-key m "]" 'vms-magic-right-square-brace)
|
||||
(define-key m "/" 'vms-magic-right-square-brace)
|
||||
(define-key m ":" 'vms-magic-colon))
|
||||
|
||||
;; arch-tag: c178494e-2c37-4d02-99b7-e47e615656cf
|
||||
;;; vms-patch.el ends here
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
;; -*- no-byte-compile: t -*-
|
||||
;; Not byte compiled because it uses functions that are not part of
|
||||
;; emacs, so it would generate unnecessary warnings.
|
||||
;;; vms-pmail.el --- use Emacs as the editor within VMS mail
|
||||
|
||||
;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
|
||||
;; 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Roland B Roberts <roberts@panix.com>
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: vms
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;;
|
||||
;;; Quick hack to use emacs as mail editor. There are a *bunch* of
|
||||
;;; changes scattered throughout emacs to make this work, namely:
|
||||
;;; (1) mod to sysdep.c to allow emacs to attach to a process other
|
||||
;;; than the one that originally spawned it.
|
||||
;;; (2) mod to kepteditor.com to define the logical emacs_parent_pid
|
||||
;;; which is what sysdep.c looks for, and define the logical
|
||||
;;; emacs_command_args which contains the command line
|
||||
;;; (3) mod to re-parse command line arguments from emacs_command_args
|
||||
;;; then execute them as though emacs were just starting up.
|
||||
;;;
|
||||
(defun vms-pmail-save-and-exit ()
|
||||
"Save current buffer and exit Emacs.
|
||||
If this Emacs cannot be suspended, you will be prompted about modified
|
||||
buffers other than the mail buffer. BEWARE --- suspending Emacs without
|
||||
saving your mail buffer causes mail to abort the send (potentially useful
|
||||
since the mail buffer is still here)."
|
||||
(interactive)
|
||||
(basic-save-buffer)
|
||||
(if (vms-system-info "LOGICAL" "DONT_SUSPEND_EMACS")
|
||||
(progn
|
||||
(save-some-buffers)
|
||||
(kill-emacs 1))
|
||||
(kill-buffer (current-buffer))
|
||||
(suspend-emacs)))
|
||||
|
||||
(defun vms-pmail-abort ()
|
||||
"Mark buffer as unmodified and exit Emacs.
|
||||
When the editor is exited without saving its buffer, VMS mail does not
|
||||
send a message. If you have other modified buffers you will be
|
||||
prompted for what to do with them."
|
||||
(interactive)
|
||||
(if (not (yes-or-no-p "Really abort mail? "))
|
||||
(ding)
|
||||
(not-modified)
|
||||
(if (vms-system-info "LOGICAL" "DONT_SUSPEND_EMACS")
|
||||
(progn
|
||||
(save-some-buffers)
|
||||
(kill-emacs 1))
|
||||
(kill-buffer (current-buffer))
|
||||
(suspend-emacs))))
|
||||
|
||||
(defun vms-pmail-setup ()
|
||||
"Set up file assuming use by VMS MAIL utility.
|
||||
The buffer is put into text-mode, auto-save is turned off and the
|
||||
following bindings are established.
|
||||
|
||||
\\[vms-pmail-save-and-exit] vms-pmail-save-and-exit
|
||||
\\[vms-pmail-abort] vms-pmail-abort
|
||||
|
||||
All other Emacs commands are still available."
|
||||
(interactive)
|
||||
(auto-save-mode -1)
|
||||
(text-mode)
|
||||
(let ((default (vms-system-info "LOGICAL" "SYS$SCRATCH"))
|
||||
(directory (file-name-directory (buffer-file-name)))
|
||||
(filename (file-name-nondirectory (buffer-file-name))))
|
||||
(if (string= directory "SYS$SCRATCH:")
|
||||
(progn
|
||||
(cd default)
|
||||
(setq buffer-file-name (concat default filename))))
|
||||
(use-local-map (copy-keymap (current-local-map)))
|
||||
(local-set-key "\C-c\C-c" 'vms-pmail-save-and-exit)
|
||||
(local-set-key "\C-c\C-g" 'vms-pmail-abort)))
|
||||
|
||||
(defun indicate-mail-reply-text ()
|
||||
"Prepares received mail for re-sending by placing >'s on each line."
|
||||
(interactive)
|
||||
(goto-char (point-min))
|
||||
(while (not (eobp))
|
||||
(insert ">")
|
||||
(beginning-of-line)
|
||||
(forward-line 1))
|
||||
(set-buffer-modified-p nil)
|
||||
(goto-char (point-min)))
|
||||
|
||||
(defun insert-signature ()
|
||||
"Moves to the end of the buffer and inserts a \"signature\" file.
|
||||
First try the file indicated by environment variable MAIL$TRAILER.
|
||||
If that fails, try the file \"~/.signature\".
|
||||
If neither file exists, fails quietly."
|
||||
(interactive)
|
||||
(goto-char (point-max))
|
||||
(newline)
|
||||
(if (vms-system-info "LOGICAL" "MAIL$TRAILER")
|
||||
(if (file-attributes (vms-system-info "LOGICAL" "MAIL$TRAILER"))
|
||||
(insert-file-contents (vms-system-info "LOGICAL" "MAIL$TRAILER"))
|
||||
(if (file-attributes "~/.signature")
|
||||
(insert-file-contents "~/.signature")))))
|
||||
|
||||
(provide 'vms-pmail)
|
||||
|
||||
;; arch-tag: 336850fc-7812-4663-8e4d-b9c13f47dce1
|
||||
;;; vms-pmail.el ends here
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
;; -*- no-byte-compile: t -*-
|
||||
;; Not byte compiled because it uses functions that are not part of
|
||||
;; emacs, so it would generate unnecessary warnings.
|
||||
;;; vmsproc.el --- run asynchronous VMS subprocesses under Emacs
|
||||
|
||||
;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
|
||||
;; 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Mukesh Prasad
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: vms
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defvar display-subprocess-window nil
|
||||
"If non-nil, the subprocess window is displayed whenever input is received.")
|
||||
|
||||
(defvar command-prefix-string "$ "
|
||||
"String to insert to distinguish commands entered by user.")
|
||||
|
||||
(defvar subprocess-running nil)
|
||||
(defvar subprocess-buf nil)
|
||||
|
||||
(defvar command-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map "\C-m" 'command-send-input)
|
||||
(define-key map "\C-u" 'command-kill-line)
|
||||
map))
|
||||
|
||||
(defun subprocess-input (name str)
|
||||
"Handle input from a subprocess. Called by Emacs."
|
||||
(if display-subprocess-window
|
||||
(display-buffer subprocess-buf))
|
||||
(with-current-buffer subprocess-buf
|
||||
(goto-char (point-max))
|
||||
(insert str ?\n)))
|
||||
|
||||
(defun subprocess-exit (name)
|
||||
"Called by Emacs upon subprocess exit."
|
||||
(setq subprocess-running nil))
|
||||
|
||||
(defun start-subprocess ()
|
||||
"Spawn an asynchronous subprocess with output redirected to
|
||||
the buffer *COMMAND*. Within this buffer, use C-m to send
|
||||
the last line to the subprocess or to bring another line to
|
||||
the end."
|
||||
(if subprocess-running
|
||||
(return t))
|
||||
(setq subprocess-buf (get-buffer-create "*COMMAND*"))
|
||||
(with-current-buffer subprocess-buf
|
||||
(use-local-map command-mode-map))
|
||||
(setq subprocess-running (spawn-subprocess 1 'subprocess-input
|
||||
'subprocess-exit))
|
||||
;; Initialize subprocess so it doesn't panic and die upon
|
||||
;; encountering the first error.
|
||||
(and subprocess-running
|
||||
(send-command-to-subprocess 1 "ON SEVERE_ERROR THEN CONTINUE")))
|
||||
|
||||
(defun subprocess-command-to-buffer (command buffer)
|
||||
"Execute COMMAND and redirect output into BUFFER."
|
||||
(let (cmd args)
|
||||
(setq cmd (substring command 0 (string-match " " command)))
|
||||
(setq args (substring command (string-match " " command)))
|
||||
(call-process cmd nil buffer nil "*dcl*" args)))
|
||||
;; BUGS: only the output up to the end of the first image activation is trapped.
|
||||
;; (if (not subprocess-running)
|
||||
;; (start-subprocess))
|
||||
;; (with-current-buffer buffer
|
||||
;; (let ((output-filename (concat "SYS$SCRATCH:OUTPUT-FOR-"
|
||||
;; (getenv "USER") ".LISTING")))
|
||||
;; (while (file-exists-p output-filename)
|
||||
;; (delete-file output-filename))
|
||||
;; (define-logical-name "SYS$OUTPUT" (concat output-filename "-NEW"))
|
||||
;; (send-command-to-subprocess 1 command)
|
||||
;; (send-command-to-subprocess 1 (concat
|
||||
;; "RENAME " output-filename
|
||||
;; "-NEW " output-filename))
|
||||
;; (while (not (file-exists-p output-filename))
|
||||
;; (sleep-for 1))
|
||||
;; (define-logical-name "SYS$OUTPUT" nil)
|
||||
;; (insert-file output-filename)
|
||||
;; (delete-file output-filename))))
|
||||
|
||||
(defun subprocess-command ()
|
||||
"Start asynchronous subprocess if not running and switch to its window."
|
||||
(interactive)
|
||||
(if (not subprocess-running)
|
||||
(start-subprocess))
|
||||
(and subprocess-running
|
||||
(progn (pop-to-buffer subprocess-buf) (goto-char (point-max)))))
|
||||
|
||||
(defun command-send-input ()
|
||||
"If at last line of buffer, send the current line to
|
||||
the spawned subprocess. Otherwise bring back current
|
||||
line to the last line for resubmission."
|
||||
(interactive)
|
||||
(beginning-of-line)
|
||||
(let ((current-line (buffer-substring (point) (line-end-position))))
|
||||
(if (eobp)
|
||||
(progn
|
||||
(if (not subprocess-running)
|
||||
(start-subprocess))
|
||||
(if subprocess-running
|
||||
(progn
|
||||
(beginning-of-line)
|
||||
(send-command-to-subprocess 1 current-line)
|
||||
(if command-prefix-string
|
||||
(progn (beginning-of-line) (insert command-prefix-string)))
|
||||
(forward-line 1))))
|
||||
;; else -- if not at last line in buffer
|
||||
(goto-char (point-max))
|
||||
(backward-char)
|
||||
(forward-line 1)
|
||||
(insert
|
||||
(if (compare-strings command-prefix-string nil nil
|
||||
current-line 0 (length command-prefix-string))
|
||||
(substring current-line (length command-prefix-string))
|
||||
current-line)))))
|
||||
|
||||
(defun command-kill-line ()
|
||||
"Kill the current line. Used in command mode."
|
||||
(interactive)
|
||||
(beginning-of-line)
|
||||
(kill-line))
|
||||
|
||||
(define-key esc-map "$" 'subprocess-command)
|
||||
|
||||
(provide 'vmsproc)
|
||||
|
||||
;; arch-tag: 600b2512-f903-4887-bcd2-e76b306f5b66
|
||||
;;; vmsproc.el ends here
|
||||
|
|
@ -176,15 +176,13 @@ Its name should end with a slash.")
|
|||
:group 'environment
|
||||
:type 'file)
|
||||
|
||||
(defvar term-file-prefix (if (eq system-type 'vax-vms) "[.term]" "term/") "\
|
||||
(defvar term-file-prefix "term/" "\
|
||||
If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\")))
|
||||
You may set this variable to nil in your `.emacs' file if you do not wish
|
||||
the terminal-initialization file to be loaded.")
|
||||
|
||||
(defvar abbrev-file-name
|
||||
(if (eq system-type 'vax-vms)
|
||||
"~/abbrev.def"
|
||||
(convert-standard-filename "~/.abbrev_defs"))
|
||||
(convert-standard-filename "~/.abbrev_defs")
|
||||
"*Default name of file to read abbrevs from.")
|
||||
|
||||
;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1
|
||||
|
|
|
|||
|
|
@ -2214,7 +2214,6 @@ Useful links:
|
|||
(file-name-as-directory
|
||||
(or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP")
|
||||
(cond (ps-windows-system "c:/temp")
|
||||
((memq system-type '(vax-vms axp-vms)) "SYS$SCRATCH:")
|
||||
(t "/tmp")
|
||||
)))))
|
||||
"*Specify a directory for temporary files during printing.
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ used as shortcuts to open the Nth file."
|
|||
;;; Utilities
|
||||
;;
|
||||
(defconst recentf-case-fold-search
|
||||
(memq system-type '(vax-vms windows-nt cygwin))
|
||||
(memq system-type '(windows-nt cygwin))
|
||||
"Non-nil if recentf searches and matches should ignore case.")
|
||||
|
||||
(defsubst recentf-string-equal (s1 s2)
|
||||
|
|
|
|||
|
|
@ -762,7 +762,7 @@ look for files that have been changed and need to be copied to other systems."
|
|||
(buffer-list))))
|
||||
(yes-or-no-p "Modified buffers exist; exit anyway? "))
|
||||
(or (not (fboundp 'process-list))
|
||||
;; process-list is not defined on VMS.
|
||||
;; process-list is not defined on MSDOS.
|
||||
(let ((processes (process-list))
|
||||
active)
|
||||
(while processes
|
||||
|
|
|
|||
|
|
@ -491,7 +491,7 @@ Use \\[untabify] to convert tabs to spaces before sorting."
|
|||
(setq col-end (max col-beg1 col-end1))
|
||||
(if (search-backward "\t" beg1 t)
|
||||
(error "sort-columns does not work with tabs -- use M-x untabify"))
|
||||
(if (not (or (memq system-type '(vax-vms windows-nt))
|
||||
(if (not (or (memq system-type '(windows-nt))
|
||||
(let ((pos beg1) plist fontified)
|
||||
(catch 'found
|
||||
(while (< pos end1)
|
||||
|
|
@ -516,7 +516,7 @@ Use \\[untabify] to convert tabs to spaces before sorting."
|
|||
(when sort-fold-case
|
||||
(push "-f" sort-args))
|
||||
(apply #'call-process-region beg1 end1 "sort" t t nil sort-args))
|
||||
;; On VMS and ms-windows, use Emacs's own facilities.
|
||||
;; On ms-windows, use Emacs's own facilities.
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region beg1 end1)
|
||||
|
|
|
|||
|
|
@ -491,20 +491,19 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
|
|||
;; the end, because the subdirs.el files may add elements to the end
|
||||
;; of load-path and we want to take it into account.
|
||||
(setq tail (cdr tail))))
|
||||
(unless (eq system-type 'vax-vms)
|
||||
;; If the PWD environment variable isn't accurate, delete it.
|
||||
(let ((pwd (getenv "PWD")))
|
||||
(and (stringp pwd)
|
||||
;; Use FOO/., so that if FOO is a symlink, file-attributes
|
||||
;; describes the directory linked to, not FOO itself.
|
||||
(or (equal (file-attributes
|
||||
(concat (file-name-as-directory pwd) "."))
|
||||
(file-attributes
|
||||
(concat (file-name-as-directory default-directory)
|
||||
".")))
|
||||
(setq process-environment
|
||||
(delete (concat "PWD=" pwd)
|
||||
process-environment))))))
|
||||
;; If the PWD environment variable isn't accurate, delete it.
|
||||
(let ((pwd (getenv "PWD")))
|
||||
(and (stringp pwd)
|
||||
;; Use FOO/., so that if FOO is a symlink, file-attributes
|
||||
;; describes the directory linked to, not FOO itself.
|
||||
(or (equal (file-attributes
|
||||
(concat (file-name-as-directory pwd) "."))
|
||||
(file-attributes
|
||||
(concat (file-name-as-directory default-directory)
|
||||
".")))
|
||||
(setq process-environment
|
||||
(delete (concat "PWD=" pwd)
|
||||
process-environment)))))
|
||||
(setq default-directory (abbreviate-file-name default-directory))
|
||||
(let ((menubar-bindings-done nil))
|
||||
(unwind-protect
|
||||
|
|
@ -1007,8 +1006,6 @@ opening the first frame (e.g. open a connection to an X server).")
|
|||
"~/_emacs"
|
||||
;; But default to .emacs if _emacs does not exist.
|
||||
"~/.emacs")))
|
||||
((eq system-type 'vax-vms)
|
||||
"sys$login:.emacs")
|
||||
(t
|
||||
(concat "~" init-file-user "/.emacs")))))
|
||||
;; This tells `load' to store the file name found
|
||||
|
|
|
|||
24
lisp/subr.el
24
lisp/subr.el
|
|
@ -2406,14 +2406,10 @@ passing the command to the shell.
|
|||
Wildcards and redirection are handled as usual in the shell.
|
||||
|
||||
\(fn NAME BUFFER COMMAND &rest COMMAND-ARGS)"
|
||||
(cond
|
||||
((eq system-type 'vax-vms)
|
||||
(apply 'start-process name buffer args))
|
||||
;; We used to use `exec' to replace the shell with the command,
|
||||
;; but that failed to handle (...) and semicolon, etc.
|
||||
(t
|
||||
(start-process name buffer shell-file-name shell-command-switch
|
||||
(mapconcat 'identity args " ")))))
|
||||
(start-process name buffer shell-file-name shell-command-switch
|
||||
(mapconcat 'identity args " ")))
|
||||
|
||||
(defun start-file-process-shell-command (name buffer &rest args)
|
||||
"Start a program in a subprocess. Return the process object for it.
|
||||
|
|
@ -2445,16 +2441,12 @@ If BUFFER is 0, `call-process-shell-command' returns immediately with value nil.
|
|||
Otherwise it waits for COMMAND to terminate and returns a numeric exit
|
||||
status or a signal description string.
|
||||
If you quit, the process is killed with SIGINT, or SIGKILL if you quit again."
|
||||
(cond
|
||||
((eq system-type 'vax-vms)
|
||||
(apply 'call-process command infile buffer display args))
|
||||
;; We used to use `exec' to replace the shell with the command,
|
||||
;; but that failed to handle (...) and semicolon, etc.
|
||||
(t
|
||||
(call-process shell-file-name
|
||||
infile buffer display
|
||||
shell-command-switch
|
||||
(mapconcat 'identity (cons command args) " ")))))
|
||||
;; We used to use `exec' to replace the shell with the command,
|
||||
;; but that failed to handle (...) and semicolon, etc.
|
||||
(call-process shell-file-name
|
||||
infile buffer display
|
||||
shell-command-switch
|
||||
(mapconcat 'identity (cons command args) " ")))
|
||||
|
||||
(defun process-file-shell-command (command &optional infile buffer display
|
||||
&rest args)
|
||||
|
|
|
|||
|
|
@ -2962,29 +2962,6 @@ Default is to leave paragraph indentation as is."
|
|||
("pg" . texinfo-format-pindex)
|
||||
("ky" . texinfo-format-kindex)))
|
||||
|
||||
|
||||
;;; Sort and index (for VMS)
|
||||
|
||||
;; Sort an index which is in the current buffer between START and END.
|
||||
;; Used on VMS, where the `sort' utility is not available.
|
||||
(defun texinfo-sort-region (start end)
|
||||
(require 'sort)
|
||||
(save-restriction
|
||||
(narrow-to-region start end)
|
||||
(goto-char (point-min))
|
||||
(sort-subr nil 'forward-line 'end-of-line 'texinfo-sort-startkeyfun)))
|
||||
|
||||
;; Subroutine for sorting an index.
|
||||
;; At start of a line, return a string to sort the line under.
|
||||
(defun texinfo-sort-startkeyfun ()
|
||||
(let ((line (buffer-substring-no-properties (point) (line-end-position))))
|
||||
;; Canonicalize whitespace and eliminate funny chars.
|
||||
(while (string-match "[ \t][ \t]+\\|[^a-z0-9 ]+" line)
|
||||
(setq line (concat (substring line 0 (match-beginning 0))
|
||||
" "
|
||||
(substring line (match-end 0)))))
|
||||
line))
|
||||
|
||||
|
||||
;;; @printindex
|
||||
|
||||
|
|
@ -3002,9 +2979,7 @@ Default is to leave paragraph indentation as is."
|
|||
(insert "\n* Menu:\n\n")
|
||||
(setq opoint (point))
|
||||
(texinfo-print-index nil indexelts)
|
||||
(if (memq system-type '(vax-vms windows-nt ms-dos))
|
||||
(texinfo-sort-region opoint (point))
|
||||
(shell-command-on-region opoint (point) "sort -fd" 1))))
|
||||
(shell-command-on-region opoint (point) "sort -fd" 1)))
|
||||
|
||||
(defun texinfo-print-index (file indexelts)
|
||||
(while indexelts
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ to the system configuration; look at `system-configuration' instead."
|
|||
(defalias 'version 'emacs-version)
|
||||
|
||||
;; We put version info into the executable in the form that `ident' uses.
|
||||
(or (memq system-type '(vax-vms windows-nt))
|
||||
(or (eq system-type 'windows-nt)
|
||||
(purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version))
|
||||
" $\n")))
|
||||
|
||||
|
|
|
|||
11
make-dist
11
make-dist
|
|
@ -337,7 +337,7 @@ for subdir in lisp site-lisp \
|
|||
etc/images/smilies/medium etc/images/tree-widget \
|
||||
etc/images/tree-widget/default etc/images/tree-widget/folder \
|
||||
etc/refcards etc/schema etc/tutorials info doc doc/emacs \
|
||||
doc/misc doc/man doc/lispref doc/lispintro m4 msdos vms \
|
||||
doc/misc doc/man doc/lispref doc/lispintro m4 msdos \
|
||||
nextstep nextstep/Cocoa nextstep/Cocoa/Emacs.base \
|
||||
nextstep/Cocoa/Emacs.base/Contents \
|
||||
nextstep/Cocoa/Emacs.base/Contents/Resources \
|
||||
|
|
@ -578,8 +578,7 @@ echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources/preferences.gorm'"
|
|||
echo "Making links to \`oldXMenu'"
|
||||
(cd oldXMenu
|
||||
ln *.c *.h *.in ../${tempdir}/oldXMenu
|
||||
ln README ChangeLog ../${tempdir}/oldXMenu
|
||||
ln compile.com descrip.mms ../${tempdir}/oldXMenu)
|
||||
ln README ChangeLog ../${tempdir}/oldXMenu)
|
||||
|
||||
echo "Making links to \`lwlib'"
|
||||
(cd lwlib
|
||||
|
|
@ -728,12 +727,6 @@ echo "Making links to \`doc/man'"
|
|||
(cd doc/man
|
||||
ln *.1 ../../${tempdir}/doc/man)
|
||||
|
||||
echo "Making links to \`vms'"
|
||||
(cd vms
|
||||
test -f README && ln README ../${tempdir}/vms
|
||||
cd ../${tempdir}/vms
|
||||
rm -f *~)
|
||||
|
||||
### It would be nice if they could all be symlinks to top-level copy, but
|
||||
### you're not supposed to have any symlinks in distribution tar files.
|
||||
echo "Making sure copying notices are all copies of \`COPYING'"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* descrip.mms:
|
||||
* compile.com: Remove file.
|
||||
* Create.c: Remove VMS support.
|
||||
|
||||
2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* Makefile.in (ALL_CFLAGS): Remove reference to C_SWITCH_SITE.
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include "../src/bitmaps/stipple.xbm"
|
||||
|
||||
#else
|
||||
#ifndef VMS
|
||||
|
||||
#include <X11/bitmaps/dimple1>
|
||||
#include <X11/bitmaps/dimple3>
|
||||
|
|
@ -66,23 +65,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include <X11/bitmaps/cntr_ptrmsk>
|
||||
#include <X11/bitmaps/stipple>
|
||||
|
||||
#else
|
||||
|
||||
#include "[-.src.bitmaps]dimple1.xbm"
|
||||
#include "[-.src.bitmaps]dimple3.xbm"
|
||||
#include "[-.src.bitmaps]gray1.xbm"
|
||||
#include "[-.src.bitmaps]gray3.xbm"
|
||||
#include "[-.src.bitmaps]crosswv.xbm"
|
||||
|
||||
#include "[-.src.bitmaps]leftptr.xbm"
|
||||
#include "[-.src.bitmaps]leftpmsk.xbm"
|
||||
#include "[-.src.bitmaps]rtptr.xbm"
|
||||
#include "[-.src.bitmaps]rtpmsk.xbm"
|
||||
#include "[-.src.bitmaps]cntrptr.xbm"
|
||||
#include "[-.src.bitmaps]cntrpmsk.xbm"
|
||||
#include "[-.src.bitmaps]stipple.xbm"
|
||||
|
||||
#endif /* VMS */
|
||||
#endif /* not EMACS_BITMAP_FILES */
|
||||
|
||||
#define DEF_FREEZE 0
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
$! This file was autogenerated with the command:
|
||||
$!
|
||||
$! mms/noaction/output = compile.com
|
||||
$ if f$search("ACTIVATE.OBJ") then delete ACTIVATE.OBJ.*
|
||||
$ cc /obj=ACTIVATE.OBJ /NOLIST/OBJECT=ACTIVATE.OBJ ACTIVATE.c
|
||||
$ if f$search("ADDPANE.OBJ") then delete ADDPANE.OBJ.*
|
||||
$ cc /obj=ADDPANE.OBJ /NOLIST/OBJECT=ADDPANE.OBJ ADDPANE.c
|
||||
$ if f$search("ADDSEL.OBJ") then delete ADDSEL.OBJ.*
|
||||
$ cc /obj=ADDSEL.OBJ /NOLIST/OBJECT=ADDSEL.OBJ ADDSEL.c
|
||||
$ if f$search("CHGPANE.OBJ") then delete CHGPANE.OBJ.*
|
||||
$ cc /obj=CHGPANE.OBJ /NOLIST/OBJECT=CHGPANE.OBJ CHGPANE.c
|
||||
$ if f$search("CHGSEL.OBJ") then delete CHGSEL.OBJ.*
|
||||
$ cc /obj=CHGSEL.OBJ /NOLIST/OBJECT=CHGSEL.OBJ CHGSEL.c
|
||||
$ if f$search("CREATE.OBJ") then delete CREATE.OBJ.*
|
||||
$ cc /obj=CREATE.OBJ /NOLIST/OBJECT=CREATE.OBJ CREATE.c
|
||||
$ if f$search("DELPANE.OBJ") then delete DELPANE.OBJ.*
|
||||
$ cc /obj=DELPANE.OBJ /NOLIST/OBJECT=DELPANE.OBJ DELPANE.c
|
||||
$ if f$search("DELSEL.OBJ") then delete DELSEL.OBJ.*
|
||||
$ cc /obj=DELSEL.OBJ /NOLIST/OBJECT=DELSEL.OBJ DELSEL.c
|
||||
$ if f$search("DESTROY.OBJ") then delete DESTROY.OBJ.*
|
||||
$ cc /obj=DESTROY.OBJ /NOLIST/OBJECT=DESTROY.OBJ DESTROY.c
|
||||
$ if f$search("ERROR.OBJ") then delete ERROR.OBJ.*
|
||||
$ cc /obj=ERROR.OBJ /NOLIST/OBJECT=ERROR.OBJ ERROR.c
|
||||
$ if f$search("EVHAND.OBJ") then delete EVHAND.OBJ.*
|
||||
$ cc /obj=EVHAND.OBJ /NOLIST/OBJECT=EVHAND.OBJ EVHAND.c
|
||||
$ if f$search("FINDPANE.OBJ") then delete FINDPANE.OBJ.*
|
||||
$ cc /obj=FINDPANE.OBJ /NOLIST/OBJECT=FINDPANE.OBJ FINDPANE.c
|
||||
$ if f$search("FINDSEL.OBJ") then delete FINDSEL.OBJ.*
|
||||
$ cc /obj=FINDSEL.OBJ /NOLIST/OBJECT=FINDSEL.OBJ FINDSEL.c
|
||||
$ if f$search("INSPANE.OBJ") then delete INSPANE.OBJ.*
|
||||
$ cc /obj=INSPANE.OBJ /NOLIST/OBJECT=INSPANE.OBJ INSPANE.c
|
||||
$ if f$search("INSSEL.OBJ") then delete INSSEL.OBJ.*
|
||||
$ cc /obj=INSSEL.OBJ /NOLIST/OBJECT=INSSEL.OBJ INSSEL.c
|
||||
$ if f$search("INTERNAL.OBJ") then delete INTERNAL.OBJ.*
|
||||
$ cc /obj=INTERNAL.OBJ /NOLIST/OBJECT=INTERNAL.OBJ INTERNAL.c
|
||||
$ if f$search("LOCATE.OBJ") then delete LOCATE.OBJ.*
|
||||
$ cc /obj=LOCATE.OBJ /NOLIST/OBJECT=LOCATE.OBJ LOCATE.c
|
||||
$ if f$search("POST.OBJ") then delete POST.OBJ.*
|
||||
$ cc /obj=POST.OBJ /NOLIST/OBJECT=POST.OBJ POST.c
|
||||
$ if f$search("RECOMP.OBJ") then delete RECOMP.OBJ.*
|
||||
$ cc /obj=RECOMP.OBJ /NOLIST/OBJECT=RECOMP.OBJ RECOMP.c
|
||||
$ if f$search("SETAEQ.OBJ") then delete SETAEQ.OBJ.*
|
||||
$ cc /obj=SETAEQ.OBJ /NOLIST/OBJECT=SETAEQ.OBJ SETAEQ.c
|
||||
$ if f$search("SETFRZ.OBJ") then delete SETFRZ.OBJ.*
|
||||
$ cc /obj=SETFRZ.OBJ /NOLIST/OBJECT=SETFRZ.OBJ SETFRZ.c
|
||||
$ if f$search("SETPANE.OBJ") then delete SETPANE.OBJ.*
|
||||
$ cc /obj=SETPANE.OBJ /NOLIST/OBJECT=SETPANE.OBJ SETPANE.c
|
||||
$ if f$search("SETSEL.OBJ") then delete SETSEL.OBJ.*
|
||||
$ cc /obj=SETSEL.OBJ /NOLIST/OBJECT=SETSEL.OBJ SETSEL.c
|
||||
$ if f$search("XDELASSOC.OBJ") then delete XDELASSOC.OBJ.*
|
||||
$ cc /obj=XDELASSOC.OBJ /NOLIST/OBJECT=XDELASSOC.OBJ XDELASSOC.c
|
||||
$ if f$search("XLOOKASSOC.OBJ") then delete XLOOKASSOC.OBJ.*
|
||||
$ cc /obj=XLOOKASSOC.OBJ /NOLIST/OBJECT=XLOOKASSOC.OBJ XLOOKASSOC.c
|
||||
$ if f$search("XCRASSOC.OBJ") then delete XCRASSOC.OBJ.*
|
||||
$ cc /obj=XCRASSOC.OBJ /NOLIST/OBJECT=XCRASSOC.OBJ XCRASSOC.c
|
||||
$ if f$search("XDESTASSOC.OBJ") then delete XDESTASSOC.OBJ.*
|
||||
$ cc /obj=XDESTASSOC.OBJ /NOLIST/OBJECT=XDESTASSOC.OBJ XDESTASSOC.c
|
||||
$ if f$search("XMAKEASSOC.OBJ") then delete XMAKEASSOC.OBJ.*
|
||||
$ cc /obj=XMAKEASSOC.OBJ /NOLIST/OBJECT=XMAKEASSOC.OBJ XMAKEASSOC.c
|
||||
$ if f$search("INSQUE.OBJ") then delete INSQUE.OBJ.*
|
||||
$ cc /obj=INSQUE.OBJ /NOLIST/OBJECT=INSQUE.OBJ INSQUE.c
|
||||
$ if f$search("LIBXMENU11.OLB") then delete LIBXMENU11.OLB.*
|
||||
$ library/insert/create LIBXMENU11.OLB Activate.obj, AddPane.obj, AddSel.obj, ChgPane.obj, ChgSel.obj, Create.obj, DelPane.obj, DelSel.obj, Destroy.obj, Error.obj, EvHand.obj, FindPane.obj, FindSel.obj, InsPane.obj, InsSel.obj, Internal.-
|
||||
obj, Locate.obj, Post.obj, Recomp.obj, SetAEQ.obj, SetFrz.obj, SetPane.obj, SetSel.obj, XDelAssoc.obj, XLookAssoc.obj, XCrAssoc.obj, XDestAssoc.obj, XMakeAssoc.obj
|
||||
$ if ("insque.obj" .nes. "") then library/insert LIBXMENU11.OLB insque.obj
|
||||
$ !
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
### descrip.mms - port of oldXMenu Makefile to VMS
|
||||
|
||||
## Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
|
||||
## 2008 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Richard Levitte
|
||||
|
||||
## This program is free software: you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation, either version 3 of the License, or
|
||||
## (at your option) any later version.
|
||||
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
### Code:
|
||||
|
||||
!# Uncomment following line if linking temacs complains about missing insque.
|
||||
EXTRA=insque.obj
|
||||
|
||||
AS = as
|
||||
CC = cc
|
||||
LD = link
|
||||
TAGS = etags
|
||||
RM = delete
|
||||
MV = rename
|
||||
AR = library/insert
|
||||
MAKE = mms
|
||||
STD_DEFINES =
|
||||
CDEBUGFLAGS = /debug/noopt
|
||||
RM_CMD = $(RM) *.BAK.*, *.obj.*
|
||||
|
||||
SRCS = Activate.c, -
|
||||
AddPane.c, -
|
||||
AddSel.c, -
|
||||
ChgPane.c, -
|
||||
ChgSel.c, -
|
||||
Create.c, -
|
||||
DelPane.c, -
|
||||
DelSel.c, -
|
||||
Destroy.c, -
|
||||
Error.c, -
|
||||
EvHand.c, -
|
||||
FindPane.c, -
|
||||
FindSel.c, -
|
||||
InsPane.c, -
|
||||
InsSel.c, -
|
||||
Internal.c, -
|
||||
Locate.c, -
|
||||
Post.c, -
|
||||
Recomp.c, -
|
||||
SetAEQ.c, -
|
||||
SetFrz.c, -
|
||||
SetPane.c, -
|
||||
SetSel.c, -
|
||||
XDelAssoc.c, XLookAssoc.c, XCrAssoc.c, XDestAssoc.c, XMakeAssoc.c
|
||||
|
||||
OBJS = Activate.obj, -
|
||||
AddPane.obj, -
|
||||
AddSel.obj, -
|
||||
ChgPane.obj, -
|
||||
ChgSel.obj, -
|
||||
Create.obj, -
|
||||
DelPane.obj, -
|
||||
DelSel.obj, -
|
||||
Destroy.obj, -
|
||||
Error.obj, -
|
||||
EvHand.obj, -
|
||||
FindPane.obj, -
|
||||
FindSel.obj, -
|
||||
InsPane.obj, -
|
||||
InsSel.obj, -
|
||||
Internal.obj, -
|
||||
Locate.obj, -
|
||||
Post.obj, -
|
||||
Recomp.obj, -
|
||||
SetAEQ.obj, -
|
||||
SetFrz.obj, -
|
||||
SetPane.obj, -
|
||||
SetSel.obj, -
|
||||
XDelAssoc.obj, XLookAssoc.obj, XCrAssoc.obj, XDestAssoc.obj, -
|
||||
XMakeAssoc.obj
|
||||
|
||||
.c.obj :
|
||||
if f$search("$@") then $(RM) $@.*
|
||||
$(CC) /obj=$@ $(CFLAGS) $*.c
|
||||
|
||||
all :: libXMenu11.olb
|
||||
!
|
||||
|
||||
libXMenu11.olb : $(OBJS) $(EXTRA)
|
||||
if f$search("$@") then $(RM) $@.*
|
||||
$(AR)/create $@ $(OBJS)
|
||||
if ("$(EXTRA)" .nes. "") then $(AR) $@ $(EXTRA)
|
||||
#If running ranlib fails, probably there is none.
|
||||
#That's ok. So don't stop the build.
|
||||
|
||||
distclean : clean
|
||||
!
|
||||
|
||||
clean ::
|
||||
$(RM_CMD) \#* libXMenu11.a *.obj,
|
||||
tags ::
|
||||
$(TAGS) -t *.[ch]
|
||||
|
||||
|
|
@ -1,3 +1,42 @@
|
|||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* bitmaps/README:
|
||||
* xfns.c:
|
||||
* termcap.c:
|
||||
* term.c:
|
||||
* syswait.h:
|
||||
* systty.h:
|
||||
* systime.h:
|
||||
* syssignal.h:
|
||||
* sysdep.c:
|
||||
* process.h:
|
||||
* process.c:
|
||||
* print.c:
|
||||
* ndir.h:
|
||||
* lread.c:
|
||||
* keyboard.c:
|
||||
* getpagesize.h:
|
||||
* floatfns.c:
|
||||
* fileio.c:
|
||||
* emacs.c:
|
||||
* doc.c:
|
||||
* dispnew.c:
|
||||
* dired.c:
|
||||
* data.c:
|
||||
* callproc.c:
|
||||
* buffer.c:
|
||||
* README:
|
||||
* Makefile.in:
|
||||
* s/template.h:
|
||||
* s/msdos.h:
|
||||
* m/vax.h: Remove VMS support.
|
||||
* s/vms.h:
|
||||
* vlimit.h:
|
||||
* uaf.h:
|
||||
* temacs.opt:
|
||||
* param.h:
|
||||
* ioctl.h: Remove file.
|
||||
|
||||
2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* s/ms-w32.h (MULTI_KBOARD): Remove.
|
||||
|
|
|
|||
|
|
@ -622,12 +622,6 @@ otherobj= $(termcapobj) lastfile.o $(mallocobj) $(widgetobj) $(LIBOBJS)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
#define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc
|
||||
#else
|
||||
#define VMS_SUPPORT
|
||||
#endif
|
||||
|
||||
#ifdef MSDOS
|
||||
#define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
|
||||
${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
|
||||
|
|
@ -762,7 +756,6 @@ lisp= \
|
|||
${lispsource}ediff-hook.elc \
|
||||
${lispsource}epa-hook.elc \
|
||||
TOOLTIP_SUPPORT \
|
||||
VMS_SUPPORT \
|
||||
MSDOS_SUPPORT \
|
||||
WINNT_SUPPORT \
|
||||
WINDOW_SUPPORT \
|
||||
|
|
@ -864,7 +857,6 @@ shortlisp= \
|
|||
for the sake of systems which can''t handle large ones. */
|
||||
SOME_MACHINE_LISP = ../lisp/mouse.elc \
|
||||
../lisp/select.elc ../lisp/scroll-bar.elc \
|
||||
VMS_SUPPORT \
|
||||
../lisp/ls-lisp.elc ../lisp/dos-fns.elc \
|
||||
../lisp/w32-fns.elc ../lisp/dos-w32.elc \
|
||||
../lisp/disp-table.elc ../lisp/dos-vars.elc \
|
||||
|
|
|
|||
17
src/README
17
src/README
|
|
@ -5,8 +5,7 @@ See the end of the file for license conditions.
|
|||
|
||||
This directory contains the source files for the C component of GNU Emacs.
|
||||
Nothing in this directory is needed for using Emacs once it is built
|
||||
and installed, if the dumped Emacs (on Unix systems) or the Emacs
|
||||
executable and map files (on VMS systems) are copied elsewhere.
|
||||
and installed, if the dumped Emacs (on Unix systems) is copied elsewhere.
|
||||
|
||||
See the files ../README and then ../INSTALL for installation instructions.
|
||||
|
||||
|
|
@ -18,20 +17,6 @@ controls the compilation of Emacs. Most of this should work
|
|||
transparently to the user; you should only need to run `../configure',
|
||||
and then type `make'.
|
||||
|
||||
See the file VMSBUILD in this directory for instructions on compiling,
|
||||
linking and building Emacs on VMS.
|
||||
|
||||
The files `*.com' and `temacs.opt' are used on VMS only.
|
||||
The files `vlimit.h', `ioclt.h' and `param.h' are stubs to
|
||||
allow compilation on VMS with the minimum amount of #ifdefs.
|
||||
|
||||
`uaf.h' contains VMS uaf structure definitions. This is only needed if
|
||||
you define READ_SYSUAF. This should only be done for single-user
|
||||
systems where you are not overly concerned with security, since it
|
||||
either requires that you install Emacs with SYSPRV or make SYSUAF.DAT
|
||||
world readable. Otherwise, Emacs can determine information about the
|
||||
current user, but no one else.
|
||||
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
This directory contains bitmap files that Emacs uses from
|
||||
/usr/include/X11/bitmaps. That directory doesn't seem to exist under
|
||||
VMS.
|
||||
/usr/include/X11/bitmaps.
|
||||
|
||||
|
||||
COPYRIGHT AND LICENSE INFORMATION
|
||||
|
|
|
|||
|
|
@ -5312,7 +5312,6 @@ init_buffer ()
|
|||
if (!pwd)
|
||||
fatal ("`get_current_dir_name' failed: %s\n", strerror (errno));
|
||||
|
||||
#ifndef VMS
|
||||
/* Maybe this should really use some standard subroutine
|
||||
whose definition is filename syntax dependent. */
|
||||
len = strlen (pwd);
|
||||
|
|
@ -5323,7 +5322,6 @@ init_buffer ()
|
|||
pwd[len] = DIRECTORY_SEP;
|
||||
pwd[len + 1] = '\0';
|
||||
}
|
||||
#endif /* not VMS */
|
||||
|
||||
current_buffer->directory = make_unibyte_string (pwd, strlen (pwd));
|
||||
if (! NILP (buffer_defaults.enable_multibyte_characters))
|
||||
|
|
|
|||
|
|
@ -90,13 +90,9 @@ extern int errno;
|
|||
#include "msdos.h"
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
extern noshare char **environ;
|
||||
#else
|
||||
#ifndef USE_CRT_DLL
|
||||
extern char **environ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SETPGID
|
||||
#if !defined (USG) || defined (BSD_PGRPS)
|
||||
|
|
@ -142,8 +138,6 @@ static int call_process_exited;
|
|||
|
||||
EXFUN (Fgetenv_internal, 2);
|
||||
|
||||
#ifndef VMS /* VMS version is in vmsproc.c. */
|
||||
|
||||
static Lisp_Object
|
||||
call_process_kill (fdpid)
|
||||
Lisp_Object fdpid;
|
||||
|
|
@ -843,7 +837,6 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
|
|||
Vlocale_coding_system, 0);
|
||||
return make_number (synch_process_retcode);
|
||||
}
|
||||
#endif
|
||||
|
||||
static Lisp_Object
|
||||
delete_temp_file (name)
|
||||
|
|
@ -999,8 +992,6 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
|
|||
RETURN_UNGCPRO (unbind_to (count, Fcall_process (nargs, args)));
|
||||
}
|
||||
|
||||
#ifndef VMS /* VMS version is in vmsproc.c. */
|
||||
|
||||
static int relocate_fd ();
|
||||
|
||||
static char **
|
||||
|
|
@ -1448,7 +1439,6 @@ egetenv (var)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif /* not VMS */
|
||||
|
||||
/* This is run before init_cmdargs. */
|
||||
|
||||
|
|
@ -1551,16 +1541,9 @@ init_callproc ()
|
|||
dir_warning ("Warning: arch-independent data dir (%s) does not exist.\n",
|
||||
Vdata_directory);
|
||||
|
||||
#ifdef VMS
|
||||
Vshell_file_name = build_string ("*dcl*");
|
||||
#else
|
||||
sh = (char *) getenv ("SHELL");
|
||||
Vshell_file_name = build_string (sh ? sh : "/bin/sh");
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
Vtemp_file_name_pattern = build_string ("tmp:emacsXXXXXX.");
|
||||
#else
|
||||
if (getenv ("TMPDIR"))
|
||||
{
|
||||
char *dir = getenv ("TMPDIR");
|
||||
|
|
@ -1570,7 +1553,6 @@ init_callproc ()
|
|||
}
|
||||
else
|
||||
Vtemp_file_name_pattern = build_string ("/tmp/emacsXXXXXX");
|
||||
#endif
|
||||
|
||||
#ifdef DOS_NT
|
||||
Vshared_game_score_directory = Qnil;
|
||||
|
|
@ -1686,10 +1668,8 @@ use.
|
|||
See `setenv' and `getenv'. */);
|
||||
Vprocess_environment = Qnil;
|
||||
|
||||
#ifndef VMS
|
||||
defsubr (&Scall_process);
|
||||
defsubr (&Sgetenv_internal);
|
||||
#endif
|
||||
defsubr (&Scall_process_region);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3271,10 +3271,6 @@ arith_error (signo)
|
|||
must reestablish each time */
|
||||
signal (signo, arith_error);
|
||||
#endif /* USG */
|
||||
#ifdef VMS
|
||||
/* VMS systems are like USG. */
|
||||
signal (signo, arith_error);
|
||||
#endif /* VMS */
|
||||
sigsetmask (SIGEMPTYMASK);
|
||||
|
||||
SIGNAL_THREAD_CHECK (signo);
|
||||
|
|
|
|||
84
src/dired.c
84
src/dired.c
|
|
@ -27,18 +27,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#ifdef HAVE_PWD_H
|
||||
#include <pwd.h>
|
||||
#endif
|
||||
#ifndef VMS
|
||||
#include <grp.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef VMS
|
||||
#include <string.h>
|
||||
#include <rms.h>
|
||||
#include <rmsdef.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
|
@ -62,15 +54,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
|
||||
#else /* not SYSV_SYSTEM_DIR */
|
||||
|
||||
#ifdef NONSYSTEM_DIR_LIBRARY
|
||||
#include "ndir.h"
|
||||
#else /* not NONSYSTEM_DIR_LIBRARY */
|
||||
#ifdef MSDOS
|
||||
#include <dirent.h>
|
||||
#else
|
||||
#include <sys/dir.h>
|
||||
#endif
|
||||
#endif /* not NONSYSTEM_DIR_LIBRARY */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
|
|
@ -174,10 +162,6 @@ directory_files_internal (directory, full, match, nosort, attrs, id_format)
|
|||
compile_pattern to do the work for us. */
|
||||
/* Pass 1 for the MULTIBYTE arg
|
||||
because we do make multibyte strings if the contents warrant. */
|
||||
#ifdef VMS
|
||||
bufp = compile_pattern (match, 0,
|
||||
buffer_defaults.downcase_table, 0, 1);
|
||||
#else /* !VMS */
|
||||
# ifdef WINDOWSNT
|
||||
/* Windows users want case-insensitive wildcards. */
|
||||
bufp = compile_pattern (match, 0,
|
||||
|
|
@ -185,7 +169,6 @@ directory_files_internal (directory, full, match, nosort, attrs, id_format)
|
|||
# else /* !WINDOWSNT */
|
||||
bufp = compile_pattern (match, 0, Qnil, 0, 1);
|
||||
# endif /* !WINDOWSNT */
|
||||
#endif /* !VMS */
|
||||
}
|
||||
|
||||
/* Note: ENCODE_FILE and DECODE_FILE can GC because they can run
|
||||
|
|
@ -215,11 +198,9 @@ directory_files_internal (directory, full, match, nosort, attrs, id_format)
|
|||
re_match_object = Qt;
|
||||
|
||||
/* Decide whether we need to add a directory separator. */
|
||||
#ifndef VMS
|
||||
if (directory_nbytes == 0
|
||||
|| !IS_ANY_SEP (SREF (directory, directory_nbytes - 1)))
|
||||
needsep = 1;
|
||||
#endif /* not VMS */
|
||||
|
||||
/* Loop reading blocks until EOF or error. */
|
||||
for (;;)
|
||||
|
|
@ -483,21 +464,7 @@ file_name_completion (file, dirname, all_flag, ver_flag, predicate)
|
|||
|
||||
elt = Qnil;
|
||||
|
||||
#ifdef VMS
|
||||
extern DIRENTRY * readdirver ();
|
||||
|
||||
DIRENTRY *((* readfunc) ());
|
||||
|
||||
/* Filename completion on VMS ignores case, since VMS filesys does. */
|
||||
specbind (Qcompletion_ignore_case, Qt);
|
||||
|
||||
readfunc = readdir;
|
||||
if (ver_flag)
|
||||
readfunc = readdirver;
|
||||
file = Fupcase (file);
|
||||
#else /* not VMS */
|
||||
CHECK_STRING (file);
|
||||
#endif /* not VMS */
|
||||
|
||||
#ifdef FILE_SYSTEM_CASE
|
||||
file = FILE_SYSTEM_CASE (file);
|
||||
|
|
@ -535,9 +502,6 @@ file_name_completion (file, dirname, all_flag, ver_flag, predicate)
|
|||
int len;
|
||||
int canexclude = 0;
|
||||
|
||||
#ifdef VMS
|
||||
dp = (*readfunc) (d);
|
||||
#else
|
||||
errno = 0;
|
||||
dp = readdir (d);
|
||||
if (dp == NULL && (0
|
||||
|
|
@ -549,7 +513,6 @@ file_name_completion (file, dirname, all_flag, ver_flag, predicate)
|
|||
# endif
|
||||
))
|
||||
{ QUIT; continue; }
|
||||
#endif
|
||||
|
||||
if (!dp) break;
|
||||
|
||||
|
|
@ -830,10 +793,8 @@ file_name_completion_stat (dirname, dp, st_addr)
|
|||
#endif /* MSDOS */
|
||||
|
||||
bcopy (SDATA (dirname), fullname, pos);
|
||||
#ifndef VMS
|
||||
if (!IS_DIRECTORY_SEP (fullname[pos - 1]))
|
||||
fullname[pos++] = DIRECTORY_SEP;
|
||||
#endif
|
||||
|
||||
bcopy (dp->d_name, fullname + pos, len);
|
||||
fullname[pos + len] = 0;
|
||||
|
|
@ -856,47 +817,6 @@ file_name_completion_stat (dirname, dp, st_addr)
|
|||
#endif /* S_IFLNK */
|
||||
}
|
||||
|
||||
#ifdef VMS
|
||||
|
||||
DEFUN ("file-name-all-versions", Ffile_name_all_versions,
|
||||
Sfile_name_all_versions, 2, 2, 0,
|
||||
doc: /* Return a list of all versions of file name FILE in directory DIRECTORY. */)
|
||||
(file, directory)
|
||||
Lisp_Object file, directory;
|
||||
{
|
||||
return file_name_completion (file, directory, 1, 1, Qnil);
|
||||
}
|
||||
|
||||
DEFUN ("file-version-limit", Ffile_version_limit, Sfile_version_limit, 1, 1, 0,
|
||||
doc: /* Return the maximum number of versions allowed for FILE.
|
||||
Returns nil if the file cannot be opened or if there is no version limit. */)
|
||||
(filename)
|
||||
Lisp_Object filename;
|
||||
{
|
||||
Lisp_Object retval;
|
||||
struct FAB fab;
|
||||
struct RAB rab;
|
||||
struct XABFHC xabfhc;
|
||||
int status;
|
||||
|
||||
filename = Fexpand_file_name (filename, Qnil);
|
||||
fab = cc$rms_fab;
|
||||
xabfhc = cc$rms_xabfhc;
|
||||
fab.fab$l_fna = SDATA (filename);
|
||||
fab.fab$b_fns = strlen (fab.fab$l_fna);
|
||||
fab.fab$l_xab = (char *) &xabfhc;
|
||||
status = sys$open (&fab, 0, 0);
|
||||
if (status != RMS$_NORMAL) /* Probably non-existent file */
|
||||
return Qnil;
|
||||
sys$close (&fab, 0, 0);
|
||||
if (xabfhc.xab$w_verlimit == 32767)
|
||||
return Qnil; /* No version limit */
|
||||
else
|
||||
return make_number (xabfhc.xab$w_verlimit);
|
||||
}
|
||||
|
||||
#endif /* VMS */
|
||||
|
||||
Lisp_Object
|
||||
make_time (time)
|
||||
time_t time;
|
||||
|
|
@ -1132,10 +1052,6 @@ syms_of_dired ()
|
|||
defsubr (&Sdirectory_files);
|
||||
defsubr (&Sdirectory_files_and_attributes);
|
||||
defsubr (&Sfile_name_completion);
|
||||
#ifdef VMS
|
||||
defsubr (&Sfile_name_all_versions);
|
||||
defsubr (&Sfile_version_limit);
|
||||
#endif /* VMS */
|
||||
defsubr (&Sfile_name_all_completions);
|
||||
defsubr (&Sfile_attributes);
|
||||
defsubr (&Sfile_attributes_lessp);
|
||||
|
|
|
|||
|
|
@ -6836,12 +6836,7 @@ init_display ()
|
|||
if (! inhibit_window_system && ! display_arg)
|
||||
{
|
||||
char *display;
|
||||
#ifdef VMS
|
||||
display = getenv ("DECW$DISPLAY");
|
||||
#else
|
||||
display = getenv ("DISPLAY");
|
||||
#endif
|
||||
|
||||
display_arg = (display != 0 && *display != 0);
|
||||
|
||||
if (display_arg && !x_display_ok (display))
|
||||
|
|
@ -6912,40 +6907,15 @@ init_display ()
|
|||
#endif
|
||||
if (!terminal_type)
|
||||
{
|
||||
#ifdef VMS
|
||||
fprintf (stderr, "Please specify your terminal type.\n\
|
||||
For types defined in VMS, use set term /device=TYPE.\n\
|
||||
For types not defined in VMS, use define emacs_term \"TYPE\".\n\
|
||||
\(The quotation marks are necessary since terminal types are lower case.)\n");
|
||||
#else /* not VMS */
|
||||
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
if (! inhibit_window_system)
|
||||
fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see `tset').\n");
|
||||
else
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
fprintf (stderr, "Please set the environment variable TERM; see `tset'.\n");
|
||||
#endif /* not VMS */
|
||||
exit (1);
|
||||
}
|
||||
|
||||
#ifdef VMS
|
||||
/* VMS DCL tends to up-case things, so down-case term type.
|
||||
Hardly any uppercase letters in terminal types; should be none. */
|
||||
{
|
||||
char *new = (char *) xmalloc (strlen (terminal_type) + 1);
|
||||
char *p;
|
||||
|
||||
strcpy (new, terminal_type);
|
||||
|
||||
for (p = new; *p; p++)
|
||||
if (isupper (*p))
|
||||
*p = tolower (*p);
|
||||
|
||||
terminal_type = new;
|
||||
}
|
||||
#endif /* VMS */
|
||||
|
||||
{
|
||||
struct terminal *t;
|
||||
struct frame *f = XFRAME (selected_frame);
|
||||
|
|
|
|||
25
src/doc.c
25
src/doc.c
|
|
@ -58,28 +58,6 @@ extern Lisp_Object Voverriding_local_map;
|
|||
|
||||
extern Lisp_Object Qremap;
|
||||
|
||||
/* For VMS versions with limited file name syntax,
|
||||
convert the name to something VMS will allow. */
|
||||
static void
|
||||
munge_doc_file_name (name)
|
||||
char *name;
|
||||
{
|
||||
#ifdef VMS
|
||||
#ifndef NO_HYPHENS_IN_FILENAMES
|
||||
extern char * sys_translate_unix (char *ufile);
|
||||
strcpy (name, sys_translate_unix (name));
|
||||
#else /* NO_HYPHENS_IN_FILENAMES */
|
||||
char *p = name;
|
||||
while (*p)
|
||||
{
|
||||
if (*p == '-')
|
||||
*p = '_';
|
||||
p++;
|
||||
}
|
||||
#endif /* NO_HYPHENS_IN_FILENAMES */
|
||||
#endif /* VMS */
|
||||
}
|
||||
|
||||
/* Buffer used for reading from documentation file. */
|
||||
static char *get_doc_string_buffer;
|
||||
static int get_doc_string_buffer_size;
|
||||
|
|
@ -169,7 +147,6 @@ get_doc_string (filepos, unibyte, definition)
|
|||
name = (char *) alloca (minsize + SCHARS (file) + 8);
|
||||
strcpy (name, SDATA (Vdoc_directory));
|
||||
strcat (name, SDATA (file));
|
||||
munge_doc_file_name (name);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -186,7 +163,6 @@ get_doc_string (filepos, unibyte, definition)
|
|||
So check in ../etc. */
|
||||
strcpy (name, "../etc/");
|
||||
strcat (name, SDATA (file));
|
||||
munge_doc_file_name (name);
|
||||
|
||||
fd = emacs_open (name, O_RDONLY, 0);
|
||||
}
|
||||
|
|
@ -618,7 +594,6 @@ the same file name is found in the `doc-directory'. */)
|
|||
strcpy (name, SDATA (Vdoc_directory));
|
||||
}
|
||||
strcat (name, SDATA (filename)); /*** Add this line ***/
|
||||
munge_doc_file_name (name);
|
||||
|
||||
/* Vbuild_files is nil when temacs is run, and non-nil after that. */
|
||||
if (NILP (Vbuild_files))
|
||||
|
|
|
|||
84
src/emacs.c
84
src/emacs.c
|
|
@ -27,10 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include <sys/types.h>
|
||||
#include <sys/file.h>
|
||||
|
||||
#ifdef VMS
|
||||
#include <ssdef.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
|
@ -378,9 +374,6 @@ fatal_error_signal (sig)
|
|||
shut_down_emacs (sig, 0, Qnil);
|
||||
}
|
||||
|
||||
#ifdef VMS
|
||||
LIB$STOP (SS$_ABORT);
|
||||
#else
|
||||
/* Signal the same code; this time it will really be fatal.
|
||||
Remember that since we're in a signal handler, the signal we're
|
||||
going to send is probably blocked, so we have to unblock it if we
|
||||
|
|
@ -393,7 +386,6 @@ fatal_error_signal (sig)
|
|||
fatal_error_signal_hook ();
|
||||
|
||||
kill (getpid (), fatal_error_code);
|
||||
#endif /* not VMS */
|
||||
}
|
||||
|
||||
#ifdef SIGDANGER
|
||||
|
|
@ -591,14 +583,6 @@ DEFUN ("invocation-directory", Finvocation_directory, Sinvocation_directory,
|
|||
}
|
||||
|
||||
|
||||
#ifdef VMS
|
||||
#ifdef LINK_CRTL_SHARE
|
||||
#ifdef SHARABLE_LIB_BUG
|
||||
extern noshare char **environ;
|
||||
#endif /* SHARABLE_LIB_BUG */
|
||||
#endif /* LINK_CRTL_SHARE */
|
||||
#endif /* VMS */
|
||||
|
||||
#ifdef HAVE_TZSET
|
||||
/* A valid but unlikely value for the TZ environment value.
|
||||
It is OK (though a bit slower) if the user actually chooses this value. */
|
||||
|
|
@ -785,16 +769,7 @@ bug_reporting_address ()
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
main (argc, argv
|
||||
#ifdef VMS
|
||||
, envp
|
||||
#endif
|
||||
)
|
||||
int argc;
|
||||
char **argv;
|
||||
#ifdef VMS
|
||||
char **envp;
|
||||
#endif
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
#if GC_MARK_STACK
|
||||
Lisp_Object dummy;
|
||||
|
|
@ -921,29 +896,6 @@ main (argc, argv
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
/* If -map specified, map the data file in. */
|
||||
{
|
||||
char *file;
|
||||
if (argmatch (argv, argc, "-map", "--map-data", 3, &file, &skip_args))
|
||||
mapin_data (file);
|
||||
}
|
||||
|
||||
#ifdef LINK_CRTL_SHARE
|
||||
#ifdef SHARABLE_LIB_BUG
|
||||
/* Bletcherous shared libraries! */
|
||||
if (!stdin)
|
||||
stdin = fdopen (0, "r");
|
||||
if (!stdout)
|
||||
stdout = fdopen (1, "w");
|
||||
if (!stderr)
|
||||
stderr = fdopen (2, "w");
|
||||
if (!environ)
|
||||
environ = envp;
|
||||
#endif /* SHARABLE_LIB_BUG */
|
||||
#endif /* LINK_CRTL_SHARE */
|
||||
#endif /* VMS */
|
||||
|
||||
#if defined (HAVE_SETRLIMIT) && defined (RLIMIT_STACK)
|
||||
/* Extend the stack space available.
|
||||
Don't do that if dumping, since some systems (e.g. DJGPP)
|
||||
|
|
@ -1565,9 +1517,6 @@ main (argc, argv
|
|||
#endif
|
||||
syms_of_textprop ();
|
||||
syms_of_composite ();
|
||||
#ifdef VMS
|
||||
syms_of_vmsproc ();
|
||||
#endif /* VMS */
|
||||
#ifdef WINDOWSNT
|
||||
syms_of_ntproc ();
|
||||
#endif /* WINDOWSNT */
|
||||
|
|
@ -1644,16 +1593,8 @@ main (argc, argv
|
|||
init_editfns (); /* init_process uses Voperating_system_release. */
|
||||
init_process (); /* init_display uses add_keyboard_wait_descriptor. */
|
||||
init_keyboard (); /* This too must precede init_sys_modes. */
|
||||
#ifdef VMS
|
||||
init_vmsproc (); /* And this too. */
|
||||
#endif /* VMS */
|
||||
if (!noninteractive)
|
||||
{
|
||||
#ifdef VMS
|
||||
init_vms_input ();/* init_display calls get_tty_size, that needs this. */
|
||||
#endif /* VMS */
|
||||
init_display (); /* Determine terminal type. Calls init_sys_modes. */
|
||||
}
|
||||
init_display (); /* Determine terminal type. Calls init_sys_modes. */
|
||||
init_fns ();
|
||||
init_xdisp ();
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
|
|
@ -1662,9 +1603,6 @@ main (argc, argv
|
|||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
init_macros ();
|
||||
init_floatfns ();
|
||||
#ifdef VMS
|
||||
init_vmsfns ();
|
||||
#endif /* VMS */
|
||||
#ifdef HAVE_SOUND
|
||||
init_sound ();
|
||||
#endif
|
||||
|
|
@ -1769,9 +1707,6 @@ struct standard_args standard_args[] =
|
|||
{ "-version", "--version", 150, 0 },
|
||||
#ifdef HAVE_SHM
|
||||
{ "-nl", "--no-shared-memory", 140, 0 },
|
||||
#endif
|
||||
#ifdef VMS
|
||||
{ "-map", "--map-data", 130, 0 },
|
||||
#endif
|
||||
{ "-t", "--terminal", 120, 1 },
|
||||
{ "-nw", "--no-window-system", 110, 0 },
|
||||
|
|
@ -2051,12 +1986,6 @@ all of which are called before Emacs is actually killed. */)
|
|||
|
||||
UNGCPRO;
|
||||
|
||||
/* Is it really necessary to do this deassign
|
||||
when we are going to exit anyway? */
|
||||
/* #ifdef VMS
|
||||
stop_vms_input ();
|
||||
#endif */
|
||||
|
||||
shut_down_emacs (0, 0, STRINGP (arg) ? arg : Qnil);
|
||||
|
||||
/* If we have an auto-save list file,
|
||||
|
|
@ -2124,10 +2053,6 @@ shut_down_emacs (sig, no_x, stuff)
|
|||
unlock_all_files ();
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
kill_vms_processes ();
|
||||
#endif
|
||||
|
||||
#if 0 /* This triggers a bug in XCloseDisplay and is not needed. */
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
/* It's not safe to call intern here. Maybe we are crashing. */
|
||||
|
|
@ -2264,9 +2189,6 @@ You must run Emacs in batch mode in order to dump it. */)
|
|||
#endif
|
||||
|
||||
fflush (stdout);
|
||||
#ifdef VMS
|
||||
mapout_data (SDATA (filename));
|
||||
#else
|
||||
/* Tell malloc where start of impure now is. */
|
||||
/* Also arrange for warnings when nearly out of space. */
|
||||
#ifndef SYSTEM_MALLOC
|
||||
|
|
@ -2297,7 +2219,6 @@ You must run Emacs in batch mode in order to dump it. */)
|
|||
#ifdef DOUG_LEA_MALLOC
|
||||
free (malloc_state_ptr);
|
||||
#endif
|
||||
#endif /* not VMS */
|
||||
|
||||
Vpurify_flag = tem;
|
||||
|
||||
|
|
@ -2455,7 +2376,6 @@ Special values:
|
|||
`ms-dos' compiled as an MS-DOS application.
|
||||
`windows-nt' compiled as a native W32 application.
|
||||
`cygwin' compiled using the Cygwin library.
|
||||
`vax-vms' compiled for a (Open)VMS system.
|
||||
Anything else indicates some sort of Unix system. */);
|
||||
Vsystem_type = intern (SYSTEM_TYPE);
|
||||
|
||||
|
|
|
|||
723
src/fileio.c
723
src/fileio.c
File diff suppressed because it is too large
Load diff
|
|
@ -101,16 +101,6 @@ extern int errno;
|
|||
#endif
|
||||
#endif
|
||||
|
||||
/* Avoid traps on VMS from sinh and cosh.
|
||||
All the other functions set errno instead. */
|
||||
|
||||
#ifdef VMS
|
||||
#undef cosh
|
||||
#undef sinh
|
||||
#define cosh(x) ((exp(x)+exp(-x))*0.5)
|
||||
#define sinh(x) ((exp(x)-exp(-x))*0.5)
|
||||
#endif /* VMS */
|
||||
|
||||
#ifdef FLOAT_CATCH_SIGILL
|
||||
static SIGTYPE float_error ();
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -19,10 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
|
||||
#ifndef HAVE_GETPAGESIZE
|
||||
|
||||
# ifdef VMS
|
||||
# define getpagesize() 512
|
||||
# endif
|
||||
|
||||
# ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
# endif
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
/* Emacs ioctl emulation for VMS */
|
||||
|
||||
/* arch-tag: 48595931-af6e-407d-95c7-484059087767
|
||||
(do not change this comment) */
|
||||
|
|
@ -51,9 +51,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include "msdos.h"
|
||||
#include <time.h>
|
||||
#else /* not MSDOS */
|
||||
#ifndef VMS
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
#endif /* not MSDOS */
|
||||
|
||||
#include "syssignal.h"
|
||||
|
|
@ -4015,9 +4013,6 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
|
|||
/* One way or another, wait until input is available; then, if
|
||||
interrupt handlers have not read it, read it now. */
|
||||
|
||||
#ifdef OLDVMS
|
||||
wait_for_kbd_input ();
|
||||
#else
|
||||
/* Note SIGIO has been undef'd if FIONREAD is missing. */
|
||||
#ifdef SIGIO
|
||||
gobble_input (0);
|
||||
|
|
@ -4048,7 +4043,6 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
|
|||
if (!interrupt_input && kbd_fetch_ptr == kbd_store_ptr)
|
||||
/* Pass 1 for EXPECT since we just waited to have input. */
|
||||
read_avail_input (1);
|
||||
#endif /* not VMS */
|
||||
}
|
||||
|
||||
if (CONSP (Vunread_command_events))
|
||||
|
|
@ -6907,7 +6901,6 @@ gobble_input (expected)
|
|||
xd_read_queued_messages ();
|
||||
#endif /* HAVE_DBUS */
|
||||
|
||||
#ifndef VMS
|
||||
#ifdef SIGIO
|
||||
if (interrupt_input)
|
||||
{
|
||||
|
|
@ -6929,7 +6922,6 @@ gobble_input (expected)
|
|||
sigsetmask (mask);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
read_avail_input (expected);
|
||||
#endif
|
||||
|
|
@ -6980,17 +6972,11 @@ record_asynch_buffer_change ()
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef VMS
|
||||
|
||||
/* Read any terminal input already buffered up by the system
|
||||
into the kbd_buffer, but do not wait.
|
||||
|
||||
EXPECTED should be nonzero if the caller knows there is some input.
|
||||
|
||||
Except on VMS, all input is read by this function.
|
||||
If interrupt_input is nonzero, this function MUST be called
|
||||
only when SIGIO is blocked.
|
||||
|
||||
Returns the number of keyboard chars read, or -1 meaning
|
||||
this is a bad time to try to read input. */
|
||||
|
||||
|
|
@ -7238,7 +7224,6 @@ tty_read_avail_input (struct terminal *terminal,
|
|||
|
||||
return nread;
|
||||
}
|
||||
#endif /* not VMS */
|
||||
|
||||
void
|
||||
handle_async_input ()
|
||||
|
|
@ -11011,19 +10996,11 @@ handle_interrupt ()
|
|||
*/
|
||||
sys_suspend ();
|
||||
#else
|
||||
#ifdef VMS
|
||||
if (sys_suspend () == -1)
|
||||
{
|
||||
printf ("Not running as a subprocess;\n");
|
||||
printf ("you can continue or abort.\n");
|
||||
}
|
||||
#else /* not VMS */
|
||||
/* Perhaps should really fork an inferior shell?
|
||||
But that would not provide any way to get back
|
||||
to the original shell, ever. */
|
||||
printf ("No support for stopping a process on this operating system;\n");
|
||||
printf ("you can continue or abort.\n");
|
||||
#endif /* not VMS */
|
||||
#endif /* not SIGTSTP */
|
||||
#ifdef MSDOS
|
||||
/* We must remain inside the screen area when the internal terminal
|
||||
|
|
@ -11062,11 +11039,7 @@ handle_interrupt ()
|
|||
#ifdef MSDOS
|
||||
printf ("\r\nAbort? (y or n) ");
|
||||
#else /* not MSDOS */
|
||||
#ifdef VMS
|
||||
printf ("Abort (and enter debugger)? (y or n) ");
|
||||
#else /* not VMS */
|
||||
printf ("Abort (and dump core)? (y or n) ");
|
||||
#endif /* not VMS */
|
||||
#endif /* not MSDOS */
|
||||
fflush (stdout);
|
||||
if (((c = getchar ()) & ~040) == 'Y')
|
||||
|
|
@ -11169,11 +11142,6 @@ See also `current-input-mode'. */)
|
|||
new_interrupt_input = 0;
|
||||
#endif /* not SIGIO */
|
||||
|
||||
/* Our VMS input only works by interrupts, as of now. */
|
||||
#ifdef VMS
|
||||
new_interrupt_input = 1;
|
||||
#endif
|
||||
|
||||
if (new_interrupt_input != interrupt_input)
|
||||
{
|
||||
#ifdef POLL_FOR_INPUT
|
||||
|
|
@ -11589,11 +11557,6 @@ init_keyboard ()
|
|||
interrupt_input = 0;
|
||||
#endif
|
||||
|
||||
/* Our VMS input only works by interrupts, as of now. */
|
||||
#ifdef VMS
|
||||
interrupt_input = 1;
|
||||
#endif
|
||||
|
||||
sigfree ();
|
||||
dribble = 0;
|
||||
|
||||
|
|
|
|||
10
src/lread.c
10
src/lread.c
|
|
@ -1342,11 +1342,7 @@ complete_filename_p (pathname)
|
|||
register const unsigned char *s = SDATA (pathname);
|
||||
return (IS_DIRECTORY_SEP (s[0])
|
||||
|| (SCHARS (pathname) > 2
|
||||
&& IS_DEVICE_SEP (s[1]) && IS_DIRECTORY_SEP (s[2]))
|
||||
#ifdef VMS
|
||||
|| index (s, ':')
|
||||
#endif /* VMS */
|
||||
);
|
||||
&& IS_DEVICE_SEP (s[1]) && IS_DIRECTORY_SEP (s[2])));
|
||||
}
|
||||
|
||||
DEFUN ("locate-file-internal", Flocate_file_internal, Slocate_file_internal, 2, 4, 0,
|
||||
|
|
@ -3719,9 +3715,7 @@ oblookup (obarray, ptr, size, size_byte)
|
|||
}
|
||||
/* This is sometimes needed in the middle of GC. */
|
||||
obsize &= ~ARRAY_MARK_FLAG;
|
||||
/* Combining next two lines breaks VMS C 2.3. */
|
||||
hash = hash_string (ptr, size_byte);
|
||||
hash %= obsize;
|
||||
hash = hash_string (ptr, size_byte) % obsize;
|
||||
bucket = XVECTOR (obarray)->contents[hash];
|
||||
oblookup_last_bucket_number = hash;
|
||||
if (EQ (bucket, make_number (0)))
|
||||
|
|
|
|||
17
src/m/vax.h
17
src/m/vax.h
|
|
@ -25,11 +25,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
NOTE-START
|
||||
The vax (-machine=vax) runs zillions of different operating systems.
|
||||
|
||||
Vax running VMS (-opsystem=vms)
|
||||
|
||||
18.36 believed to work. Addition of features is necessary to make
|
||||
this Emacs version more usable.
|
||||
|
||||
NOTE-END */
|
||||
|
||||
/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
|
||||
|
|
@ -57,18 +52,6 @@ NOTE-END */
|
|||
|
||||
#endif /* BSD_SYSTEM */
|
||||
|
||||
#ifdef VMS
|
||||
|
||||
/* Data type of load average, as read out of driver. */
|
||||
|
||||
#define LOAD_AVE_TYPE float
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
#endif /* VMS */
|
||||
|
||||
#ifdef BSD4_2
|
||||
#define HAVE_FTIME
|
||||
#endif
|
||||
|
|
|
|||
17
src/ndir.h
17
src/ndir.h
|
|
@ -7,30 +7,13 @@
|
|||
* copyright, constituting the only possible expression of the
|
||||
* algorithm in this format.
|
||||
*/
|
||||
#ifdef VMS
|
||||
#ifndef FAB$C_BID
|
||||
#include <fab.h>
|
||||
#endif
|
||||
#ifndef NAM$C_BID
|
||||
#include <nam.h>
|
||||
#endif
|
||||
#ifndef RMS$_SUC
|
||||
#include <rmsdef.h>
|
||||
#endif
|
||||
#include "vmsdir.h"
|
||||
#endif /* VMS */
|
||||
|
||||
#define DIRBLKSIZ 512 /* size of directory block */
|
||||
#ifdef VMS
|
||||
#define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */
|
||||
#define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */
|
||||
#else
|
||||
#ifdef WINDOWSNT
|
||||
#define MAXNAMLEN 255
|
||||
#else /* not WINDOWSNT */
|
||||
#define MAXNAMLEN 15 /* maximum filename length */
|
||||
#endif /* not WINDOWSNT */
|
||||
#endif /* VMS */
|
||||
/* NOTE: MAXNAMLEN must be one less than a multiple of 4 */
|
||||
|
||||
struct direct /* data from readdir() */
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
/* This is so that Emacs can run on VMS... */
|
||||
#define EXEC_PAGESIZE 512
|
||||
|
||||
/* arch-tag: a6daea28-33a6-4dd3-97d8-5ee1a12f09d3
|
||||
(do not change this comment) */
|
||||
39
src/print.c
39
src/print.c
|
|
@ -167,11 +167,6 @@ extern int noninteractive_need_newline;
|
|||
|
||||
extern int minibuffer_auto_raise;
|
||||
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
static int print_chars;
|
||||
static int max_print;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
|
||||
void print_interval ();
|
||||
|
||||
/* GDB resets this to zero on W32 to disable OutputDebugString calls. */
|
||||
|
|
@ -309,11 +304,6 @@ printchar (ch, fun)
|
|||
unsigned int ch;
|
||||
Lisp_Object fun;
|
||||
{
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
if (max_print)
|
||||
print_chars++;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
|
||||
if (!NILP (fun) && !EQ (fun, Qt))
|
||||
call1 (fun, make_number (ch));
|
||||
else
|
||||
|
|
@ -382,11 +372,6 @@ strout (ptr, size, size_byte, printcharfun, multibyte)
|
|||
bcopy (ptr, print_buffer + print_buffer_pos_byte, size_byte);
|
||||
print_buffer_pos += size;
|
||||
print_buffer_pos_byte += size_byte;
|
||||
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
if (max_print)
|
||||
print_chars += size;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
}
|
||||
else if (noninteractive && EQ (printcharfun, Qt))
|
||||
{
|
||||
|
|
@ -419,11 +404,6 @@ strout (ptr, size, size_byte, printcharfun, multibyte)
|
|||
insert_char (ch);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
if (max_print)
|
||||
print_chars += size;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -764,9 +744,6 @@ is used instead. */)
|
|||
{
|
||||
PRINTDECLARE;
|
||||
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
max_print = 0;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
if (NILP (printcharfun))
|
||||
printcharfun = Vstandard_output;
|
||||
PRINTPREPARE;
|
||||
|
|
@ -900,10 +877,6 @@ is used instead. */)
|
|||
PRINTDECLARE;
|
||||
struct gcpro gcpro1;
|
||||
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
print_chars = 0;
|
||||
max_print = MAX_PRINT_CHARS;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
if (NILP (printcharfun))
|
||||
printcharfun = Vstandard_output;
|
||||
GCPRO1 (object);
|
||||
|
|
@ -912,10 +885,6 @@ is used instead. */)
|
|||
print (object, printcharfun, 1);
|
||||
PRINTCHAR ('\n');
|
||||
PRINTFINISH;
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
max_print = 0;
|
||||
print_chars = 0;
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
UNGCPRO;
|
||||
return object;
|
||||
}
|
||||
|
|
@ -1614,14 +1583,6 @@ print_object (obj, printcharfun, escapeflag)
|
|||
|
||||
print_depth++;
|
||||
|
||||
#ifdef MAX_PRINT_CHARS
|
||||
if (max_print && print_chars > max_print)
|
||||
{
|
||||
PRINTCHAR ('\n');
|
||||
print_chars = 0;
|
||||
}
|
||||
#endif /* MAX_PRINT_CHARS */
|
||||
|
||||
switch (XTYPE (obj))
|
||||
{
|
||||
case Lisp_Int:
|
||||
|
|
|
|||
127
src/process.c
127
src/process.c
|
|
@ -159,11 +159,7 @@ extern Lisp_Object QCfilter;
|
|||
#endif /* HAVE_SOCKETS */
|
||||
|
||||
/* Define first descriptor number available for subprocesses. */
|
||||
#ifdef VMS
|
||||
#define FIRST_PROC_DESC 1
|
||||
#else /* Not VMS */
|
||||
#define FIRST_PROC_DESC 3
|
||||
#endif
|
||||
|
||||
/* Define SIGCHLD as an alias for SIGCLD. There are many conditionals
|
||||
testing SIGCHLD. */
|
||||
|
|
@ -192,9 +188,6 @@ extern void serial_configure (struct Lisp_Process *p, Lisp_Object contact);
|
|||
#ifndef USE_CRT_DLL
|
||||
extern int errno;
|
||||
#endif
|
||||
#ifdef VMS
|
||||
extern char *sys_errlist[];
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_H_ERRNO
|
||||
extern int h_errno;
|
||||
|
|
@ -1417,12 +1410,7 @@ list_processes_1 (query_only)
|
|||
{
|
||||
Lisp_Object tem;
|
||||
tem = Fcar (Fcdr (p->status));
|
||||
#ifdef VMS
|
||||
if (XINT (tem) < NSIG)
|
||||
write_string (sys_errlist [XINT (tem)], -1);
|
||||
else
|
||||
#endif
|
||||
Fprinc (symbol, Qnil);
|
||||
Fprinc (symbol, Qnil);
|
||||
}
|
||||
else if (NETCONN1_P (p) || SERIALCONN1_P (p))
|
||||
{
|
||||
|
|
@ -1587,12 +1575,7 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */)
|
|||
register Lisp_Object *args;
|
||||
{
|
||||
Lisp_Object buffer, name, program, proc, current_dir, tem;
|
||||
#ifdef VMS
|
||||
register unsigned char *new_argv;
|
||||
int len;
|
||||
#else
|
||||
register unsigned char **new_argv;
|
||||
#endif
|
||||
register int i;
|
||||
int count = SPECPDL_INDEX ();
|
||||
|
||||
|
|
@ -1709,28 +1692,6 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */)
|
|||
XPROCESS (proc)->encode_coding_system = val;
|
||||
}
|
||||
|
||||
#ifdef VMS
|
||||
/* Make a one member argv with all args concatenated
|
||||
together separated by a blank. */
|
||||
len = SBYTES (program) + 2;
|
||||
for (i = 3; i < nargs; i++)
|
||||
{
|
||||
tem = args[i];
|
||||
CHECK_STRING (tem);
|
||||
len += SBYTES (tem) + 1; /* count the blank */
|
||||
}
|
||||
new_argv = (unsigned char *) alloca (len);
|
||||
strcpy (new_argv, SDATA (program));
|
||||
for (i = 3; i < nargs; i++)
|
||||
{
|
||||
tem = args[i];
|
||||
CHECK_STRING (tem);
|
||||
strcat (new_argv, " ");
|
||||
strcat (new_argv, SDATA (tem));
|
||||
}
|
||||
/* Need to add code here to check for program existence on VMS */
|
||||
|
||||
#else /* not VMS */
|
||||
new_argv = (unsigned char **) alloca ((nargs - 1) * sizeof (char *));
|
||||
|
||||
/* If program file name is not absolute, search our path for it.
|
||||
|
|
@ -1782,7 +1743,6 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */)
|
|||
new_argv[i - 2] = SDATA (tem);
|
||||
}
|
||||
new_argv[i - 2] = 0;
|
||||
#endif /* not VMS */
|
||||
|
||||
XPROCESS (proc)->decoding_buf = make_uninit_string (0);
|
||||
XPROCESS (proc)->decoding_carryover = 0;
|
||||
|
|
@ -1841,7 +1801,6 @@ create_process_sigchld ()
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef VMS /* VMS version of this function is in vmsproc.c. */
|
||||
void
|
||||
create_process (process, new_argv, current_dir)
|
||||
Lisp_Object process;
|
||||
|
|
@ -2285,7 +2244,6 @@ create_process (process, new_argv, current_dir)
|
|||
if (pid < 0)
|
||||
report_file_error ("Doing vfork", Qnil);
|
||||
}
|
||||
#endif /* not VMS */
|
||||
|
||||
|
||||
#ifdef HAVE_SOCKETS
|
||||
|
|
@ -4098,19 +4056,9 @@ deactivate_process (proc)
|
|||
{
|
||||
/* Beware SIGCHLD hereabouts. */
|
||||
flush_pending_output (inchannel);
|
||||
#ifdef VMS
|
||||
{
|
||||
VMS_PROC_STUFF *get_vms_process_pointer (), *vs;
|
||||
sys$dassgn (outchannel);
|
||||
vs = get_vms_process_pointer (p->pid);
|
||||
if (vs)
|
||||
give_back_vms_process_stuff (vs);
|
||||
}
|
||||
#else
|
||||
emacs_close (inchannel);
|
||||
if (outchannel >= 0 && outchannel != inchannel)
|
||||
emacs_close (outchannel);
|
||||
#endif
|
||||
|
||||
p->infd = -1;
|
||||
p->outfd = -1;
|
||||
|
|
@ -5231,37 +5179,6 @@ read_process_output (proc, channel)
|
|||
int carryover = p->decoding_carryover;
|
||||
int readmax = 4096;
|
||||
|
||||
#ifdef VMS
|
||||
VMS_PROC_STUFF *vs, *get_vms_process_pointer();
|
||||
|
||||
vs = get_vms_process_pointer (p->pid);
|
||||
if (vs)
|
||||
{
|
||||
if (!vs->iosb[0])
|
||||
return (0); /* Really weird if it does this */
|
||||
if (!(vs->iosb[0] & 1))
|
||||
return -1; /* I/O error */
|
||||
}
|
||||
else
|
||||
error ("Could not get VMS process pointer");
|
||||
chars = vs->inputBuffer;
|
||||
nbytes = clean_vms_buffer (chars, vs->iosb[1]);
|
||||
if (nbytes <= 0)
|
||||
{
|
||||
start_vms_process_read (vs); /* Crank up the next read on the process */
|
||||
return 1; /* Nothing worth printing, say we got 1 */
|
||||
}
|
||||
if (carryover > 0)
|
||||
{
|
||||
/* The data carried over in the previous decoding (which are at
|
||||
the tail of decoding buffer) should be prepended to the new
|
||||
data read to decode all together. */
|
||||
chars = (char *) alloca (nbytes + carryover);
|
||||
bcopy (SDATA (p->decoding_buf), buf, carryover);
|
||||
bcopy (vs->inputBuffer, chars + carryover, nbytes);
|
||||
}
|
||||
#else /* not VMS */
|
||||
|
||||
chars = (char *) alloca (carryover + readmax);
|
||||
if (carryover)
|
||||
/* See the comment above. */
|
||||
|
|
@ -5318,7 +5235,6 @@ read_process_output (proc, channel)
|
|||
else
|
||||
nbytes = nbytes + 1;
|
||||
}
|
||||
#endif /* not VMS */
|
||||
|
||||
p->decoding_carryover = 0;
|
||||
|
||||
|
|
@ -5441,9 +5357,6 @@ read_process_output (proc, channel)
|
|||
if (waiting_for_user_input_p == -1)
|
||||
record_asynch_buffer_change ();
|
||||
|
||||
#ifdef VMS
|
||||
start_vms_process_read (vs);
|
||||
#endif
|
||||
unbind_to (count, Qnil);
|
||||
return nbytes;
|
||||
}
|
||||
|
|
@ -5566,9 +5479,6 @@ read_process_output (proc, channel)
|
|||
SET_PT_BOTH (opoint, opoint_byte);
|
||||
set_buffer_internal (old);
|
||||
}
|
||||
#ifdef VMS
|
||||
start_vms_process_read (vs);
|
||||
#endif
|
||||
return nbytes;
|
||||
}
|
||||
|
||||
|
|
@ -5620,10 +5530,6 @@ send_process (proc, buf, len, object)
|
|||
|
||||
GCPRO1 (object);
|
||||
|
||||
#ifdef VMS
|
||||
VMS_PROC_STUFF *vs, *get_vms_process_pointer();
|
||||
#endif /* VMS */
|
||||
|
||||
if (p->raw_status_new)
|
||||
update_status (p);
|
||||
if (! EQ (p->status, Qrun))
|
||||
|
|
@ -5704,14 +5610,6 @@ send_process (proc, buf, len, object)
|
|||
buf = SDATA (coding->dst_object);
|
||||
}
|
||||
|
||||
#ifdef VMS
|
||||
vs = get_vms_process_pointer (p->pid);
|
||||
if (vs == 0)
|
||||
error ("Could not find this process: %x", p->pid);
|
||||
else if (write_to_vms_process (vs, buf, len))
|
||||
;
|
||||
#else /* not VMS */
|
||||
|
||||
if (pty_max_bytes == 0)
|
||||
{
|
||||
#if defined (HAVE_FPATHCONF) && defined (_PC_MAX_CANON)
|
||||
|
|
@ -5873,23 +5771,16 @@ send_process (proc, buf, len, object)
|
|||
Fprocess_send_eof (proc);
|
||||
}
|
||||
}
|
||||
#endif /* not VMS */
|
||||
else
|
||||
{
|
||||
signal (SIGPIPE, old_sigpipe);
|
||||
#ifndef VMS
|
||||
proc = process_sent_to;
|
||||
p = XPROCESS (proc);
|
||||
#endif
|
||||
p->raw_status_new = 0;
|
||||
p->status = Fcons (Qexit, Fcons (make_number (256), Qnil));
|
||||
p->tick = ++process_tick;
|
||||
deactivate_process (proc);
|
||||
#ifdef VMS
|
||||
error ("Error writing to process %s; closed it", SDATA (p->name));
|
||||
#else
|
||||
error ("SIGPIPE raised on process %s; closed it", SDATA (p->name));
|
||||
#endif
|
||||
}
|
||||
|
||||
UNGCPRO;
|
||||
|
|
@ -6193,20 +6084,8 @@ process_send_signal (process, signo, current_group, nomsg)
|
|||
break;
|
||||
#endif /* ! defined (SIGCONT) */
|
||||
case SIGINT:
|
||||
#ifdef VMS
|
||||
send_process (proc, "\003", 1, Qnil); /* ^C */
|
||||
goto whoosh;
|
||||
#endif
|
||||
case SIGQUIT:
|
||||
#ifdef VMS
|
||||
send_process (proc, "\031", 1, Qnil); /* ^Y */
|
||||
goto whoosh;
|
||||
#endif
|
||||
case SIGKILL:
|
||||
#ifdef VMS
|
||||
sys$forcex (&(p->pid), 0, 1);
|
||||
whoosh:
|
||||
#endif
|
||||
flush_pending_output (p->infd);
|
||||
break;
|
||||
}
|
||||
|
|
@ -6547,9 +6426,6 @@ process has been transmitted to the serial port. */)
|
|||
send_process (proc, "", 0, Qnil);
|
||||
}
|
||||
|
||||
#ifdef VMS
|
||||
send_process (proc, "\032", 1, Qnil); /* ^z */
|
||||
#else
|
||||
if (XPROCESS (proc)->pty_flag)
|
||||
send_process (proc, "\004", 1, Qnil);
|
||||
else if (EQ (XPROCESS (proc)->type, Qserial))
|
||||
|
|
@ -6594,7 +6470,6 @@ process has been transmitted to the serial port. */)
|
|||
|
||||
XPROCESS (proc)->outfd = new_outfd;
|
||||
}
|
||||
#endif /* VMS */
|
||||
return process;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ extern int synch_process_termsig;
|
|||
extern int synch_process_retcode;
|
||||
|
||||
/* The name of the file open to get a null file, or a data sink.
|
||||
VMS, MS-DOS, and OS/2 redefine this. */
|
||||
MS-DOS, and OS/2 redefine this. */
|
||||
#ifndef NULL_DEVICE
|
||||
#define NULL_DEVICE "/dev/null"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
|
|||
|
||||
#define DOS_NT /* MSDOS or WINDOWSNT */
|
||||
#undef BSD_SYSTEM
|
||||
#undef VMS
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* #define BSD4_2 */
|
||||
/* #define BSD4_3 */
|
||||
/* #define BSD_SYSTEM */
|
||||
/* #define VMS */
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
|
@ -93,13 +92,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
#define NONSYSTEM_DIR_LIBRARY
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
|
||||
#define BSTRING
|
||||
|
|
|
|||
192
src/s/vms.h
192
src/s/vms.h
|
|
@ -1,192 +0,0 @@
|
|||
/* system description header for VMS
|
||||
Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
|
||||
2008 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#ifndef VMS /* Decus cpp doesn't define this but VAX C does */
|
||||
#define VMS
|
||||
#endif /* VMS */
|
||||
/* Note that this file is used indirectly via vms4-0.h, or some other
|
||||
such file. These other files define a symbol VMS4_0, VMS4_2, etc. */
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "vax-vms"
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'a' means it is /dev/ptya0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'a'
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
#define NONSYSTEM_DIR_LIBRARY
|
||||
|
||||
/* Define the maximum record length for print strings, if needed. */
|
||||
|
||||
#define MAX_PRINT_CHARS 300
|
||||
|
||||
|
||||
/* Here, on a separate page, add any special hacks needed
|
||||
to make Emacs work on this system. For example,
|
||||
you might define certain system call names that don't
|
||||
exist on your system, or that do different things on
|
||||
your system and must be used only through an encapsulation
|
||||
(Which you should place, by convention, in sysdep.c). */
|
||||
|
||||
/* In olden days, VMS filenames did not support hyphen (i.e., the "-"
|
||||
character). You can #undef this in vmsX-Y.h for newer versions. */
|
||||
|
||||
#define NO_HYPHENS_IN_FILENAMES
|
||||
|
||||
/* Do you have the sharable library bug? If you link with a sharable
|
||||
library that contains psects with the NOSHR attribute and also refer to
|
||||
those psects in your program, the linker give you a private version of
|
||||
the psect which is not related to the version used by the sharable
|
||||
library. The end result is that your references to variables in that
|
||||
psect have absolutely nothing to do with library references to what is
|
||||
supposed to be the same variable. If you intend to link with the standard
|
||||
C library (NOT the sharable one) you don't need to define this. (This
|
||||
is NOT fixed in V4.4...) */
|
||||
|
||||
#define SHARABLE_LIB_BUG
|
||||
|
||||
/* Partially due to the above mentioned bug and also so that we don't need
|
||||
to require that people have a sharable C library, the default for Emacs
|
||||
is to link with the non-shared library. If you want to link with the
|
||||
shared library, define this and remake xmakefile and fileio.c. This allows
|
||||
us to ship a guaranteed executable image. */
|
||||
|
||||
#define LINK_CRTL_SHARE
|
||||
|
||||
/* Define this if you want to read the file SYS$SYSTEM:SYSUAF.DAT for user
|
||||
information. If you do use this, you must either make SYSUAF.DAT world
|
||||
readable or install Emacs with SYSPRV. */
|
||||
|
||||
/* #define READ_SYSUAF */
|
||||
|
||||
/* Traditionally, filenames on VMS are always upper case. */
|
||||
|
||||
#define FILE_SYSTEM_CASE Fupcase
|
||||
|
||||
/* On VMS these have a different name */
|
||||
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
#define unlink delete
|
||||
|
||||
#ifndef __GNUC__
|
||||
extern double mth$dmod(double, double);
|
||||
#endif
|
||||
|
||||
/* Some time routines are missing in the VAX C RTL, or needs some
|
||||
extra bit of code */
|
||||
#define tzset sys_tzset
|
||||
#define localtime sys_localtime
|
||||
#define gmtime sys_gmtime
|
||||
|
||||
/* On later versions of VMS these exist in the C run time library, but
|
||||
we are using our own implementations. Hide their names to avoid
|
||||
linker errors */
|
||||
#define rename sys_rename
|
||||
#define execvp sys_execvp
|
||||
#define system sys_system
|
||||
|
||||
#ifndef GNU_MALLOC
|
||||
/* Hide these names so that we don't get linker errors */
|
||||
#define malloc sys_malloc
|
||||
#define free sys_free
|
||||
#define realloc sys_realloc
|
||||
#define calloc sys_calloc
|
||||
|
||||
/* Don't use the standard brk and sbrk */
|
||||
#define sbrk sys_sbrk
|
||||
#define brk sys_brk
|
||||
#endif
|
||||
|
||||
/* On VMS we want to avoid reading and writing very large amounts of
|
||||
data at once, so we redefine read and write here. */
|
||||
|
||||
#define read sys_read
|
||||
#define write sys_write
|
||||
|
||||
/* sys_creat just calls the real creat with additional args of
|
||||
"rfm=var", "rat=cr" to get "normal" VMS files... */
|
||||
#define creat sys_creat
|
||||
|
||||
/* fwrite forces an RMS PUT on every call. This is abysmally slow, so
|
||||
we emulate fwrite with fputc, which forces buffering and is much
|
||||
faster! */
|
||||
#define fwrite sys_fwrite
|
||||
|
||||
/* getuid only returns the member number, which is not unique on most VMS
|
||||
systems. We emulate it with (getgid()<<16 | getuid()). */
|
||||
#define getuid sys_getuid
|
||||
|
||||
/* If user asks for TERM, check first for EMACS_TERM. */
|
||||
#define getenv sys_getenv
|
||||
|
||||
/* Standard C abort is less useful than it should be. */
|
||||
#define abort sys_abort
|
||||
|
||||
/* Case conflicts with C library fread. */
|
||||
#define Fread F_read
|
||||
|
||||
/* Case conflicts with C library srandom. */
|
||||
#define Srandom S_random
|
||||
|
||||
/* Cause initialization of vmsfns.c to be run. */
|
||||
#define SYMS_SYSTEM syms_of_vmsfns ()
|
||||
|
||||
/* VAXCRTL access doesn't deal with SYSPRV very well (among other oddities...)
|
||||
Here, we use $CHKPRO to really determine access. */
|
||||
#define access sys_access
|
||||
|
||||
#define PAGESIZE 512
|
||||
|
||||
#define _longjmp longjmp
|
||||
#define _setjmp setjmp
|
||||
|
||||
globalref char sdata[];
|
||||
#define DATA_START (((int) sdata + 511) & ~511)
|
||||
#define TEXT_START 512
|
||||
|
||||
#define PURESIZE 330000
|
||||
|
||||
/* Stdio FILE type has extra indirect on VMS, so must alter this macro. */
|
||||
|
||||
#define PENDING_OUTPUT_COUNT(FILE) ((*(FILE))->_ptr - (*(FILE))->_base)
|
||||
|
||||
#define NULL_DEVICE "NLA0:"
|
||||
|
||||
/* Case conflict with Xlib XFree () */
|
||||
#define xfree emacs_xfree
|
||||
|
||||
/* What separator do we use in paths? */
|
||||
#define SEPCHAR ','
|
||||
|
||||
/* arch-tag: 76bc2b70-46d1-4334-8f12-955c0d0ca6d4
|
||||
(do not change this comment) */
|
||||
2000
src/sysdep.c
2000
src/sysdep.c
File diff suppressed because it is too large
Load diff
|
|
@ -192,13 +192,11 @@ extern SIGMASKTYPE sigprocmask_set;
|
|||
|
||||
/* Define SIGCHLD as an alias for SIGCLD. There are many conditionals
|
||||
testing SIGCHLD. */
|
||||
#ifndef VMS
|
||||
#ifdef SIGCLD
|
||||
#ifndef SIGCHLD
|
||||
#define SIGCHLD SIGCLD
|
||||
#endif /* SIGCHLD */
|
||||
#endif /* ! defined (SIGCLD) */
|
||||
#endif /* VMS */
|
||||
|
||||
#ifndef HAVE_STRSIGNAL
|
||||
/* strsignal is in sysdep.c */
|
||||
|
|
|
|||
|
|
@ -42,12 +42,6 @@ extern char *tzname[]; /* RS6000 and others want it this way. */
|
|||
extern time_t timezone;
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
#ifdef VAXC
|
||||
#include "vmstime.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* On some configurations (hpux8.0, X11R4), sys/time.h and X11/Xos.h
|
||||
disagree about the name of the guard symbol. */
|
||||
#ifdef HPUX
|
||||
|
|
|
|||
47
src/systty.h
47
src/systty.h
|
|
@ -40,46 +40,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#define INCLUDED_FCNTL
|
||||
#include <fcntl.h>
|
||||
#else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
|
||||
#ifndef VMS
|
||||
#ifndef DOS_NT
|
||||
#include <sgtty.h>
|
||||
#endif /* not DOS_NT */
|
||||
#else /* VMS */
|
||||
#include <descrip.h>
|
||||
static struct iosb
|
||||
{
|
||||
short status;
|
||||
short offset;
|
||||
short termlen;
|
||||
short term;
|
||||
} input_iosb;
|
||||
|
||||
extern int waiting_for_ast;
|
||||
extern int stop_input;
|
||||
extern int input_ef;
|
||||
extern int timer_ef;
|
||||
extern int process_ef;
|
||||
extern int input_eflist;
|
||||
extern int timer_eflist;
|
||||
|
||||
static $DESCRIPTOR (input_dsc, "TT");
|
||||
static int terminator_mask[2] = { 0, 0 };
|
||||
|
||||
static struct sensemode {
|
||||
short status;
|
||||
unsigned char xmit_baud;
|
||||
unsigned char rcv_baud;
|
||||
unsigned char crfill;
|
||||
unsigned char lffill;
|
||||
unsigned char parity;
|
||||
unsigned char unused;
|
||||
char class;
|
||||
char type;
|
||||
short scr_wid;
|
||||
unsigned long tt_char : 24, scr_len : 8;
|
||||
unsigned long tt2_char;
|
||||
} sensemode_iosb;
|
||||
#endif /* VMS */
|
||||
#endif /* not HAVE_TERMIOS */
|
||||
#endif /* not HAVE_TERMIO */
|
||||
|
||||
|
|
@ -250,9 +213,6 @@ struct emacs_tty {
|
|||
#ifdef HAVE_TERMIO
|
||||
struct termio main;
|
||||
#else
|
||||
#ifdef VMS
|
||||
struct sensemode main;
|
||||
#else
|
||||
#ifdef DOS_NT
|
||||
int main;
|
||||
#else /* not DOS_NT */
|
||||
|
|
@ -260,7 +220,6 @@ struct emacs_tty {
|
|||
#endif /* not DOS_NT */
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* If we have TERMIOS, we don't need to do this - they're taken care of
|
||||
by the tc*attr calls. */
|
||||
|
|
@ -306,11 +265,6 @@ extern int emacs_set_tty P_ ((int, struct emacs_tty *, int));
|
|||
#define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3)
|
||||
|
||||
#else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
|
||||
#ifdef VMS
|
||||
|
||||
#define EMACS_TTY_TABS_OK(p) (((p)->main.tt_char & TT$M_MECHTAB) != 0)
|
||||
|
||||
#else
|
||||
|
||||
#ifdef DOS_NT
|
||||
#define EMACS_TTY_TABS_OK(p) 0
|
||||
|
|
@ -318,7 +272,6 @@ extern int emacs_set_tty P_ ((int, struct emacs_tty *, int));
|
|||
#define EMACS_TTY_TABS_OK(p) (((p)->main.sg_flags & XTABS) != XTABS)
|
||||
#endif /* not DOS_NT */
|
||||
|
||||
#endif /* not def VMS */
|
||||
#endif /* not def HAVE_TERMIO */
|
||||
#endif /* not def HAVE_TERMIOS */
|
||||
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#ifndef EMACS_SYSWAIT_H
|
||||
#define EMACS_SYSWAIT_H
|
||||
|
||||
#ifndef VMS
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */
|
||||
|
|
@ -57,21 +55,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#undef WRETCODE
|
||||
#define WRETCODE(status) WEXITSTATUS (status)
|
||||
|
||||
#else /* VMS */
|
||||
|
||||
#define WIFSTOPPED(w) 0
|
||||
#define WIFSIGNALED(w) 0
|
||||
#define WIFEXITED(w) ((w) != -1)
|
||||
#define WRETCODE(w) (w)
|
||||
#define WSTOPSIG(w) (w)
|
||||
#define WCOREDUMP(w) 0
|
||||
#define WTERMSIG(w) (w)
|
||||
#include <ssdef.h>
|
||||
#include <iodef.h>
|
||||
#include <clidef.h>
|
||||
#include "vmsproc.h"
|
||||
|
||||
#endif /* VMS */
|
||||
|
||||
#endif /* EMACS_SYSWAIT_H */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,60 +0,0 @@
|
|||
cluster=emacs,,,-
|
||||
DISPNEW.OBJ,-
|
||||
SCROLL.OBJ,-
|
||||
XDISP.OBJ,-
|
||||
WINDOW.OBJ,-
|
||||
TERM.OBJ,-
|
||||
CM.OBJ,-
|
||||
EMACS.OBJ,-
|
||||
KEYBOARD.OBJ,-
|
||||
MACROS.OBJ,-
|
||||
KEYMAP.OBJ,-
|
||||
SYSDEP.OBJ,-
|
||||
BUFFER.OBJ,-
|
||||
FILELOCK.OBJ,-
|
||||
INSDEL.OBJ,-
|
||||
MARKER.OBJ,-
|
||||
MINIBUF.OBJ,-
|
||||
FILEIO.OBJ,-
|
||||
DIRED.OBJ,-
|
||||
FILEMODE.OBJ,-
|
||||
CMDS.OBJ,-
|
||||
CASEFIDDLE.OBJ,-
|
||||
INDENT.OBJ,-
|
||||
SEARCH.OBJ,-
|
||||
REGEX.OBJ,-
|
||||
UNDO.OBJ,-
|
||||
ALLOC.OBJ,-
|
||||
DATA.OBJ,-
|
||||
DOC.OBJ,-
|
||||
EDITFNS.OBJ,-
|
||||
CALLINT.OBJ,-
|
||||
EVAL.OBJ,-
|
||||
FNS.OBJ,-
|
||||
PRINT.OBJ,-
|
||||
LREAD.OBJ,-
|
||||
ABBREV.OBJ,-
|
||||
SYNTAX.OBJ,-
|
||||
MOCKLISP.OBJ,-
|
||||
BYTECODE.OBJ,-
|
||||
PROCESS.OBJ,-
|
||||
CALLPROC.OBJ,-
|
||||
VMSFNS.OBJ,-
|
||||
VMSPROC.OBJ,-
|
||||
DOPRNT.OBJ,-
|
||||
vmsmap.obj,-
|
||||
termcap.obj,-
|
||||
tparam.obj,-
|
||||
lastfile.obj,-
|
||||
alloca.obj,-
|
||||
malloc.obj
|
||||
collect=non_saved_data,-
|
||||
stdin,-
|
||||
stdout,-
|
||||
stderr,-
|
||||
errno,-
|
||||
vaxc$errno,-
|
||||
sys_errlist,-
|
||||
sys_nerr,-
|
||||
environ
|
||||
sys$library:vaxcrtl/library
|
||||
23
src/term.c
23
src/term.c
|
|
@ -3489,12 +3489,6 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
|
|||
Down (tty) = tgetstr ("do", address);
|
||||
if (!Down (tty))
|
||||
Down (tty) = tgetstr ("nl", address); /* Obsolete name for "do" */
|
||||
#ifdef VMS
|
||||
/* VMS puts a carriage return before each linefeed,
|
||||
so it is not safe to use linefeeds. */
|
||||
if (Down (tty) && Down (tty)[0] == '\n' && Down (tty)[1] == '\0')
|
||||
Down (tty) = 0;
|
||||
#endif /* VMS */
|
||||
if (tgetflag ("bs"))
|
||||
Left (tty) = "\b"; /* can't possibly be longer! */
|
||||
else /* (Actually, "bs" is obsolete...) */
|
||||
|
|
@ -3610,15 +3604,6 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
|
|||
|
||||
TabWidth (tty) = tgetnum ("tw");
|
||||
|
||||
#ifdef VMS
|
||||
/* These capabilities commonly use ^J.
|
||||
I don't know why, but sending them on VMS does not work;
|
||||
it causes following spaces to be lost, sometimes.
|
||||
For now, the simplest fix is to avoid using these capabilities ever. */
|
||||
if (Down (tty) && Down (tty)[0] == '\n')
|
||||
Down (tty) = 0;
|
||||
#endif /* VMS */
|
||||
|
||||
if (!tty->TS_bell)
|
||||
tty->TS_bell = "\07";
|
||||
|
||||
|
|
@ -3734,13 +3719,6 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
|
|||
{
|
||||
maybe_fatal (must_succeed, NULL, terminal,
|
||||
"Terminal type \"%s\" is not powerful enough to run Emacs",
|
||||
#ifdef VMS
|
||||
"Terminal type \"%s\" is not powerful enough to run Emacs.\n\
|
||||
It lacks the ability to position the cursor.\n\
|
||||
If that is not the actual type of terminal you have, use either the\n\
|
||||
DCL command `SET TERMINAL/DEVICE= ...' for DEC-compatible terminals,\n\
|
||||
or `define EMACS_TERM \"terminal type\"' for non-DEC terminals.",
|
||||
#else /* not VMS */
|
||||
# ifdef TERMINFO
|
||||
"Terminal type \"%s\" is not powerful enough to run Emacs.\n\
|
||||
It lacks the ability to position the cursor.\n\
|
||||
|
|
@ -3756,7 +3734,6 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
|
|||
`setenv TERM ...') to specify the correct type. It may be necessary\n\
|
||||
to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
|
||||
# endif /* TERMINFO */
|
||||
#endif /*VMS */
|
||||
terminal_type);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -349,13 +349,8 @@ char PC;
|
|||
|
||||
static int speeds[] =
|
||||
{
|
||||
#ifdef VMS
|
||||
0, 50, 75, 110, 134, 150, -3, -6, -12, -18,
|
||||
-20, -24, -36, -48, -72, -96, -192
|
||||
#else /* not VMS */
|
||||
0, 50, 75, 110, 135, 150, -2, -3, -6, -12,
|
||||
-18, -24, -48, -96, -192, -288, -384, -576, -1152
|
||||
#endif /* not VMS */
|
||||
};
|
||||
|
||||
#endif /* not emacs */
|
||||
|
|
@ -441,34 +436,6 @@ static char *gobble_line ();
|
|||
static int compare_contin ();
|
||||
static int name_match ();
|
||||
|
||||
#ifdef VMS
|
||||
|
||||
#include <rmsdef.h>
|
||||
#include <fab.h>
|
||||
#include <nam.h>
|
||||
#include <starlet.h>
|
||||
|
||||
static int
|
||||
valid_filename_p (fn)
|
||||
char *fn;
|
||||
{
|
||||
struct FAB fab = cc$rms_fab;
|
||||
struct NAM nam = cc$rms_nam;
|
||||
char esa[NAM$C_MAXRSS];
|
||||
|
||||
fab.fab$l_fna = fn;
|
||||
fab.fab$b_fns = strlen(fn);
|
||||
fab.fab$l_nam = &nam;
|
||||
fab.fab$l_fop = FAB$M_NAM;
|
||||
|
||||
nam.nam$l_esa = esa;
|
||||
nam.nam$b_ess = sizeof esa;
|
||||
|
||||
return SYS$PARSE(&fab, 0, 0) == RMS$_NORMAL;
|
||||
}
|
||||
|
||||
#else /* !VMS */
|
||||
|
||||
#ifdef MSDOS /* MW, May 1993 */
|
||||
static int
|
||||
valid_filename_p (fn)
|
||||
|
|
@ -480,8 +447,6 @@ valid_filename_p (fn)
|
|||
#define valid_filename_p(fn) (*(fn) == '/')
|
||||
#endif
|
||||
|
||||
#endif /* !VMS */
|
||||
|
||||
/* Find the termcap entry data for terminal type NAME
|
||||
and store it in the block that BP points to.
|
||||
Record its address for future use.
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue