Mercurial > emacs
annotate lisp/emulation/crisp.el @ 107521:54f3a4d055ee
Document font-use-system-font.
* cmdargs.texi (Font X): Move most content to Fonts.
* frames.texi (Fonts): New node. Document font-use-system-font.
* emacs.texi (Top):
* xresources.texi (Table of Resources):
* mule.texi (Defining Fontsets, Charsets): Update xrefs.
| author | Chong Yidong <cyd@stupidchicken.com> |
|---|---|
| date | Sat, 20 Mar 2010 13:24:06 -0400 |
| parents | 1d1d5d9bd884 |
| children | 7c4da622f181 376148b31b5e |
| rev | line source |
|---|---|
| 24762 | 1 ;;; crisp.el --- CRiSP/Brief Emacs emulator |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
2 |
| 74466 | 3 ;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, |
| 106815 | 4 ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 17361 | 5 |
| 25721 | 6 ;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM> |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
7 ;; Keywords: emulations brief crisp |
| 17361 | 8 |
| 9 ;; This file is part of GNU Emacs. | |
| 10 | |
|
94658
eb7b2376cae5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
11 ;; GNU Emacs is free software: you can redistribute it and/or modify |
| 17361 | 12 ;; it under the terms of the GNU General Public License as published by |
|
94658
eb7b2376cae5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
13 ;; the Free Software Foundation, either version 3 of the License, or |
|
eb7b2376cae5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
14 ;; (at your option) any later version. |
| 17361 | 15 |
| 16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
| 17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 19 ;; GNU General Public License for more details. | |
| 20 | |
| 21 ;; You should have received a copy of the GNU General Public License | |
|
94658
eb7b2376cae5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 17361 | 23 |
| 24 ;;; Commentary: | |
| 25 | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
26 ;; Keybindings and minor functions to duplicate the functionality and |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
27 ;; finger-feel of the CRiSP/Brief editor. This package is designed to |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
28 ;; facilitate transitioning from Brief to (XE|E)macs with a minimum |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
29 ;; amount of hassles. |
| 17361 | 30 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
31 ;; Enable this package by putting (require 'crisp) in your .emacs and |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
32 ;; use M-x crisp-mode to toggle it on or off. |
| 17361 | 33 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
34 ;; This package will automatically load the scroll-all.el package if |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
35 ;; you put (setq crisp-load-scroll-all t) in your .emacs before |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
36 ;; loading this package. If this feature is enabled, it will bind |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
37 ;; meta-f1 to the scroll-all mode toggle. The scroll-all package |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
38 ;; duplicates the scroll-alling feature in CRiSP. |
| 17361 | 39 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
40 ;; Also, the default keybindings for brief/CRiSP override the M-x |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
41 ;; key to exit the editor. If you don't like this functionality, you |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
42 ;; can prevent this behavior (or redefine it dynamically) by setting |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
43 ;; the value of `crisp-override-meta-x' either in your .emacs or |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
44 ;; interactively. The default setting is t, which means that M-x will |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
45 ;; by default run `save-buffers-kill-emacs' instead of the command |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
46 ;; `execute-extended-command'. |
| 17361 | 47 |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
48 ;; Finally, if you want to change the string displayed in the modeline |
|
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
49 ;; when this mode is in effect, override the definition of |
|
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
50 ;; `crisp-mode-modeline-string' in your .emacs. The default value is |
|
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
51 ;; " *Crisp*" which may be a bit lengthy if you have a lot of things |
|
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
52 ;; being displayed there. |
|
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
53 |
| 17361 | 54 ;; All these overrides should go *before* the (require 'crisp) statement. |
| 55 | |
| 24762 | 56 ;;; Code: |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
57 |
|
104922
c603ee2aac17
* keymap.c (QCadvertised_binding): New constant.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
58 (eval-when-compile (require 'cl)) |
|
c603ee2aac17
* keymap.c (QCadvertised_binding): New constant.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
59 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
60 ;; local variables |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
61 |
| 20962 | 62 (defgroup crisp nil |
| 63 "Emulator for CRiSP and Brief key bindings." | |
| 64 :prefix "crisp-" | |
| 65 :group 'emulations) | |
| 66 | |
|
104923
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
67 (defvar crisp-mode-map |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
68 (let ((map (make-sparse-keymap))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
69 (define-key map [(f1)] 'other-window) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
70 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
71 (define-key map [(f2) (down)] 'enlarge-window) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
72 (define-key map [(f2) (left)] 'shrink-window-horizontally) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
73 (define-key map [(f2) (right)] 'enlarge-window-horizontally) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
74 (define-key map [(f2) (up)] 'shrink-window) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
75 (define-key map [(f3) (down)] 'split-window-vertically) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
76 (define-key map [(f3) (right)] 'split-window-horizontally) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
77 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
78 (define-key map [(f4)] 'delete-window) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
79 (define-key map [(control f4)] 'delete-other-windows) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
80 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
81 (define-key map [(f5)] 'search-forward-regexp) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
82 (define-key map [(f19)] 'search-forward-regexp) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
83 (define-key map [(meta f5)] 'search-backward-regexp) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
84 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
85 (define-key map [(f6)] 'query-replace) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
86 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
87 (define-key map [(f7)] 'start-kbd-macro) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
88 (define-key map [(meta f7)] 'end-kbd-macro) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
89 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
90 (define-key map [(f8)] 'call-last-kbd-macro) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
91 (define-key map [(meta f8)] 'save-kbd-macro) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
92 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
93 (define-key map [(f9)] 'find-file) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
94 (define-key map [(meta f9)] 'load-library) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
95 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
96 (define-key map [(f10)] 'execute-extended-command) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
97 (define-key map [(meta f10)] 'compile) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
98 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
99 (define-key map [(SunF37)] 'kill-buffer) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
100 (define-key map [(kp-add)] 'crisp-copy-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
101 (define-key map [(kp-subtract)] 'crisp-kill-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
102 ;; just to cover all the bases (GNU Emacs, for instance) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
103 (define-key map [(f24)] 'crisp-kill-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
104 (define-key map [(insert)] 'crisp-yank-clipboard) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
105 (define-key map [(f16)] 'crisp-set-clipboard) ; copy on Sun5 kbd |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
106 (define-key map [(f20)] 'crisp-kill-region) ; cut on Sun5 kbd |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
107 (define-key map [(f18)] 'crisp-yank-clipboard) ; paste on Sun5 kbd |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
108 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
109 (define-key map [(control f)] 'fill-paragraph-or-region) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
110 (define-key map [(meta d)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
111 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
112 (beginning-of-line) (kill-line))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
113 (define-key map [(meta e)] 'find-file) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
114 (define-key map [(meta g)] 'goto-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
115 (define-key map [(meta h)] 'help) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
116 (define-key map [(meta i)] 'overwrite-mode) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
117 (define-key map [(meta j)] 'bookmark-jump) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
118 (define-key map [(meta l)] 'crisp-mark-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
119 (define-key map [(meta m)] 'set-mark-command) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
120 (define-key map [(meta n)] 'bury-buffer) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
121 (define-key map [(meta p)] 'crisp-unbury-buffer) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
122 (define-key map [(meta u)] 'undo) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
123 (define-key map [(f14)] 'undo) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
124 (define-key map [(meta w)] 'save-buffer) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
125 (define-key map [(meta x)] 'crisp-meta-x-wrapper) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
126 (define-key map [(meta ?0)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
127 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
128 (bookmark-set "0"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
129 (define-key map [(meta ?1)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
130 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
131 (bookmark-set "1"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
132 (define-key map [(meta ?2)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
133 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
134 (bookmark-set "2"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
135 (define-key map [(meta ?3)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
136 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
137 (bookmark-set "3"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
138 (define-key map [(meta ?4)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
139 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
140 (bookmark-set "4"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
141 (define-key map [(meta ?5)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
142 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
143 (bookmark-set "5"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
144 (define-key map [(meta ?6)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
145 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
146 (bookmark-set "6"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
147 (define-key map [(meta ?7)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
148 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
149 (bookmark-set "7"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
150 (define-key map [(meta ?8)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
151 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
152 (bookmark-set "8"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
153 (define-key map [(meta ?9)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
154 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
155 (bookmark-set "9"))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
156 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
157 (define-key map [(shift delete)] 'kill-word) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
158 (define-key map [(shift backspace)] 'backward-kill-word) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
159 (define-key map [(control left)] 'backward-word) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
160 (define-key map [(control right)] 'forward-word) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
161 |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
162 (define-key map [(home)] 'crisp-home) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
163 (define-key map [(control home)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
164 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
165 (move-to-window-line 0))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
166 (define-key map [(meta home)] 'beginning-of-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
167 (define-key map [(end)] 'crisp-end) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
168 (define-key map [(control end)] (lambda () |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
169 (interactive) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
170 (move-to-window-line -1))) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
171 (define-key map [(meta end)] 'end-of-line) |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
172 map) |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
173 "Local keymap for CRiSP emulation mode. |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
174 All the bindings are done here instead of globally to try and be |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
175 nice to the world.") |
| 17361 | 176 |
| 20962 | 177 (defcustom crisp-mode-modeline-string " *CRiSP*" |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
178 "*String to display in the modeline when CRiSP emulation mode is enabled." |
| 20962 | 179 :type 'string |
| 180 :group 'crisp) | |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
181 |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
182 ;;;###autoload |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
183 (defcustom crisp-mode nil |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
184 "Track status of CRiSP emulation mode. |
|
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
185 A value of nil means CRiSP mode is not enabled. A value of t |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
186 indicates CRiSP mode is enabled. |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
187 |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
188 Setting this variable directly does not take effect; |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
189 use either M-x customize or the function `crisp-mode'." |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
190 :set (lambda (symbol value) (crisp-mode (if value 1 0))) |
|
24839
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
191 :initialize 'custom-initialize-default |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
192 :require 'crisp |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
193 :version "20.4" |
| 20962 | 194 :type 'boolean |
| 195 :group 'crisp) | |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
196 |
| 20962 | 197 (defcustom crisp-override-meta-x t |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
198 "*Controls overriding the normal Emacs M-x key binding in the CRiSP emulator. |
| 22827 | 199 Normally the CRiSP emulator rebinds M-x to `save-buffers-exit-emacs', and |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
200 provides the usual M-x functionality on the F10 key. If this variable |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
201 is non-nil, M-x will exit Emacs." |
| 20962 | 202 :type 'boolean |
| 203 :group 'crisp) | |
| 17361 | 204 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
205 (defcustom crisp-load-scroll-all nil |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
206 "Controls loading of the Scroll Lock in the CRiSP emulator. |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
207 Its default behavior is to load and enable the Scroll Lock minor mode |
| 17361 | 208 package when enabling the CRiSP emulator. |
| 209 | |
| 210 If this variable is nil when you start the CRiSP emulator, it | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
211 does not load the scroll-all package." |
| 20962 | 212 :type 'boolean |
| 213 :group 'crisp) | |
| 17361 | 214 |
| 20962 | 215 (defcustom crisp-load-hook nil |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
216 "Hooks to run after loading the CRiSP emulator package." |
| 20962 | 217 :type 'hook |
| 218 :group 'crisp) | |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
219 |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
220 (defcustom crisp-mode-hook nil |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
221 "Hook run by the function `crisp-mode'." |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
222 :type 'hook |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
223 :group 'crisp) |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
224 |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
225 (defconst crisp-version "1.34" |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
226 "The version of the CRiSP emulator.") |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
227 |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
228 (defconst crisp-mode-help-address "gfoster@suzieq.ml.org" |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
229 "The email address of the CRiSP mode author/maintainer.") |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
230 |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
231 ;; Silence the byte-compiler. |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
232 (defvar crisp-last-last-command nil |
| 22827 | 233 "The previous value of `last-command'.") |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
234 |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
235 ;; The cut and paste routines are different between XEmacs and Emacs |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
236 ;; so we need to set up aliases for the functions. |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
237 |
| 22827 | 238 (defalias 'crisp-set-clipboard |
| 239 (if (fboundp 'clipboard-kill-ring-save) | |
| 240 'clipboard-kill-ring-save | |
| 241 'copy-primary-selection)) | |
|
17900
08062aad7ef6
(crisp-last-last-command): Renamed from last-last-command
Richard M. Stallman <rms@gnu.org>
parents:
17599
diff
changeset
|
242 |
| 22827 | 243 (defalias 'crisp-kill-region |
| 244 (if (fboundp 'clipboard-kill-region) | |
| 245 'clipboard-kill-region | |
| 246 'kill-primary-selection)) | |
| 247 | |
| 248 (defalias 'crisp-yank-clipboard | |
| 249 (if (fboundp 'clipboard-yank) | |
| 250 'clipboard-yank | |
| 251 'yank-clipboard-selection)) | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
252 |
| 22827 | 253 (defun crisp-region-active () |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
254 "Compatibility function to test for an active region." |
|
87941
d77b6e5ee8af
* sieve.el (sieve-make-overlay, sieve-overlay-put, sieve-overlays-at):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
79705
diff
changeset
|
255 (if (featurep 'xemacs) |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
256 zmacs-region-active-p |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
257 mark-active)) |
| 17361 | 258 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
259 (defun crisp-version (&optional arg) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
260 "Version number of the CRiSP emulator package. |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
261 If ARG, insert results at point." |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
262 (interactive "P") |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
263 (let ((foo (concat "CRiSP version " crisp-version))) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
264 (if arg |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
265 (insert (message foo)) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
266 (message foo)))) |
| 17361 | 267 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
268 (defun crisp-mark-line (arg) |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
269 "Set mark at the end of the line. |
|
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
270 Arg works as in `end-of-line'." |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
271 (interactive "p") |
|
22849
d1d9c92ca734
(crisp-mark-line): Greatly simplified.
Richard M. Stallman <rms@gnu.org>
parents:
22827
diff
changeset
|
272 (let (newmark) |
|
d1d9c92ca734
(crisp-mark-line): Greatly simplified.
Richard M. Stallman <rms@gnu.org>
parents:
22827
diff
changeset
|
273 (save-excursion |
| 22827 | 274 (end-of-line arg) |
|
22849
d1d9c92ca734
(crisp-mark-line): Greatly simplified.
Richard M. Stallman <rms@gnu.org>
parents:
22827
diff
changeset
|
275 (setq newmark (point))) |
|
d1d9c92ca734
(crisp-mark-line): Greatly simplified.
Richard M. Stallman <rms@gnu.org>
parents:
22827
diff
changeset
|
276 (push-mark newmark nil t))) |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
277 |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
278 (defun crisp-kill-line (arg) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
279 "Mark and kill line(s). |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
280 Marks from point to end of the current line (honoring prefix arguments), |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
281 copies the region to the kill ring and clipboard, and then deletes it." |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
282 (interactive "*p") |
| 22827 | 283 (if (crisp-region-active) |
| 284 (call-interactively 'crisp-kill-region) | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
285 (crisp-mark-line arg) |
| 22827 | 286 (call-interactively 'crisp-kill-region))) |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
287 |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
288 (defun crisp-copy-line (arg) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
289 "Mark and copy line(s). |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
290 Marks from point to end of the current line (honoring prefix arguments), |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
291 copies the region to the kill ring and clipboard, and then deactivates |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
292 the region." |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
293 (interactive "*p") |
| 22827 | 294 (if (crisp-region-active) |
| 295 (call-interactively 'crisp-set-clipboard) | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
296 (crisp-mark-line arg) |
| 22827 | 297 (call-interactively 'crisp-set-clipboard)) |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
298 ;; clear the region after the operation is complete |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
299 ;; XEmacs does this automagically, Emacs doesn't. |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
300 (if (boundp 'mark-active) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
301 (setq mark-active nil))) |
| 17361 | 302 |
| 303 (defun crisp-home () | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
304 "\"Home\" the point, the way CRiSP would do it. |
| 17361 | 305 The first use moves point to beginning of the line. Second |
| 306 consecutive use moves point to beginning of the screen. Third | |
| 307 consecutive use moves point to the beginning of the buffer." | |
| 308 (interactive nil) | |
| 309 (cond | |
|
17900
08062aad7ef6
(crisp-last-last-command): Renamed from last-last-command
Richard M. Stallman <rms@gnu.org>
parents:
17599
diff
changeset
|
310 ((and (eq last-command 'crisp-home) |
|
08062aad7ef6
(crisp-last-last-command): Renamed from last-last-command
Richard M. Stallman <rms@gnu.org>
parents:
17599
diff
changeset
|
311 (eq crisp-last-last-command 'crisp-home)) |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
312 (goto-char (point-min))) |
| 17361 | 313 ((eq last-command 'crisp-home) |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
314 (move-to-window-line 0)) |
| 17361 | 315 (t |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
316 (beginning-of-line))) |
|
17900
08062aad7ef6
(crisp-last-last-command): Renamed from last-last-command
Richard M. Stallman <rms@gnu.org>
parents:
17599
diff
changeset
|
317 (setq crisp-last-last-command last-command)) |
| 17361 | 318 |
| 319 (defun crisp-end () | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
320 "\"End\" the point, the way CRiSP would do it. |
| 17361 | 321 The first use moves point to end of the line. Second |
| 322 consecutive use moves point to the end of the screen. Third | |
| 323 consecutive use moves point to the end of the buffer." | |
| 324 (interactive nil) | |
| 325 (cond | |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
326 ((and (eq last-command 'crisp-end) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
327 (eq crisp-last-last-command 'crisp-end)) |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
328 (goto-char (point-max))) |
| 17361 | 329 ((eq last-command 'crisp-end) |
| 330 (move-to-window-line -1) | |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
331 (end-of-line)) |
| 17361 | 332 (t |
|
17448
b0fb37e0d14b
Install the proper version.
Richard M. Stallman <rms@gnu.org>
parents:
17367
diff
changeset
|
333 (end-of-line))) |
|
17900
08062aad7ef6
(crisp-last-last-command): Renamed from last-last-command
Richard M. Stallman <rms@gnu.org>
parents:
17599
diff
changeset
|
334 (setq crisp-last-last-command last-command)) |
| 17361 | 335 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
336 (defun crisp-unbury-buffer () |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
337 "Go back one buffer." |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
338 (interactive) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
339 (switch-to-buffer (car (last (buffer-list))))) |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
29056
diff
changeset
|
340 |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
341 (defun crisp-meta-x-wrapper () |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
342 "Wrapper function to conditionally override the normal M-x bindings. |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
343 When `crisp-override-meta-x' is non-nil, M-x will exit Emacs (the |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
344 normal CRiSP binding) and when it is nil M-x will run |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
345 `execute-extended-command' (the normal Emacs binding)." |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
346 (interactive) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
347 (if crisp-override-meta-x |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
348 (save-buffers-kill-emacs) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
349 (call-interactively 'execute-extended-command))) |
|
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
350 |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
351 ;;;###autoload |
|
104923
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
352 (define-minor-mode crisp-mode |
| 29056 | 353 "Toggle CRiSP/Brief emulation minor mode. |
|
22758
dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
354 With ARG, turn CRiSP mode on if ARG is positive, off otherwise." |
|
104923
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
355 :keymap crisp-mode-map |
|
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
356 :lighter crisp-mode-modeline-string |
|
24770
c9cc4db4508f
(crisp-mode-map): Don't inherit global-map.
Richard M. Stallman <rms@gnu.org>
parents:
24762
diff
changeset
|
357 (when crisp-mode |
|
104922
c603ee2aac17
* keymap.c (QCadvertised_binding): New constant.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
358 ;; Make menu entries show M-u or f14 in preference to C-x u. |
|
c603ee2aac17
* keymap.c (QCadvertised_binding): New constant.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
359 (put 'undo :advertised-binding |
|
c603ee2aac17
* keymap.c (QCadvertised_binding): New constant.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
360 (list* [?\M-u] [f14] (get 'undo :advertised-binding))) |
|
24839
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
361 ;; Force transient-mark-mode, so that the marking routines work as |
|
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
362 ;; expected. If the user turns off transient mark mode, most |
|
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
363 ;; things will still work fine except the crisp-(copy|kill) |
|
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
364 ;; functions won't work quite as nicely when regions are marked |
|
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
365 ;; differently and could really confuse people. Caveat emptor. |
|
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
366 (if (fboundp 'transient-mark-mode) |
|
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
367 (transient-mark-mode t)) |
|
17599
dd277f4e6737
(crisp-load-scroll-all): Renamed from ...-lock.
Richard M. Stallman <rms@gnu.org>
parents:
17448
diff
changeset
|
368 (if crisp-load-scroll-all |
|
dd277f4e6737
(crisp-load-scroll-all): Renamed from ...-lock.
Richard M. Stallman <rms@gnu.org>
parents:
17448
diff
changeset
|
369 (require 'scroll-all)) |
|
dd277f4e6737
(crisp-load-scroll-all): Renamed from ...-lock.
Richard M. Stallman <rms@gnu.org>
parents:
17448
diff
changeset
|
370 (if (featurep 'scroll-all) |
|
104923
360dda0c7586
* emulation/crisp.el (crisp-mode-map): Move initialization
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104922
diff
changeset
|
371 (define-key crisp-mode-map [(meta f1)] 'scroll-all-mode)))) |
| 17361 | 372 |
| 29056 | 373 ;; People might use Apropos on `brief'. |
| 374 ;;;###autoload | |
| 375 (defalias 'brief-mode 'crisp-mode) | |
| 376 | |
|
50062
b43d8c1413de
* man.el (Man-getpage-in-background): Always use `setenv' for
Kai Gro?johann <kgrossjo@eu.uu.net>
parents:
49598
diff
changeset
|
377 ;; Interaction with other packages. |
|
62507
68429718056c
(crisp-home, crisp-end): Put CUA property.
Kim F. Storm <storm@cua.dk>
parents:
62440
diff
changeset
|
378 (put 'crisp-home 'CUA 'move) |
|
68429718056c
(crisp-home, crisp-end): Put CUA property.
Kim F. Storm <storm@cua.dk>
parents:
62440
diff
changeset
|
379 (put 'crisp-end 'CUA 'move) |
|
50062
b43d8c1413de
* man.el (Man-getpage-in-background): Always use `setenv' for
Kai Gro?johann <kgrossjo@eu.uu.net>
parents:
49598
diff
changeset
|
380 |
|
24839
c67fe81fd9ed
(crisp-mode): (defcustom) Initialize with
Karl Heuer <kwzh@gnu.org>
parents:
24771
diff
changeset
|
381 (run-hooks 'crisp-load-hook) |
| 17361 | 382 (provide 'crisp) |
| 383 | |
|
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87941
diff
changeset
|
384 ;; arch-tag: e5369375-fafb-4240-b7ae-4cb460ef05ee |
| 17367 | 385 ;;; crisp.el ends here |
