annotate lisp/oobr/hmouse-br.el @ 131:869e1851236b xemacs-20-1p4

Import from CVS: tag xemacs-20-1p4
author cvs
date Mon, 13 Aug 2007 09:29:07 +0200
parents 4be1180a9e89
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 ;;!emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 ;; FILE: hmouse-br.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 ;; SUMMARY: Hyperbole Key control for the OO-Browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 ;; USAGE: GNU Emacs Lisp Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 ;; KEYWORDS: mouse, oop, tools
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 ;; AUTHOR: Bob Weiner
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 70
diff changeset
9 ;; ORG: InfoDock Associates
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 ;; ORIG-DATE: Sep-04-90
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 70
diff changeset
12 ;; LAST-MOD: 20-Feb-97 at 07:05:21 by Bob Weiner
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 ;;
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents: 70
diff changeset
14 ;; Copyright (C) 1990-1995, 1997 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 ;; See the file BR-COPY for license information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 ;; This file is part of the OO-Browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 ;; DESCRIPTION:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 ;; DESCRIP-END.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 ;;; ************************************************************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 ;;; Other required Elisp libraries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 ;;; ************************************************************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 (require 'br)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 ;;; ************************************************************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 ;;; smart-br functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 ;;; ************************************************************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 ;;; Unused unless the "br.el" library, part of the OO-Browser package, has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 ;;; been loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 (defun smart-br ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 "Controls OO-Browser listing buffers with one key or mouse key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 Invoked via a key press when in an OO-Browser listing window. It assumes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 that its caller has already checked that the key was pressed in an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 appropriate buffer and has moved the cursor to the selected buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 If key is pressed:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 (1) in a blank buffer or at the end of a buffer, browser help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 information is displayed in the viewer window;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 (2) at the beginning of a (non-single character) class name, the class'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 ancestors are listed;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 (3) at the end of an entry line, the listing is scrolled up;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 (4) on the `...', following a class name, point is moved to the class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 descendency expansion;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 (5) before an element name, the implementor classes of the name are listed;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 (6) anywhere else on an entry line, the entry's source is displayed for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 editing."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 (br-browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 (cond ((eobp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 (br-help)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 (and action-mouse-key-prev-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 (select-window action-mouse-key-prev-window)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 ((eolp) (smart-scroll-up))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 ((br-find-feature-entry)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 (if (bolp) (br-implementors) (br-feature)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 ((and (bolp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 (let ((cl (br-find-class-name)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 (and cl (not (= (length cl) 1)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 (br-ancestors))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 ((br-to-tree))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 ((br-edit))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 (defun smart-br-assist ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 "Controls OO-Browser listing buffers with one assist-key or mouse assist-key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 Invoked via an assist-key press when in an OO-Browser listing window. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 assumes that its caller has already checked that the assist-key was pressed in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 an appropriate buffer and has moved the cursor to the selected buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 If assist-key is pressed:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 (1) in a blank buffer, a selection list of buffer files is displayed;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 (2) at the beginning of a (non-single character) class, the class'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 descendants are listed;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 (3) at the end of an entry line, the listing is scrolled down;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 (4) on the `...', following a class name, point is moved to the class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 expansion;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 (5) anywhere else on a class line, the class' elements are listed;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 (6) anywhere else on an element line, the element's implementor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 classes are listed;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 (7) on a blank line following all entries, the current listing buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 is exited."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 (br-browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 (cond ((equal 0 (string-match br-buffer-prefix-blank (buffer-name)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 (br-buffer-menu))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 ((eobp) (br-exit-level 1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 ((eolp) (smart-scroll-down))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 ((br-find-feature-entry) (br-implementors))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 ((and (bolp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 (let ((cl (br-find-class-name)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 (and cl (not (= (length cl) 1)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 (br-descendants))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 ((br-to-tree))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 (t (br-features 1))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 (defun smart-br-dispatch ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 (if (or (br-listing-window-p) (eq major-mode 'br-mode))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 ;; In an OO-Browser listing window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 (smart-br)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 (cond ((eq major-mode 'Info-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 (smart-info))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 ((eq major-mode 'Buffer-menu-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 (smart-buffer-menu t))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 ((eolp) (smart-scroll-up))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 ((and (boundp 'br-src-file-regexp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 buffer-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 (fboundp (symbol-function 'br-to-definition))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 (string-match br-src-file-regexp buffer-file-name))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 (br-to-definition))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 ((and action-mouse-key-prev-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 (or (smart-br-cmd-select nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 (error "(Action Key): No command bound to key."))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 (t (scroll-up)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 (defun smart-br-assist-dispatch ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 (if (or (br-listing-window-p) (eq major-mode 'br-mode))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 ;; In an OO-Browser listing window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 (smart-br-assist)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 (cond ((eq major-mode 'Info-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 (smart-info-assist))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 ((eq major-mode 'Buffer-menu-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 (smart-buffer-menu-assist))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 ((eolp) (smart-scroll-down))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 ((and action-mouse-key-prev-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 (or (smart-br-cmd-select 'assist)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 (error "(Assist Key): No command bound to key."))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 (t (scroll-down)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 (defun smart-br-cmd-select (&optional assist-flag)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 "Selects an OO-Browser command with its key binding at point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 By default executes the command, with optional ASSIST-FLAG non-nil, shows help for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 command. Returns t if a command is selected. Nil indicates no key binding was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 found on the current line. Key bindings are delimited by {}."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 (let ((start) (end) (tmp-buf) (tmp-buf-nm) (obuf (current-buffer)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 (and (save-excursion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 (or (eobp) (forward-char))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 (save-excursion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 (beginning-of-line)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 (setq start (point)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 (and (re-search-backward "\\(^\\|[^\\]\\){" start t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 (goto-char (match-end 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 (setq start (point))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 (save-excursion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 (end-of-line)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 (setq end (point)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 (and (re-search-forward "[^\\]}" end t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 (setq end (1- (point)))))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 (setq tmp-buf-nm "*smart-br-tmp*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 tmp-buf (progn (if (get-buffer tmp-buf-nm)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 (kill-buffer tmp-buf-nm))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 (get-buffer-create tmp-buf-nm)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 (or tmp-buf
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 (error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 "(Action Key): (smart-br-cmd-select) - Can't create tmp-buf."))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 (copy-to-buffer tmp-buf start end)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 (set-buffer tmp-buf)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 (let ((case-fold-search nil) (case-replace t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 (keys)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 (pref-arg action-mouse-key-prefix-arg))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 ;; Quote Control and Meta key names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 (replace-regexp "[ \t]+" "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 (replace-string "SPC" "\040")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 (replace-string "DEL" "\177")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 (replace-regexp "ESC" "M-")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 ;; Unqote special {} chars.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 (replace-regexp "\\\\\\([{}]\\)" "\\1")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 (if (looking-at "C-u")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 (progn (delete-char 3)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 (and (or (null pref-arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 (equal pref-arg 1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 (setq pref-arg '(4)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 (while (search-forward "C-" nil t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 (replace-match "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 (setq keys (1+ (- (downcase (following-char)) ?a)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 (delete-char 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 (insert keys))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 (goto-char (point-min))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 (while (search-forward "M-" nil t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 (replace-match "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 (setq keys (+ 128 (downcase (following-char))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 (delete-char 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 (insert keys))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 (setq keys (buffer-string))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 (kill-buffer tmp-buf-nm)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 (set-buffer obuf)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 (and (boundp 'action-mouse-key-prev-window)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 action-mouse-key-prev-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 (select-window action-mouse-key-prev-window))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 (let ((current-prefix-arg pref-arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 (binding (key-binding keys)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 (if binding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 (if assist-flag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 (br-cmd-help keys)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 (call-interactively binding))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 t))))))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 ;;; ************************************************************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 ;;; Hyperbole info browsing functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 ;;; ************************************************************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 (autoload 'Info-handle-in-note "hmous-info"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 "Follows Info documentation references.")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 (autoload 'smart-info "hmous-info" "Follows Info documentation references." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 (autoload 'smart-info-assist "hmous-info"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 "Follows Info documentation references." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 (provide 'hmouse-br)