Mercurial > emacs
comparison lisp/emulation/pc-select.el @ 43985:2fab49a69d94
(pc-selection-mode): Alter the existing global map, don't replace it.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 18 Mar 2002 04:31:36 +0000 |
parents | 32f6fb5c961f |
children | 0d8b17d428b5 |
comparison
equal
deleted
inserted
replaced
43984:477ed75a821b | 43985:2fab49a69d94 |
---|---|
880 :global t | 880 :global t |
881 | 881 |
882 (if pc-selection-mode | 882 (if pc-selection-mode |
883 (if (null pc-select-key-bindings-alist) | 883 (if (null pc-select-key-bindings-alist) |
884 (progn | 884 (progn |
885 (setq pc-select-map (copy-keymap (current-global-map)) | 885 (setq pc-select-saved-global-map (copy-keymap (current-global-map))) |
886 pc-select-saved-global-map (copy-keymap (current-global-map))) | |
887 | |
888 (setq pc-select-key-bindings-alist | 886 (setq pc-select-key-bindings-alist |
889 (append pc-select-default-key-bindings | 887 (append pc-select-default-key-bindings |
890 (if pc-select-selection-keys-only | 888 (if pc-select-selection-keys-only |
891 nil | 889 nil |
892 pc-select-extra-key-bindings) | 890 pc-select-extra-key-bindings) |
897 (eq window-system 'x) | 895 (eq window-system 'x) |
898 (memq system-name '(ms-dos windows-nt))) | 896 (memq system-name '(ms-dos windows-nt))) |
899 nil | 897 nil |
900 pc-select-tty-key-bindings))) | 898 pc-select-tty-key-bindings))) |
901 | 899 |
902 (pc-select-define-keys pc-select-key-bindings-alist pc-select-map) | 900 (pc-select-define-keys pc-select-key-bindings-alist |
903 (use-global-map pc-select-map) | 901 (current-global-map)) |
904 | 902 |
905 (unless (or pc-select-selection-keys-only | 903 (unless (or pc-select-selection-keys-only |
906 (eq window-system 'x) | 904 (eq window-system 'x) |
907 (memq system-name '(ms-dos windows-nt))) | 905 (memq system-name '(ms-dos windows-nt))) |
908 ;; it is not clear that we need the following line | 906 ;; it is not clear that we need the following line |
909 ;; I hope it doesn't do too much harm to leave it in, though... | 907 ;; I hope it doesn't do too much harm to leave it in, though... |
910 (setq pc-select-old-M-delete-binding | 908 (setq pc-select-old-M-delete-binding |
911 (lookup-key function-key-map [M-delete])) | 909 (lookup-key function-key-map [M-delete])) |
912 (define-key function-key-map [M-delete] [?\M-d])) | 910 (define-key function-key-map [M-delete] [?\M-d])) |
913 | 911 |
914 (when (and (not pc-select-selection-keys-only) | 912 (when (and (not pc-select-selection-keys-only) |
918 (pc-select-save-and-set-mode normal-erase-is-backspace-mode 1 | 916 (pc-select-save-and-set-mode normal-erase-is-backspace-mode 1 |
919 normal-erase-is-backspace)) | 917 normal-erase-is-backspace)) |
920 ;; the original author also had this above: | 918 ;; the original author also had this above: |
921 ;; (setq-default normal-erase-is-backspace t) | 919 ;; (setq-default normal-erase-is-backspace t) |
922 ;; However, the documentation for the variable says that | 920 ;; However, the documentation for the variable says that |
923 ;; "setting it with setq has no effect", so I'm removing it. | 921 ;; "setting it with setq has no effect", so I'm removing it. |
924 | 922 |
925 (pc-select-save-and-set-var highlight-nonselected-windows nil) | 923 (pc-select-save-and-set-var highlight-nonselected-windows nil) |
926 (pc-select-save-and-set-var transient-mark-mode t) | 924 (pc-select-save-and-set-var transient-mark-mode t) |
927 (pc-select-save-and-set-var mark-even-if-inactive t) | 925 (pc-select-save-and-set-var mark-even-if-inactive t) |
928 (pc-select-save-and-set-mode delete-selection-mode 1)) | 926 (pc-select-save-and-set-mode delete-selection-mode 1)) |
929 ;;else | 927 ;;else |
930 ;; If the user turned on pc-selection-mode a second time | 928 ;; If the user turned on pc-selection-mode a second time |
931 ;; do not clobber the values of the variables that were | 929 ;; do not clobber the values of the variables that were |
932 ;; saved from before pc-selection mode was activated -- | 930 ;; saved from before pc-selection mode was activated -- |
933 ;; just make sure the values are the way we like them. | 931 ;; just make sure the values are the way we like them. |
934 (setq pc-select-map (copy-keymap (current-global-map))) | 932 (pc-select-define-keys pc-select-key-bindings-alist |
935 (pc-select-define-keys pc-select-key-bindings-alist pc-select-map) | 933 (current-global-map)) |
936 (use-global-map pc-select-map) | |
937 (unless (or pc-select-selection-keys-only | 934 (unless (or pc-select-selection-keys-only |
938 (eq window-system 'x) | 935 (eq window-system 'x) |
939 (memq system-name '(ms-dos windows-nt))) | 936 (memq system-name '(ms-dos windows-nt))) |
940 ;; it is not clear that we need the following line | 937 ;; it is not clear that we need the following line |
941 ;; I hope it doesn't do too much harm to leave it in, though... | 938 ;; I hope it doesn't do too much harm to leave it in, though... |
942 (define-key function-key-map [M-delete] [?\M-d])) | 939 (define-key function-key-map [M-delete] [?\M-d])) |
943 (when (and (not pc-select-selection-keys-only) | 940 (when (and (not pc-select-selection-keys-only) |
944 (or (eq window-system 'x) | 941 (or (eq window-system 'x) |
945 (memq system-name '(ms-dos windows-nt))) | 942 (memq system-name '(ms-dos windows-nt))) |
946 (fboundp 'normal-erase-is-backspace-mode)) | 943 (fboundp 'normal-erase-is-backspace-mode)) |
954 (when (and (not pc-select-selection-keys-only) | 951 (when (and (not pc-select-selection-keys-only) |
955 (or (eq window-system 'x) | 952 (or (eq window-system 'x) |
956 (memq system-name '(ms-dos windows-nt)))) | 953 (memq system-name '(ms-dos windows-nt)))) |
957 (pc-select-restore-mode normal-erase-is-backspace-mode)) | 954 (pc-select-restore-mode normal-erase-is-backspace-mode)) |
958 | 955 |
959 (setq pc-select-map (copy-keymap (current-global-map))) | |
960 (pc-select-restore-keys | 956 (pc-select-restore-keys |
961 pc-select-key-bindings-alist pc-select-map pc-select-saved-global-map) | 957 pc-select-key-bindings-alist (current-global-map) |
962 (use-global-map pc-select-map) | 958 pc-select-saved-global-map) |
963 | 959 |
964 (pc-select-restore-var highlight-nonselected-windows) | 960 (pc-select-restore-var highlight-nonselected-windows) |
965 (pc-select-restore-var transient-mark-mode) | 961 (pc-select-restore-var transient-mark-mode) |
966 (pc-select-restore-var mark-even-if-inactive) | 962 (pc-select-restore-var mark-even-if-inactive) |
967 (pc-select-restore-mode delete-selection-mode) | 963 (pc-select-restore-mode delete-selection-mode) |