Mercurial > emacs
view src/vmsdir.h @ 4146:0c681748d0ce
* xfns.c (Fx_open_connection): Don't trust HAVE_XRMSETDATABASE;
use XrmSetDatabase only when HAVE_X11R5 is defined.
* xfns.c (Vx_resource_name): Renamed from Vxrdb_name, and made a
lisp-visible variable, so lisp/term/x-win.el can set it. Doc it
for "internal use only"; no need for NEWS entry.
(validate_x_resource_name): New function.
(Fx_get_resource): Doc fix. References to Vxrdb_name renamed. Call
validate_x_resource_name.
(x_window): References to Vxrdb_name renamed. Call
validate_x_resource_name.
(Fx_open_connection): References to Vxrdb_name renamed. Instead
of setting and validating its value here, just call
validate_x_resource_name.
(syms_of_xfns): Add DEFVAR_LISP for Vx_resource_name.
* xfns.c (x_set_frame_parameters): Don't set the frame's size and
position unless those parameters are actually specified in ALIST.
* xrdb.c: Implement search for app-defaults directory and
localized default databases, along with some other functionality
provided by Xt.
#include <stdio.h>, since we call sprintf.
[emacs] (malloc, realloc, free): #define these to xmalloc,
xrealloc, and xfree.
(x_get_string_resource, file_p): Add forward declarations for
these.
(x_customization_string): New variable.
(x_get_customization_string): New function.
(gethomedir): Return malloc'ed space of the right size, instead of
writing into a fixed-size buffer; this means that our callers do
not impose an arbitrary limit on file name length.
(magic_file_p): Rewrite of decode_magic; actually do the
substitutions, instead of expanding all %-escapes to "". Support
the customization string. Return 0 or the expanded file name,
instead of just zero or one. Allocate the space for the expanded
file name ourselves, instead of writing into a fixed-size buffer
passed to us; this removes an arbitrary limit.
(search_magic_path): Rewrite of magic_searchpath_decoder. Return
0 or the expanded file name, instead of just zero or one.
Allocate the space for the expanded file name ourselves, instead
of writing into a fixed-size buffer passed to us; this means that
our callers do not impose an arbitrary limit on file name length.
(get_system_app): Changed to work with search_magic_path.
(get_user_app): Rewritten to work with search_magic_path, and not
to assume that the values of XAPPLRESDIR is a single directory.
(get_user_db): Properly use the new version of gethomedir.
(get_environ_db): Remove arbitrary limit on length of host name.
(x_load_resources): Take a new argument, myname. Call get_user_db
early to obtain the customization string.
Changes to stand-alone testing code.
* xfns.c (Fx_open_connection): Set Vxrdb_name early, and pass it
to x_load_resources.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Sun, 18 Jul 1993 06:29:19 +0000 |
parents | 3165b2697c78 |
children | ac7375e60931 |
line wrap: on
line source
/* GNU Emacs VMS directory definition file. Copyright (C) 1986 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 1, 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; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * Files-11 Ver. 2 directory structure (VMS V4.x - long names) */ #ifndef DIR$K_LENGTH #define DIR$C_FID 0 #define DIR$C_LINKNAME 1 #define DIR$K_LENGTH 6 #define DIR$C_LENGTH 6 #define DIR$S_DIRDEF 6 #define DIR$W_SIZE 0 #define DIR$W_VERLIMIT 2 #define DIR$B_FLAGS 4 #define DIR$S_TYPE 3 #define DIR$V_TYPE 0 #define DIR$V_NEXTREC 6 #define DIR$V_PREVREC 7 #define DIR$B_NAMECOUNT 5 #define DIR$S_NAME 80 #define DIR$T_NAME 6 #define DIR$K_VERSION 8 #define DIR$C_VERSION 8 #define DIR$S_DIRDEF1 8 #define DIR$W_VERSION 0 #define DIR$S_FID 6 #define DIR$W_FID 2 #define DIR$W_FID_NUM 2 #define DIR$W_FID_SEQ 4 #define DIR$W_FID_RVN 6 #define DIR$B_FID_RVN 6 #define DIR$B_FID_NMX 7 #define DIR$S_DIRDEF2 1 #define DIR$T_LINKNAME 0 typedef struct dir$_name { /* short dir$w_size; /* if you read with RMS, it eats this... */ short dir$w_verlimit; /* maximum number of versions */ union { unsigned char dir_b_flags; #define dir$b_flags dir__b_flags.dir_b_flags struct { unsigned char dir_v_type: DIR$S_TYPE; #define dir$v_type dir__b_flags.dir___b_flags.dir_v_type unsigned char: 3; unsigned char dir_v_nextrec: 1; #define dir$v_nextrec dir__b_flags.dir___b_flags.dir_v_nextrec unsigned char dir_v_prevrec: 1; #define dir$v_prevrec dir__b_flags.dir___b_flags.dir_v_prevrec } dir___b_flags; } dir__b_flags; unsigned char dir$b_namecount; char dir$t_name[]; } dir$_dirdef; /* only the fixed first part */ typedef struct dir$_version { short dir$w_version; short dir$w_fid_num; short dir$w_fid_seq; union { short dir_w_fid_rvn; #define dir$w_fid_rvn dir__w_fid_rvn.dir_w_fid_rvn struct { char dir_b_fid_rvn; #define dir$b_fid_rvn dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_rvn char dir_b_fid_nmx; #define dir$b_fid_nmx dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_nmx } dir___w_fid_rvn; } dir__w_fid_rvn; } dir$_dirdef1; /* one for each version of the file */ typedef struct dir$_linkname { char dir$t_linkname[]; } dir$_dirdef2; #endif