Function: w32--os-description
w32--os-description is a byte-compiled function defined in
w32-fns.el.gz.
Signature
(w32--os-description)
Documentation
Return a string describing the underlying OS and its version.
Source Code
;; Defined in /usr/src/emacs/lisp/w32-fns.el.gz
(defun w32--os-description ()
"Return a string describing the underlying OS and its version."
(let* ((w32ver (car (w32-version)))
(w9x-p (< w32ver 5))
(key (if w9x-p
"SOFTWARE/Microsoft/Windows/CurrentVersion"
"SOFTWARE/Microsoft/Windows NT/CurrentVersion"))
(os-name (w32-read-registry 'HKLM key "ProductName"))
(os-version (if w9x-p
(w32-read-registry 'HKLM key "VersionNumber")
(let ((vmajor
(w32-read-registry 'HKLM key
"CurrentMajorVersionNumber"))
(vminor
(w32-read-registry 'HKLM key
"CurrentMinorVersionNumber")))
(if (and vmajor vminor)
(format "%d.%d" vmajor vminor)
(w32-read-registry 'HKLM key "CurrentVersion")))))
(os-csd (w32-read-registry 'HKLM key "CSDVersion"))
(os-rel (or (w32-read-registry 'HKLM key "ReleaseID")
(w32-read-registry 'HKLM key "CSDBuildNumber")
"0")) ; No Release ID before Windows Vista
(os-build (w32-read-registry 'HKLM key "CurrentBuildNumber"))
(os-rev (w32-read-registry 'HKLM key "UBR"))
(os-rev (if os-rev (format "%d" os-rev))))
(if w9x-p
(concat
(if (not (string-match "\\`Microsoft " os-name)) "Microsoft ")
os-name
" (v" os-version ")")
(concat
(if (not (string-match "\\`Microsoft " os-name)) "Microsoft ")
os-name ; Windows 7 Enterprise
" "
os-csd ; Service Pack 1
(if (and os-csd (> (length os-csd) 0)) " " "")
"(v"
os-version "." os-rel "." os-build (if os-rev (concat "." os-rev))
")"))))