# HG changeset patch # User Steven Tamm # Date 1106161782 0 # Node ID d8d85276ffed0a62d8c0e44c28510a26aa92f2ff # Parent d30fc301d0d8f4b3458a37fb621241b129ed971e * editfns.c (Voperating_system_release): Added. (init_editfns): Assign new variable operating-system-release based on call to uname if available. * config.h: Regenerated. diff -r d30fc301d0d8 -r d8d85276ffed src/config.in --- a/src/config.in Wed Jan 19 19:09:04 2005 +0000 +++ b/src/config.in Wed Jan 19 19:09:42 2005 +0000 @@ -598,6 +598,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_UN_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_UTSNAME_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_VLIMIT_H diff -r d30fc301d0d8 -r d8d85276ffed src/editfns.c --- a/src/editfns.c Wed Jan 19 19:09:04 2005 +0000 +++ b/src/editfns.c Wed Jan 19 19:09:42 2005 +0000 @@ -34,6 +34,10 @@ #include #endif +#ifdef HAVE_SYS_UTSNAME_H +#include +#endif + /* systime.h includes which, on some systems, is required for ; thus systime.h must be included before */ @@ -106,6 +110,7 @@ Lisp_Object Vuser_real_login_name; /* login name of current user ID */ Lisp_Object Vuser_full_name; /* full name of current user */ Lisp_Object Vuser_login_name; /* user name from LOGNAME or USER */ +Lisp_Object Voperating_system_release; /* Operating System Release */ /* Symbol for the text property used to mark fields. */ @@ -170,6 +175,16 @@ Vuser_full_name = build_string (p); else if (NILP (Vuser_full_name)) Vuser_full_name = build_string ("unknown"); + +#ifdef HAVE_SYS_UTSNAME_H + { + struct utsname uts; + uname (&uts); + Voperating_system_release = build_string (uts.release); + } +#else + Voperating_system_release = Qnil; +#endif } DEFUN ("char-to-string", Fchar_to_string, Schar_to_string, 1, 1, 0, @@ -4293,6 +4308,9 @@ DEFVAR_LISP ("user-real-login-name", &Vuser_real_login_name, doc: /* The user's name, based upon the real uid only. */); + DEFVAR_LISP ("operating-system-release", &Voperating_system_release, + doc: /* The release of the operating system Emacs is running on. */); + defsubr (&Spropertize); defsubr (&Schar_equal); defsubr (&Sgoto_char);