view src/sunpro.c @ 2456:f4e405a9d18d

[xemacs-hg @ 2004-12-27 12:25:14 by michaels] 2004-12-18 Mike Sperber <mike@xemacs.org> * package-admin.el: * startup.el: Reflect the changes made in packages.el. * packages.el: * loadup.el: * make-docfile.el: * package-admin.el: * startup.el: * update-elc.el (early-package-hierarchies) (late-package-hierarchies) (last-package-hierarchies): Renamed these from `early-packages', `late-packages' and `last-packages'. * packages.el: Rewrote package-finding logic to separate the concepts of "package directories" and "package hierarchies". Added explanation of these concepts. * setup-paths.el: * find-paths.el: Added parameter descriptions to some of the docstrings. * packages.el, setup-paths.el: Make terminology more explicit about "package hierarchies" * startup.el (emacs-roots, emacs-data-roots) (user-init-directory-base, user-init-directory) (user-init-file-base, user-init-file-base-list) (user-home-init-file-base-list) (load-home-init-file, load-user-init-file-p) (startup-find-load-path, startup-setup-paths) (startup-find-load-path-for-packages): Moved these back from setup-paths.el where they belong---setup-paths.el now again, as documented, contains no code that sets global variables. (They were moved from startup.el to setup-paths.el on 2003-02-28.) Clarify that in the comment at the top. * setup-paths.el (paths-find-emacs-roots): Restored `invocation-directory' 'invocation-name' parameters removed on 2003-02-28; they're useful for debugging.
author michaels
date Mon, 27 Dec 2004 12:27:05 +0000
parents 04bc9d2f42c7
children e91cf17f6ab7
line wrap: on
line source

/* Sunpro-specific routines.

   Copyright (C) 1994 Sun Microsystems, Inc.

This file is part of XEmacs.

XEmacs 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 2, or (at your option) any
later version.

XEmacs 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 XEmacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Synched up with: Not in FSF. */

#include <config.h>
#include "lisp.h"

/* ####

  The following junk used to be in lisp/prim/files.el.  It obviously
  doesn't belong there, but should go somewhere.

  (if (fboundp 'ut-log-text)	;; #### Sun stuff; what is this?
      (ut-log-text "Reading a file."))
*/

/* Whether usage tracking is turned on (Sun only) */
Lisp_Object Vusage_tracking;
#ifdef USAGE_TRACKING
#include <ut.h>
#endif

DEFUN ("ut-log-text", Fut_log_text, 1, MANY, 0, /*
Log a usage-tracking message if `usage-tracking' is non-nil.
Args are the same as to `format'.  Returns whether the message was
actually logged.  If usage-tracking support was not compiled in, this
function has no effect and always returns `nil'.  See function
`has-usage-tracking-p'.
*/
#ifdef USAGE_TRACKING
       (int nargs, Lisp_Object *args)
#else
       (int UNUSED (nargs), Lisp_Object *UNUSED (args))
#endif
{
#ifdef USAGE_TRACKING
  Lisp_Object xs;
  unsigned char *s;

  if (!NILP (Vusage_tracking))
    {
      xs = Fformat (nargs, args);
      CHECK_STRING (xs);
      s = XSTRING_DATA (xs);
      ut_log_text ((char *) s);
    }
  return Vusage_tracking;
#else
  return Qnil;
#endif
}


/************************************************************************/
/*                            initialization                            */
/************************************************************************/

void
syms_of_sunpro (void)
{
  DEFSUBR (Fut_log_text);
}

void
vars_of_sunpro (void)
{
  DEFVAR_LISP ("usage-tracking", &Vusage_tracking /*
Whether usage tracking is turned on (Sun internal use only).
Has no effect if usage tracking support has not been compiled in.
*/ );
  Vusage_tracking = Qnil;

  Fprovide (intern ("sparcworks"));
#ifdef USAGE_TRACKING
  Fprovide (intern ("usage-tracking"));
#endif
}

void
init_sunpro (void)
{
  Vusage_tracking = Qnil;
#ifdef USAGE_TRACKING
  if (!purify_flag)
    {	       /* Enabled only when not dumping an executable */
      Vusage_tracking = Qt;
      ut_initialize ("xemacs", NULL, NULL);
    }
#endif
}