Mercurial > emacs
annotate lisp/w32-fns.el @ 110410:f2e111723c3a
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sat, 18 Sep 2010 10:02:19 +0000 |
parents | bcc7c00e9ef4 |
children | 6cf6c01cf9bf |
rev | line source |
---|---|
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
37621
diff
changeset
|
1 ;;; w32-fns.el --- Lisp routines for Windows NT |
14169 | 2 |
104823
68150c643e2e
Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents:
104706
diff
changeset
|
3 ;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
106815 | 4 ;; 2009, 2010 Free Software Foundation, Inc. |
9803 | 5 |
21059 | 6 ;; Author: Geoff Voelker <voelker@cs.washington.edu> |
39117 | 7 ;; Keywords: internal |
110015
280c8ae2476d
Add "Package:" file headers to denote built-in packages.
Chong Yidong <cyd@stupidchicken.com>
parents:
109051
diff
changeset
|
8 ;; Package: emacs |
9803 | 9 |
10 ;; This file is part of GNU Emacs. | |
11 | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94505
diff
changeset
|
12 ;; GNU Emacs is free software: you can redistribute it and/or modify |
9803 | 13 ;; it under the terms of the GNU General Public License as published by |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94505
diff
changeset
|
14 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94505
diff
changeset
|
15 ;; (at your option) any later version. |
9803 | 16 |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94505
diff
changeset
|
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
9803 | 24 |
25 ;;; Commentary: | |
26 | |
27 | |
28 ;;; Code: | |
85503
59ee4068f60b
* progmodes/gud.el (gud-target-name): Move definition before use.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78236
diff
changeset
|
29 (require 'w32-vars) |
9803 | 30 |
65298
0028f546a4d3
(explicit-shell-file-name): Add defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
31 (defvar explicit-shell-file-name) |
0028f546a4d3
(explicit-shell-file-name): Add defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
32 |
86268
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
33 ;;;; Function keys |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
34 |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
35 (defvar x-alternatives-map |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
36 (let ((map (make-sparse-keymap))) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
37 ;; Map certain keypad keys into ASCII characters that people usually expect. |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
38 (define-key map [M-backspace] [?\M-\d]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
39 (define-key map [M-delete] [?\M-\d]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
40 (define-key map [M-tab] [?\M-\t]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
41 (define-key map [M-linefeed] [?\M-\n]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
42 (define-key map [M-clear] [?\M-\C-l]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
43 (define-key map [M-return] [?\M-\C-m]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
44 (define-key map [M-escape] [?\M-\e]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
45 (define-key map [iso-lefttab] [backtab]) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
46 (define-key map [S-iso-lefttab] [backtab]) |
93085
d3840ccbe2f6
(x-alternatives-map): Add S-tab mapping.
Jason Rumney <jasonr@gnu.org>
parents:
91373
diff
changeset
|
47 (define-key map [S-tab] [backtab]) |
86268
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
48 map) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
49 "Keymap of possible alternative meanings for some keys.") |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
50 |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
51 (defun x-setup-function-keys (frame) |
104066 | 52 "Set up `function-key-map' on the graphical frame FRAME." |
86268
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
53 ;; Don't do this twice on the same display, or it would break |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
54 ;; normal-erase-is-backspace-mode. |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
55 (unless (terminal-parameter frame 'x-setup-function-keys) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
56 ;; Map certain keypad keys into ASCII characters that people usually expect. |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
57 (with-selected-frame frame |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
58 (let ((map (copy-keymap x-alternatives-map))) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
59 (set-keymap-parent map (keymap-parent local-function-key-map)) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
60 (set-keymap-parent local-function-key-map map))) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
61 (set-terminal-parameter frame 'x-setup-function-keys t))) |
f1604b3ab5ad
(x-alternatives-map): Copy from term/x-win.el.
Jason Rumney <jasonr@gnu.org>
parents:
86265
diff
changeset
|
62 |
86289
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86280
diff
changeset
|
63 (declare-function set-message-beep "w32console.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86280
diff
changeset
|
64 (declare-function w32-get-clipboard-data "w32select.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86280
diff
changeset
|
65 (declare-function w32-get-locale-info "w32proc.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86280
diff
changeset
|
66 (declare-function w32-get-valid-locale-ids "w32proc.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86280
diff
changeset
|
67 (declare-function w32-set-clipboard-data "w32select.c") |
11399 | 68 |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
69 ;; Map all versions of a filename (8.3, longname, mixed case) to the |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
70 ;; same buffer. |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
71 (setq find-file-visit-truename t) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
72 |
95841
b4e36ff621b3
Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents:
94678
diff
changeset
|
73 (declare-function x-server-version "w32fns.c" (&optional display)) |
b4e36ff621b3
Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents:
94678
diff
changeset
|
74 |
33212
5298b23b61be
(w32-version): New function.
Andrew Innes <andrewi@gnu.org>
parents:
32716
diff
changeset
|
75 (defun w32-version () |
5298b23b61be
(w32-version): New function.
Andrew Innes <andrewi@gnu.org>
parents:
32716
diff
changeset
|
76 "Return the MS-Windows version numbers. |
5298b23b61be
(w32-version): New function.
Andrew Innes <andrewi@gnu.org>
parents:
32716
diff
changeset
|
77 The value is a list of three integers: the major and minor version |
5298b23b61be
(w32-version): New function.
Andrew Innes <andrewi@gnu.org>
parents:
32716
diff
changeset
|
78 numbers, and the build number." |
5298b23b61be
(w32-version): New function.
Andrew Innes <andrewi@gnu.org>
parents:
32716
diff
changeset
|
79 (x-server-version)) |
5298b23b61be
(w32-version): New function.
Andrew Innes <andrewi@gnu.org>
parents:
32716
diff
changeset
|
80 |
17549
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
81 (defun w32-using-nt () |
90935 | 82 "Return non-nil if running on a Windows NT descendant. |
55792
0d890eccf70f
(w32-using-nt, w32-shell-dos-semantics, set-w32-system-coding-system):
Juanma Barranquero <lekktu@gmail.com>
parents:
52401
diff
changeset
|
83 That includes all Windows systems except for 9X/Me." |
17549
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
84 (and (eq system-type 'windows-nt) (getenv "SystemRoot"))) |
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
85 |
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
86 (defun w32-shell-name () |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
87 "Return the name of the shell being used." |
64563
3a895c8815ed
(w32-shell-name): Use `bound-and-true-p'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
88 (or (bound-and-true-p explicit-shell-file-name) |
17549
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
89 (getenv "ESHELL") |
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
90 (getenv "SHELL") |
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
91 (and (w32-using-nt) "cmd.exe") |
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
92 "command.com")) |
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
93 |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
94 (defun w32-system-shell-p (shell-name) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
95 (and shell-name |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
96 (member (downcase (file-name-nondirectory shell-name)) |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
97 w32-system-shells))) |
9803 | 98 |
23173
073e555c28c8
(w32-shell-dos-semantics): New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21597
diff
changeset
|
99 (defun w32-shell-dos-semantics () |
99540
c5c8f07bc47c
* w32-fns.el (w32-shell-dos-semantics):
Juanma Barranquero <lekktu@gmail.com>
parents:
98791
diff
changeset
|
100 "Return non-nil if the interactive shell being used expects MS-DOS shell semantics." |
23173
073e555c28c8
(w32-shell-dos-semantics): New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21597
diff
changeset
|
101 (or (w32-system-shell-p (w32-shell-name)) |
073e555c28c8
(w32-shell-dos-semantics): New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21597
diff
changeset
|
102 (and (member (downcase (file-name-nondirectory (w32-shell-name))) |
073e555c28c8
(w32-shell-dos-semantics): New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21597
diff
changeset
|
103 '("cmdproxy" "cmdproxy.exe")) |
073e555c28c8
(w32-shell-dos-semantics): New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21597
diff
changeset
|
104 (w32-system-shell-p (getenv "COMSPEC"))))) |
073e555c28c8
(w32-shell-dos-semantics): New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21597
diff
changeset
|
105 |
85512
589532be95ec
* w32-fns.el (w32-quote-process-args):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
85503
diff
changeset
|
106 (defvar w32-quote-process-args) ;; defined in w32proc.c |
589532be95ec
* w32-fns.el (w32-quote-process-args):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
85503
diff
changeset
|
107 |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
108 (defun w32-check-shell-configuration () |
98778
0f8ccfd21a74
* w32-fns.el (w32-check-shell-configuration): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
97221
diff
changeset
|
109 "Check the configuration of shell variables on Windows. |
17549
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
110 This function is invoked after loading the init files and processing |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
111 the command line arguments. It issues a warning if the user or site |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
112 has configured the shell with inappropriate settings." |
21597
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
113 (interactive) |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
114 (let ((prev-buffer (current-buffer)) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
115 (buffer (get-buffer-create "*Shell Configuration*")) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
116 (system-shell)) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
117 (set-buffer buffer) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
118 (erase-buffer) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
119 (if (w32-system-shell-p (getenv "ESHELL")) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
120 (insert (format "Warning! The ESHELL environment variable uses %s. |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
121 You probably want to change it so that it uses cmdproxy.exe instead.\n\n" |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
122 (getenv "ESHELL")))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
123 (if (w32-system-shell-p (getenv "SHELL")) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
124 (insert (format "Warning! The SHELL environment variable uses %s. |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
125 You probably want to change it so that it uses cmdproxy.exe instead.\n\n" |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
126 (getenv "SHELL")))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
127 (if (w32-system-shell-p shell-file-name) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
128 (insert (format "Warning! shell-file-name uses %s. |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
129 You probably want to change it so that it uses cmdproxy.exe instead.\n\n" |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
130 shell-file-name))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
131 (if (and (boundp 'explicit-shell-file-name) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
132 (w32-system-shell-p explicit-shell-file-name)) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
133 (insert (format "Warning! explicit-shell-file-name uses %s. |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
134 You probably want to change it so that it uses cmdproxy.exe instead.\n\n" |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
135 explicit-shell-file-name))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
136 (setq system-shell (> (buffer-size) 0)) |
21597
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
137 |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
138 ;; Allow user to specify that they really do want to use one of the |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
139 ;; "system" shells, despite the drawbacks, but still warn if |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
140 ;; shell-command-switch doesn't match. |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
141 (if w32-allow-system-shell |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
142 (erase-buffer)) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
143 |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
144 (cond (system-shell |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
145 ;; System shells. |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
146 (if (string-equal "-c" shell-command-switch) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
147 (insert "Warning! shell-command-switch is \"-c\". |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
148 You should set this to \"/c\" when using a system shell.\n\n")) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
149 (if w32-quote-process-args |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
150 (insert "Warning! w32-quote-process-args is t. |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
151 You should set this to nil when using a system shell.\n\n"))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
152 ;; Non-system shells. |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
153 (t |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
154 (if (string-equal "/c" shell-command-switch) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
155 (insert "Warning! shell-command-switch is \"/c\". |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
156 You should set this to \"-c\" when using a non-system shell.\n\n")) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
157 (if (not w32-quote-process-args) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
158 (insert "Warning! w32-quote-process-args is nil. |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
159 You should set this to t when using a non-system shell.\n\n")))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
160 (if (> (buffer-size) 0) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
161 (display-buffer buffer) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
162 (kill-buffer buffer)) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
163 (set-buffer prev-buffer))) |
17549
f57de209f01b
(w32-using-nt, w32-shell-name, w32-using-system-shell-p,
Geoff Voelker <voelker@cs.washington.edu>
parents:
16859
diff
changeset
|
164 |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
165 (add-hook 'after-init-hook 'w32-check-shell-configuration) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
166 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
167 ;; Override setting chosen at startup. |
24514
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
168 (defun set-default-process-coding-system () |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
169 ;; Most programs on Windows will accept Unix line endings on input |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
170 ;; (and some programs ported from Unix require it) but most will |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
171 ;; produce DOS line endings on output. |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
172 (setq default-process-coding-system |
104823
68150c643e2e
Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents:
104706
diff
changeset
|
173 (if (default-value 'enable-multibyte-characters) |
24514
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
174 '(undecided-dos . undecided-unix) |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
175 '(raw-text-dos . raw-text-unix))) |
78192
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
176 ;; Make cmdproxy default to using DOS line endings for input, |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
177 ;; because some Windows programs (including command.com) require it. |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
178 (add-to-list 'process-coding-system-alist |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
179 `("[cC][mM][dD][pP][rR][oO][xX][yY]" |
104823
68150c643e2e
Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents:
104706
diff
changeset
|
180 . ,(if (default-value 'enable-multibyte-characters) |
78192
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
181 '(undecided-dos . undecided-dos) |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
182 '(raw-text-dos . raw-text-dos)))) |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
183 ;; plink needs DOS input when entering the password. |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
184 (add-to-list 'process-coding-system-alist |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
185 `("[pP][lL][iI][nN][kK]" |
104823
68150c643e2e
Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents:
104706
diff
changeset
|
186 . ,(if (default-value 'enable-multibyte-characters) |
78192
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
187 '(undecided-dos . undecided-dos) |
19db593f63bb
(set-default-process-coding-system): Use dos line ends
Jason Rumney <jasonr@gnu.org>
parents:
75347
diff
changeset
|
188 '(raw-text-dos . raw-text-dos))))) |
24514
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
189 |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
190 (add-hook 'before-init-hook 'set-default-process-coding-system) |
06762ce530be
(set-default-process-coding-system): Copied from
Andrew Innes <andrewi@gnu.org>
parents:
24498
diff
changeset
|
191 |
21597
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
192 |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
193 ;;; Basic support functions for managing Emacs' locale setting |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
194 |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
195 (defvar w32-valid-locales nil |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
196 "List of locale ids known to be supported.") |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
197 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
198 ;; This is the brute-force version; an efficient version is now |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
199 ;; built-in though. |
21597
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
200 (if (not (fboundp 'w32-get-valid-locale-ids)) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
201 (defun w32-get-valid-locale-ids () |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
202 "Return list of all valid Windows locale ids." |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
203 (let ((i 65535) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
204 locales) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
205 (while (> i 0) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
206 (if (w32-get-locale-info i) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
207 (setq locales (cons i locales))) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
208 (setq i (1- i))) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
209 locales))) |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
210 |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
211 (defun w32-list-locales () |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
212 "List the name and id of all locales supported by Windows." |
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
213 (interactive) |
98791
eeef1de115b3
* w32-fns.el (w32-list-locales): Decode output of `w32-get-locale-info'
Juanma Barranquero <lekktu@gmail.com>
parents:
98778
diff
changeset
|
214 (when (null w32-valid-locales) |
eeef1de115b3
* w32-fns.el (w32-list-locales): Decode output of `w32-get-locale-info'
Juanma Barranquero <lekktu@gmail.com>
parents:
98778
diff
changeset
|
215 (setq w32-valid-locales (sort (w32-get-valid-locale-ids) #'<))) |
100195
caf4353286ff
* w32-fns.el (w32-list-locales): Use `with-output-to-temp-buffer',
Juanma Barranquero <lekktu@gmail.com>
parents:
99540
diff
changeset
|
216 (with-output-to-temp-buffer "*Supported Locales*" |
caf4353286ff
* w32-fns.el (w32-list-locales): Use `with-output-to-temp-buffer',
Juanma Barranquero <lekktu@gmail.com>
parents:
99540
diff
changeset
|
217 (princ "LCID\tAbbrev\tFull name\n\n") |
100351
d23b1588c7c1
Move decoding of locale info from Lisp to C.
Juanma Barranquero <lekktu@gmail.com>
parents:
100195
diff
changeset
|
218 (dolist (locale w32-valid-locales) |
d23b1588c7c1
Move decoding of locale info from Lisp to C.
Juanma Barranquero <lekktu@gmail.com>
parents:
100195
diff
changeset
|
219 (princ (format "%d\t%s\t%s\n" |
d23b1588c7c1
Move decoding of locale info from Lisp to C.
Juanma Barranquero <lekktu@gmail.com>
parents:
100195
diff
changeset
|
220 locale |
d23b1588c7c1
Move decoding of locale info from Lisp to C.
Juanma Barranquero <lekktu@gmail.com>
parents:
100195
diff
changeset
|
221 (w32-get-locale-info locale) |
d23b1588c7c1
Move decoding of locale info from Lisp to C.
Juanma Barranquero <lekktu@gmail.com>
parents:
100195
diff
changeset
|
222 (w32-get-locale-info locale t)))))) |
21597
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
223 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
224 ;; Setup Info-default-directory-list to include the info directory |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
225 ;; near where Emacs executable was installed. We used to set INFOPATH, |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
226 ;; but when this is set Info-default-directory-list is ignored. We |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
227 ;; also cannot rely upon what is set in paths.el because they assume |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
228 ;; that configuration during build time is correct for runtime. |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
229 (defun w32-init-info () |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
230 (let* ((instdir (file-name-directory invocation-directory)) |
21597
409211e285bc
(w32-system-shells): Add 4dos and 4nt.
Geoff Voelker <voelker@cs.washington.edu>
parents:
21059
diff
changeset
|
231 (dir1 (expand-file-name "../info/" instdir)) |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
232 (dir2 (expand-file-name "../../../info/" instdir))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
233 (if (file-exists-p dir1) |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
234 (setq Info-default-directory-list |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
235 (append Info-default-directory-list (list dir1))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
236 (if (file-exists-p dir2) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
237 (setq Info-default-directory-list |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
238 (append Info-default-directory-list (list dir2))))))) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
239 |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
240 (add-hook 'before-init-hook 'w32-init-info) |
15338
b0d95c32f026
(shell-mode-hook): Set comint-completion-addsuffix
Richard M. Stallman <rms@gnu.org>
parents:
15257
diff
changeset
|
241 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
242 ;; The variable source-directory is used to initialize Info-directory-list. |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
243 ;; However, the common case is that Emacs is being used from a binary |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
244 ;; distribution, and the value of source-directory is meaningless in that |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
245 ;; case. Even worse, source-directory can refer to a directory on a drive |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
246 ;; on the build machine that happens to be a removable drive on the user's |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
247 ;; machine. When this happens, Emacs tries to access the removable drive |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
248 ;; and produces the abort/retry/ignore dialog. Since we do not use |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
249 ;; source-directory, set it to something that is a reasonable approximation |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
250 ;; on the user's machine. |
23571
ae5eea3cc314
Remove a dangling reference to a directory on the
Geoff Voelker <voelker@cs.washington.edu>
parents:
23173
diff
changeset
|
251 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
252 ;;(add-hook 'before-init-hook |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
253 ;; (lambda () |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
254 ;; (setq source-directory (file-name-as-directory |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
255 ;; (expand-file-name ".." exec-directory))))) |
23571
ae5eea3cc314
Remove a dangling reference to a directory on the
Geoff Voelker <voelker@cs.washington.edu>
parents:
23173
diff
changeset
|
256 |
108594
a5969c855306
Don't override standard definition of convert-standard-filename.
Eli Zaretskii <eliz@gnu.org>
parents:
106815
diff
changeset
|
257 (defun w32-convert-standard-filename (filename) |
109051
7752767c4c7f
w32-fns.el (w32-convert-standard-filename): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents:
108594
diff
changeset
|
258 "Convert a standard file's name to something suitable for MS-Windows. |
55865
ccd8cdf69359
Rework docstring (wording by Eli Zaretskii and Kai Grossjohann).
Juanma Barranquero <lekktu@gmail.com>
parents:
55792
diff
changeset
|
259 This means to guarantee valid names and perhaps to canonicalize |
ccd8cdf69359
Rework docstring (wording by Eli Zaretskii and Kai Grossjohann).
Juanma Barranquero <lekktu@gmail.com>
parents:
55792
diff
changeset
|
260 certain patterns. |
ccd8cdf69359
Rework docstring (wording by Eli Zaretskii and Kai Grossjohann).
Juanma Barranquero <lekktu@gmail.com>
parents:
55792
diff
changeset
|
261 |
108594
a5969c855306
Don't override standard definition of convert-standard-filename.
Eli Zaretskii <eliz@gnu.org>
parents:
106815
diff
changeset
|
262 This function is called by `convert-standard-filename'. |
a5969c855306
Don't override standard definition of convert-standard-filename.
Eli Zaretskii <eliz@gnu.org>
parents:
106815
diff
changeset
|
263 |
a5969c855306
Don't override standard definition of convert-standard-filename.
Eli Zaretskii <eliz@gnu.org>
parents:
106815
diff
changeset
|
264 Replace invalid characters and turn Cygwin names into native |
a5969c855306
Don't override standard definition of convert-standard-filename.
Eli Zaretskii <eliz@gnu.org>
parents:
106815
diff
changeset
|
265 names, and also turn slashes into backslashes if the shell |
a5969c855306
Don't override standard definition of convert-standard-filename.
Eli Zaretskii <eliz@gnu.org>
parents:
106815
diff
changeset
|
266 requires it (see `w32-shell-dos-semantics')." |
74832
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
267 (save-match-data |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
268 (let ((name |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
269 (if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename) |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
270 (replace-match "\\1:/" t nil filename) |
74832
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
271 (copy-sequence filename))) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
272 (start 0)) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
273 ;; leave ':' if part of drive specifier |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
274 (if (and (> (length name) 1) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
275 (eq (aref name 1) ?:)) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
276 (setq start 2)) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
277 ;; destructively replace invalid filename characters with ! |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
278 (while (string-match "[?*:<>|\"\000-\037]" name start) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
279 (aset name (match-beginning 0) ?!) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
280 (setq start (match-end 0))) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
281 ;; convert directory separators to Windows format |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
282 ;; (but only if the shell in use requires it) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
283 (when (w32-shell-dos-semantics) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
284 (setq start 0) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
285 (while (string-match "/" name start) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
286 (aset name (match-beginning 0) ?\\) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
287 (setq start (match-end 0)))) |
d53f5b616853
(convert-standard-filename): Wrap in save-match-data.
Eli Zaretskii <eliz@gnu.org>
parents:
74511
diff
changeset
|
288 name))) |
15135
72a1f82a6748
(original-make-auto-save-file-name): New symbol bound
Geoff Voelker <voelker@cs.washington.edu>
parents:
15003
diff
changeset
|
289 |
9803 | 290 ;;; Fix interface to (X-specific) mouse.el |
15350
a8bd6f986389
(x-set-selection, x-get-selection): Define them to really use TYPE.
Richard M. Stallman <rms@gnu.org>
parents:
15338
diff
changeset
|
291 (defun x-set-selection (type data) |
104135
decfa3e02ba0
* select.el (x-set-selection): Doc fix (Bug#4021).
Chong Yidong <cyd@stupidchicken.com>
parents:
104066
diff
changeset
|
292 "Make an X selection of type TYPE and value DATA. |
104066 | 293 The argument TYPE (nil means `PRIMARY') says which selection, and |
294 DATA specifies the contents. TYPE must be a symbol. \(It can also | |
295 be a string, which stands for the symbol with that name, but this | |
296 is considered obsolete.) DATA may be a string, a symbol, an | |
297 integer (or a cons of two integers or list of two integers). | |
298 | |
299 The selection may also be a cons of two markers pointing to the same buffer, | |
300 or an overlay. In these cases, the selection is considered to be the text | |
301 between the markers *at whatever time the selection is examined*. | |
302 Thus, editing done in the buffer after you specify the selection | |
303 can alter the effective value of the selection. | |
304 | |
305 The data may also be a vector of valid non-vector selection values. | |
306 | |
307 The return value is DATA. | |
308 | |
309 Interactively, this command sets the primary selection. Without | |
310 prefix argument, it reads the selection in the minibuffer. With | |
311 prefix argument, it uses the text of the region as the selection value. | |
312 | |
313 Note that on MS-Windows, primary and secondary selections set by Emacs | |
314 are not available to other programs." | |
103947
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
315 (put 'x-selections (or type 'PRIMARY) data)) |
15350
a8bd6f986389
(x-set-selection, x-get-selection): Define them to really use TYPE.
Richard M. Stallman <rms@gnu.org>
parents:
15338
diff
changeset
|
316 |
a8bd6f986389
(x-set-selection, x-get-selection): Define them to really use TYPE.
Richard M. Stallman <rms@gnu.org>
parents:
15338
diff
changeset
|
317 (defun x-get-selection (&optional type data-type) |
104066 | 318 "Return the value of an X Windows selection. |
319 The argument TYPE (default `PRIMARY') says which selection, | |
320 and the argument DATA-TYPE (default `STRING') says | |
321 how to convert the data. | |
322 | |
323 TYPE may be any symbol \(but nil stands for `PRIMARY'). However, | |
324 only a few symbols are commonly used. They conventionally have | |
325 all upper-case names. The most often used ones, in addition to | |
326 `PRIMARY', are `SECONDARY' and `CLIPBOARD'. | |
327 | |
328 DATA-TYPE is usually `STRING', but can also be one of the symbols | |
329 in `selection-converter-alist', which see." | |
103947
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
330 (get 'x-selections (or type 'PRIMARY))) |
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
331 |
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
332 ;; x-selection-owner-p is used in simple.el |
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
333 (defun x-selection-owner-p (&optional type) |
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
334 (and (memq type '(nil PRIMARY SECONDARY)) |
37177e1f2fcb
* w32-fns.el (x-selection-owner-p): New function.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
335 (get 'x-selections (or type 'PRIMARY)))) |
15350
a8bd6f986389
(x-set-selection, x-get-selection): Define them to really use TYPE.
Richard M. Stallman <rms@gnu.org>
parents:
15338
diff
changeset
|
336 |
24498
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
337 (defun set-w32-system-coding-system (coding-system) |
55792
0d890eccf70f
(w32-using-nt, w32-shell-dos-semantics, set-w32-system-coding-system):
Juanma Barranquero <lekktu@gmail.com>
parents:
52401
diff
changeset
|
338 "Set the coding system used by the Windows system to CODING-SYSTEM. |
24498
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
339 This is used for things like passing font names with non-ASCII |
64563
3a895c8815ed
(w32-shell-name): Use `bound-and-true-p'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
340 characters in them to the system. For a list of possible values of |
41325
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
341 CODING-SYSTEM, use \\[list-coding-systems]. |
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
342 |
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
343 This function is provided for backward compatibility, since |
55792
0d890eccf70f
(w32-using-nt, w32-shell-dos-semantics, set-w32-system-coding-system):
Juanma Barranquero <lekktu@gmail.com>
parents:
52401
diff
changeset
|
344 `w32-system-coding-system' is now an alias for `locale-coding-system'." |
24498
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
345 (interactive |
41325
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
346 (list (let ((default locale-coding-system)) |
24498
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
347 (read-coding-system |
65680
ed770a0a7846
2005-09-24 Emilio C. Lopes <eclig@gmx.net>
Romain Francoise <romain@orebokech.com>
parents:
65298
diff
changeset
|
348 (format "Coding system for system calls (default %s): " |
24498
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
349 default) |
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
350 default)))) |
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
351 (check-coding-system coding-system) |
41325
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
352 (setq locale-coding-system coding-system)) |
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
353 |
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
354 ;; locale-coding-system was introduced to do the same thing as |
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
355 ;; w32-system-coding-system. Use that instead. |
65bad70edb17
(w32-system-coding-system): Change to an alias for
Jason Rumney <jasonr@gnu.org>
parents:
40458
diff
changeset
|
356 (defvaralias 'w32-system-coding-system 'locale-coding-system) |
24498
756058742361
(set-w32-system-coding-system) New function.
Geoff Voelker <voelker@cs.washington.edu>
parents:
24441
diff
changeset
|
357 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
358 ;; Set to a system sound if you want a fancy bell. |
11399 | 359 (set-message-beep nil) |
360 | |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
361 ;; The "Windows" keys on newer keyboards bring up the Start menu |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
362 ;; whether you want it or not - make Emacs ignore these keystrokes |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
363 ;; rather than beep. |
19692
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
364 (global-set-key [lwindow] 'ignore) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
365 (global-set-key [rwindow] 'ignore) |
4b8ff0021dcb
Don't unset C-mouse-down bindings.
Geoff Voelker <voelker@cs.washington.edu>
parents:
17549
diff
changeset
|
366 |
33385
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
367 (defun w32-add-charset-info (xlfd-charset windows-charset codepage) |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
368 "Function to add character sets to display with Windows fonts. |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
369 Creates entries in `w32-charset-info-alist'. |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
370 XLFD-CHARSET is a string which will appear in the XLFD font name to |
98778
0f8ccfd21a74
* w32-fns.el (w32-check-shell-configuration): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
97221
diff
changeset
|
371 identify the character set. WINDOWS-CHARSET is a symbol identifying |
64563
3a895c8815ed
(w32-shell-name): Use `bound-and-true-p'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
372 the Windows character set this maps to. For the list of possible |
3a895c8815ed
(w32-shell-name): Use `bound-and-true-p'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
373 values, see the documentation for `w32-charset-info-alist'. CODEPAGE |
33385
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
374 can be a numeric codepage that Windows uses to display the character |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
375 set, t for Unicode output with no codepage translation or nil for 8 |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
376 bit output with no translation." |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
377 (add-to-list 'w32-charset-info-alist |
98778
0f8ccfd21a74
* w32-fns.el (w32-check-shell-configuration): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
97221
diff
changeset
|
378 (cons xlfd-charset (cons windows-charset codepage)))) |
33385
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
379 |
45814
8e79905a56dd
(w32-charset-info-alist): Reorder.
Jason Rumney <jasonr@gnu.org>
parents:
43756
diff
changeset
|
380 ;; The last charset we add becomes the "preferred" charset for the return |
8e79905a56dd
(w32-charset-info-alist): Reorder.
Jason Rumney <jasonr@gnu.org>
parents:
43756
diff
changeset
|
381 ;; value from w32-select-font etc, so list the most important charsets last. |
33385
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
382 (w32-add-charset-info "iso8859-14" 'w32-charset-ansi 28604) |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
383 (w32-add-charset-info "iso8859-15" 'w32-charset-ansi 28605) |
89596
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
384 ;; The following two are included for pattern matching. |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
385 (w32-add-charset-info "jisx0201" 'w32-charset-shiftjis 932) |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
386 (w32-add-charset-info "jisx0208" 'w32-charset-shiftjis 932) |
33385
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
387 (w32-add-charset-info "jisx0201-latin" 'w32-charset-shiftjis 932) |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
388 (w32-add-charset-info "jisx0201-katakana" 'w32-charset-shiftjis 932) |
79980
399b25047283
Partially revert 2007-11-10 change.
Jason Rumney <jasonr@gnu.org>
parents:
79721
diff
changeset
|
389 (w32-add-charset-info "ksc5601.1989" 'w32-charset-hangeul 949) |
399b25047283
Partially revert 2007-11-10 change.
Jason Rumney <jasonr@gnu.org>
parents:
79721
diff
changeset
|
390 (w32-add-charset-info "big5" 'w32-charset-chinesebig5 950) |
399b25047283
Partially revert 2007-11-10 change.
Jason Rumney <jasonr@gnu.org>
parents:
79721
diff
changeset
|
391 (w32-add-charset-info "gb2312.1980" 'w32-charset-gb2312 936) |
33385
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
392 (w32-add-charset-info "ms-symbol" 'w32-charset-symbol nil) |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
393 (w32-add-charset-info "ms-oem" 'w32-charset-oem 437) |
262bed8a9ecf
(w32-add-charset-info): New function.
Jason Rumney <jasonr@gnu.org>
parents:
33212
diff
changeset
|
394 (w32-add-charset-info "ms-oemlatin" 'w32-charset-oem 850) |
96385
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
395 (w32-add-charset-info "iso8859-2" 'w32-charset-easteurope 28592) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
396 (w32-add-charset-info "iso8859-3" 'w32-charset-turkish 28593) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
397 (w32-add-charset-info "iso8859-4" 'w32-charset-baltic 28594) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
398 (w32-add-charset-info "iso8859-6" 'w32-charset-arabic 28596) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
399 (w32-add-charset-info "iso8859-7" 'w32-charset-greek 28597) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
400 (w32-add-charset-info "iso8859-8" 'w32-charset-hebrew 1255) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
401 (w32-add-charset-info "iso8859-9" 'w32-charset-turkish 1254) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
402 (w32-add-charset-info "iso8859-13" 'w32-charset-baltic 1257) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
403 (w32-add-charset-info "koi8-r" 'w32-charset-russian 20866) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
404 (w32-add-charset-info "iso8859-5" 'w32-charset-russian 28595) |
97221
b4be5834c484
(tis620-2533): Use as preferred registry for thai fonts.
Jason Rumney <jasonr@gnu.org>
parents:
96386
diff
changeset
|
405 (w32-add-charset-info "tis620-2533" 'w32-charset-thai 874) |
96385
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
406 (w32-add-charset-info "windows-1258" 'w32-charset-vietnamese 1258) |
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
407 (w32-add-charset-info "ksc5601.1992" 'w32-charset-johab 1361) |
96386 | 408 (w32-add-charset-info "mac-roman" 'w32-charset-mac 10000) |
409 (w32-add-charset-info "iso10646-1" 'w32-charset-default t) | |
96385
01647003e227
* w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
Jason Rumney <jasonr@gnu.org>
parents:
95841
diff
changeset
|
410 |
89596
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
411 ;; ;; If unicode windows charset is not defined, use ansi fonts. |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
412 ;; (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)) |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
413 |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
414 ;; Prefered names |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
415 (w32-add-charset-info "big5-0" 'w32-charset-chinesebig5 950) |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
416 (w32-add-charset-info "gb2312.1980-0" 'w32-charset-gb2312 936) |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
417 (w32-add-charset-info "jisx0208-sjis" 'w32-charset-shiftjis 932) |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
418 (w32-add-charset-info "ksc5601.1987-0" 'w32-charset-hangeul 949) |
967bca3bf3dd
(w32-charset-info-alist): Accept more charset aliases.
Jason Rumney <jasonr@gnu.org>
parents:
88123
diff
changeset
|
419 (w32-add-charset-info "tis620-0" 'w32-charset-thai 874) |
45814
8e79905a56dd
(w32-charset-info-alist): Reorder.
Jason Rumney <jasonr@gnu.org>
parents:
43756
diff
changeset
|
420 (w32-add-charset-info "iso8859-1" 'w32-charset-ansi 1252) |
28273
454890f5952d
(w32-charset-info-alist): Initialize.
Jason Rumney <jasonr@gnu.org>
parents:
27521
diff
changeset
|
421 |
33885
fd77fd05cecb
add version to obsolete variables.
Jason Rumney <jasonr@gnu.org>
parents:
33385
diff
changeset
|
422 (make-obsolete-variable 'w32-enable-italics |
fd77fd05cecb
add version to obsolete variables.
Jason Rumney <jasonr@gnu.org>
parents:
33385
diff
changeset
|
423 'w32-enable-synthesized-fonts "21.1") |
30237
c470ffbc2a4a
(w32-enable-italics, w32-charset-to-codepage-alist): Declare as obsolete.
Jason Rumney <jasonr@gnu.org>
parents:
29323
diff
changeset
|
424 (make-obsolete-variable 'w32-charset-to-codepage-alist |
33885
fd77fd05cecb
add version to obsolete variables.
Jason Rumney <jasonr@gnu.org>
parents:
33385
diff
changeset
|
425 'w32-charset-info-alist "21.1") |
30237
c470ffbc2a4a
(w32-enable-italics, w32-charset-to-codepage-alist): Declare as obsolete.
Jason Rumney <jasonr@gnu.org>
parents:
29323
diff
changeset
|
426 |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
427 |
110148
bcc7c00e9ef4
Remove cut buffer from documentation.
Jan D. <jan.h.d@swipnet.se>
parents:
110145
diff
changeset
|
428 ;;;; Selections |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
429 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
430 ;; We keep track of the last text selected here, so we can check the |
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
431 ;; current selection against it, and avoid passing back our own text |
110145 | 432 ;; from x-selection-value. |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
433 (defvar x-last-selected-text nil) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
434 |
110145 | 435 (defun x-select-text (text) |
104066 | 436 "Select TEXT, a string, according to the window system. |
437 | |
110145 | 438 On X, if `x-select-enable-clipboard' is non-nil, copy TEXT to the |
439 clipboard. If `x-select-enable-primary' is non-nil, put TEXT in | |
440 the primary selection. | |
104066 | 441 |
442 On Windows, make TEXT the current selection. If | |
443 `x-select-enable-clipboard' is non-nil, copy the text to the | |
110145 | 444 clipboard as well. |
104066 | 445 |
110145 | 446 On Nextstep, put TEXT in the pasteboard." |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
447 (if x-select-enable-clipboard |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
448 (w32-set-clipboard-data text)) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
449 (setq x-last-selected-text text)) |
40458
de4e98791121
(convert-standard-filename): Handle cygwin-specific pathnames.
Sam Steingold <sds@gnu.org>
parents:
40345
diff
changeset
|
450 |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
451 (defun x-get-selection-value () |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
452 "Return the value of the current selection. |
110148
bcc7c00e9ef4
Remove cut buffer from documentation.
Jan D. <jan.h.d@swipnet.se>
parents:
110145
diff
changeset
|
453 Consult the selection. Treat empty strings as if they were unset." |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
454 (if x-select-enable-clipboard |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
455 (let (text) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
456 ;; Don't die if x-get-selection signals an error. |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
457 (condition-case c |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
458 (setq text (w32-get-clipboard-data)) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
459 (error (message "w32-get-clipboard-data:%s" c))) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
460 (if (string= text "") (setq text nil)) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
461 (cond |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
462 ((not text) nil) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
463 ((eq text x-last-selected-text) nil) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
464 ((string= text x-last-selected-text) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
465 ;; Record the newer string, so subsequent calls can use the 'eq' test. |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
466 (setq x-last-selected-text text) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
467 nil) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
468 (t |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
469 (setq x-last-selected-text text)))))) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
470 |
110145 | 471 (defalias 'x-selection-value 'x-get-selection-value) |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
472 |
104706
76a2a2b0cf04
Fixup commenting conventions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104135
diff
changeset
|
473 ;; Arrange for the kill and yank functions to set and check the clipboard. |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
474 (setq interprogram-cut-function 'x-select-text) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
475 (setq interprogram-paste-function 'x-get-selection-value) |
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
476 |
67794
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
477 |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
478 ;;;; Support for build process |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
479 (defun w32-batch-update-autoloads () |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
480 "Like `batch-update-autoloads', but takes the name of the autoloads file |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
481 from the command line. |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
482 |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
483 This is required because some Windows build environments, such as MSYS, |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
484 munge command-line arguments that include file names to a horrible mess |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
485 that Emacs is unable to cope with." |
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
486 (let ((generated-autoload-file |
105607
f937670ddf40
(w32-batch-update-autoloads): Take autoload-make-program from the
Glenn Morris <rgm@gnu.org>
parents:
105009
diff
changeset
|
487 (expand-file-name (pop command-line-args-left))) |
f937670ddf40
(w32-batch-update-autoloads): Take autoload-make-program from the
Glenn Morris <rgm@gnu.org>
parents:
105009
diff
changeset
|
488 ;; I can only assume the same considerations may apply here... |
f937670ddf40
(w32-batch-update-autoloads): Take autoload-make-program from the
Glenn Morris <rgm@gnu.org>
parents:
105009
diff
changeset
|
489 (autoload-make-program (pop command-line-args-left))) |
67794
09f3c0ac0073
(w32-batch-update-autoloads): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
65680
diff
changeset
|
490 (batch-update-autoloads))) |
34369
b5cb05f23e04
Add clipboard support from term/w32-win.el, so it is
Andrew Innes <andrewi@gnu.org>
parents:
33885
diff
changeset
|
491 |
74511
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
492 (defun w32-append-code-lines (orig extra) |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
493 "Append non-empty non-comment lines in the file EXTRA to the file ORIG. |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
494 |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
495 This function saves all buffers and kills the Emacs session, without asking |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
496 for any permissions. |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
497 |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
498 This is required because the Windows build environment is not required |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
499 to include Sed, which is used by leim/Makefile.in to do the job." |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
500 (find-file orig) |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
501 (goto-char (point-max)) |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
502 (insert-file-contents extra) |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
503 (delete-matching-lines "^$\\|^;") |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
504 (save-buffers-kill-emacs t)) |
de08a74adc2a
(w32-append-code-lines): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
68651
diff
changeset
|
505 |
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
93085
diff
changeset
|
506 ;; arch-tag: c49b48cc-0f4f-454f-a274-c2dc34815e14 |
16592
a5e9fa379097
Use new file name w32-fns.el
Geoff Voelker <voelker@cs.washington.edu>
parents:
16028
diff
changeset
|
507 ;;; w32-fns.el ends here |