]> code.delx.au - gnu-emacs/blobdiff - lisp/w32-fns.el
(describe-function-1): Kluge around cases of functions fset to subrs
[gnu-emacs] / lisp / w32-fns.el
index 1e12f177f87e56343ca20d508fde57e26862ac9c..5c3e22b191aab2783326aa058009d5fa16f9ab8e 100644 (file)
@@ -254,10 +254,12 @@ with a definition that really does change some file names."
       (aset name (match-beginning 0) ?!)
       (setq start (match-end 0)))
     ;; convert directory separators to Windows format
-    (while (string-match "/" name start)
-      (aset name (match-beginning 0) ?\\)
-      (setq start (match-end 0)))
-    name))
+    ;; (but only if the shell in use requires it)
+    (if (w32-shell-dos-semantics)
+       (while (string-match "/" name start)
+         (aset name (match-beginning 0) ?\\)
+         (setq start (match-end 0))))
+      name))
 
 ;;; Fix interface to (X-specific) mouse.el
 (defun x-set-selection (type data)
@@ -322,4 +324,74 @@ CODING-SYSTEM, use \\[list-coding-systems]."
 (put 'backspace 'ascii-character 127)
 (put 'delete 'ascii-character 127)
 
+;; W32 uses different color indexes than standard:
+
+(defvar w32-tty-standard-colors
+  '(("white"         15 65535 65535 65535)
+    ("yellow"        14 65535 65535     0) ; Yellow
+    ("lightmagenta"  13 65535     0 65535) ; Magenta
+    ("lightred"      12 65535     0     0) ; Red
+    ("lightcyan"     11     0 65535 65535) ; Cyan
+    ("lightgreen"    10     0 65535     0) ; Green
+    ("lightblue"      9     0     0 65535) ; Blue
+    ("darkgray"       8 26112 26112 26112) ; Gray40
+    ("lightgray"      7 48640 48640 48640) ; Gray
+    ("brown"          6 40960 20992 11520) ; Sienna
+    ("magenta"        5 35584     0 35584) ; DarkMagenta
+    ("red"            4 45568  8704  8704) ; FireBrick
+    ("cyan"           3     0 52736 53504) ; DarkTurquoise
+    ("green"          2  8704 35584  8704) ; ForestGreen
+    ("blue"           1     0     0 52480) ; MediumBlue
+    ("black"          0     0     0     0))
+"A list of VGA console colors, their indices and 16-bit RGB values.")
+
+;; w32term.c sets this to nil, but if it has been overridden before we
+;; get here, we should not try to set it again.
+(if (not w32-charset-info-alist)
+    (progn (setq w32-charset-info-alist
+                 '(("iso8859-1" . (w32-charset-ansi . 1252))
+                   ("jisx0208-sjis" . (w32-charset-shiftjis . 932))
+                   ("jisx0201-latin" . (w32-charset-shiftjis . 932))
+                   ("jisx0201-katakana" . (w32-charset-shiftjis . 932))
+                   ("ksc5601.1987" . (w32-charset-hangul . 949))
+                   ("big5" . (w32-charset-chinesebig5 . 950))
+                   ("gb2312" . (w32-charset-gb2312 . 936))
+                   ("ms-symbol" . (w32-charset-symbol . nil))
+                   ("ms-oem" . (w32-charset-oem . 437))
+                   ("ms-oemlatin" . (w32-charset-oem . 850))))
+           (if (boundp 'w32-extra-charsets-defined)
+               (progn
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-2" . (w32-charset-easteurope . 28592)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-3" . (w32-charset-turkish . 28593)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-4" . (w32-charset-baltic . 28594)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-5" . (w32-charset-russian . 28595)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-6" . (w32-charset-arabic . 28596)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-7" . (w32-charset-greek . 28597)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-8" . (w32-charset-hebrew . 1255)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-9" . (w32-charset-turkish . 1254)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso8859-13" . (w32-charset-baltic . 1257)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("koi8-r" . (w32-charset-russian . 20866)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("tis620" . (w32-charset-thai . 874)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("ksc5601.1992" . (w32-charset-johab . 1361)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("mac" . (w32-charset-mac . nil))))))
+           (if (boundp 'w32-unicode-charset-defined)
+               (progn
+                 (add-to-list 'w32-charset-info-alist
+                  '("iso10646" . (w32-charset-unicode . t)))
+                 (add-to-list 'w32-charset-info-alist
+                  '("unicode" . (w32-charset-unicode . t))))))
+
 ;;; w32-fns.el ends here