annotate lisp/play/studly.el @ 30381:ace34a073127

(IT_note_mouse_highlight): Process overlays in the correct order of priority. If help echo was found in an overlay, use that overlay as the object in which the help echo was found.
author Eli Zaretskii <eliz@gnu.org>
date Sun, 23 Jul 2000 13:03:16 +0000
parents 11218164bc54
children 5a9159a46fe5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
657
fec3f9a1e3e5 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2
diff changeset
1 ;;; studly.el --- StudlyCaps (tm)(r)(c)(xxx)
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 665
diff changeset
2
665
f9274ecd9acd *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 664
diff changeset
3 ;;; This is in the public domain, since it was distributed
f9274ecd9acd *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 664
diff changeset
4 ;;; by its author without a copyright notice in 1986.
2
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
841
2cdce064065f entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 814
diff changeset
6 ;; Keywords: games
2cdce064065f entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 814
diff changeset
7
2315
9e7ec92a4fdf Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 841
diff changeset
8 ;;; Commentary:
9e7ec92a4fdf Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 841
diff changeset
9
9e7ec92a4fdf Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 841
diff changeset
10 ;; Functions to studlycapsify a region, word, or buffer. Possibly the
9e7ec92a4fdf Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 841
diff changeset
11 ;; esoteric significance of studlycapsification escapes you; that is,
9e7ec92a4fdf Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 841
diff changeset
12 ;; you suffer from autostudlycapsifibogotification. Too bad.
9e7ec92a4fdf Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 841
diff changeset
13
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 665
diff changeset
14 ;;; Code:
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 665
diff changeset
15
2
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 (defun studlify-region (begin end)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 "Studlify-case the region"
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 (interactive "*r")
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 (save-excursion
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 (goto-char begin)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 (setq begin (point))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 (while (and (<= (point) end)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 (not (looking-at "\\W*\\'")))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 (forward-word 1)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 (backward-word 1)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 (setq begin (max (point) begin))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 (forward-word 1)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 (let ((offset 0)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 (word-end (min (point) end))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 c)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 (goto-char begin)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 (while (< (point) word-end)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 (setq offset (+ offset (following-char)))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 (forward-char 1))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 (setq offset (+ offset (following-char)))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 (goto-char begin)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 (while (< (point) word-end)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 (setq c (following-char))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 (if (and (= (% (+ c offset) 4) 2)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 (let ((ch (following-char)))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 (or (and (>= ch ?a) (<= ch ?z))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 (and (>= ch ?A) (<= ch ?Z)))))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 (progn
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 (delete-char 1)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 (insert (logxor c ? ))))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 (forward-char 1))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 (setq begin (point))))))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 (defun studlify-word (count)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 "Studlify-case the current word, or COUNT words if given an argument"
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 (interactive "*p")
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 (let ((begin (point)) end rb re)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 (forward-word count)
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 (setq end (point))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 (setq rb (min begin end) re (max begin end))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 (studlify-region rb re)))
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 (defun studlify-buffer ()
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 "Studlify-case the current buffer"
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 (interactive "*")
9b11cd9e3ba8 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 (studlify-region (point-min) (point-max)))
657
fec3f9a1e3e5 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2
diff changeset
62
18383
11218164bc54 Add provide call.
Richard M. Stallman <rms@gnu.org>
parents: 2315
diff changeset
63 (provide 'studly)
11218164bc54 Add provide call.
Richard M. Stallman <rms@gnu.org>
parents: 2315
diff changeset
64
657
fec3f9a1e3e5 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2
diff changeset
65 ;;; studly.el ends here