home *** CD-ROM | disk | FTP | other *** search
- x-gateway: rodan.UU.NET from bug-lucid-emacs to alt.lucid-emacs.bug; Tue, 10 Nov 1992 09:25:40 EST
- Date: Tue, 10 Nov 1992 09:23:45 EST
- From: ex594bw@pts4.pts.mot.com (Bob Weiner)
- Message-ID: <9211101423.AA28757@pts4.pts.mot.com>
- Subject: Patch to make Hyperbole modeline presses work under Lucid Emacs.
- Newsgroups: alt.lucid-emacs.bug
- Path: sparky!uunet!wendy-fate.uu.net!bug-lucid-emacs
- Sender: bug-lucid-emacs-request@lucid.com
- Lines: 126
-
- [As noted in the Hyperbole documentation, Lucid Emacs modeline event handling
- is buggy. I have figured out how to work around the bugs though so that one
- can have complete Hyperbole mouse support under Lucid Emacs.
-
- If you use Lucid Emacs, you can either wait for a new Hyperbole release later
- this week or apply the patches below. Two files are patched. You must apply
- the patches for each file separately. The files are separated by a few
- lines of equal signs. -- Bob Weiner <bob_weiner@pts.mot.com>]
-
-
-
- *** h-skip-bytec.lsp~ Mon Oct 12 20:07:10 1992
- --- h-skip-bytec.lsp Mon Nov 9 17:19:25 1992
- ***************
- *** 50,56 ****
- Returns arg list including x and y screen coords."
- (and (car args) (listp (car args)) (setq args (car args)))
- (let ((point-set-val (smart-key-set-point args)))
- ! (cond (hyperb:lemacs-p (copy-event current-mouse-event))
- ((equal hyperb:window-system "apollo") point-set-val)
- (t args))))
-
- --- 50,60 ----
- Returns arg list including x and y screen coords."
- (and (car args) (listp (car args)) (setq args (car args)))
- (let ((point-set-val (smart-key-set-point args)))
- ! (cond (hyperb:lemacs-p
- ! ;; Modeline clicks return nil for X and Y event positions.
- ! (if (event-x current-mouse-event)
- ! (copy-event current-mouse-event)
- ! (read-mouse-position (selected-screen))))
- ((equal hyperb:window-system "apollo") point-set-val)
- (t args))))
-
- ===========================================================================
- ===========================================================================
- ===========================================================================
-
- *** hui-window.el~ Mon Nov 9 10:16:25 1992
- --- hui-window.el Mon Nov 9 17:29:18 1992
- ***************
- *** 83,89 ****
- (if (not (boundp 'smart-key-mouse-alist))
- (error
- "\"hui-modeln.el\": smart-key-mouse-alist must be defined before loading this.")
- ! (or (memq 'sm-mouse-drag-between-windows
- (mapcar (function (lambda (elt) (let ((pred (car elt)))
- (if (listp pred) (car pred)))))
- smart-key-mouse-alist))
- --- 83,89 ----
- (if (not (boundp 'smart-key-mouse-alist))
- (error
- "\"hui-modeln.el\": smart-key-mouse-alist must be defined before loading this.")
- ! (or (memq 'sm-mouse-drag-window-side
- (mapcar (function (lambda (elt) (let ((pred (car elt)))
- (if (listp pred) (car pred)))))
- smart-key-mouse-alist))
- ***************
- *** 93,105 ****
- ((sm-mouse-drag-window-side) .
- ((sm-mouse-resize-window-side) .
- (sm-mouse-resize-window-side 'meta)))
- ! ((sm-mouse-drag-between-windows) .
- ! ((sm-mouse-swap-buffers) .
- ! (sm-mouse-swap-windows 'meta)))
- ! ((setq smart-key-value (sm-mouse-drag-horizontally)) .
- ((sm-mouse-horizontal) . (sm-mouse-horizontal-meta)))
- ((sm-mouse-depress-in-modeline) .
- ((sm-mouse-modeline) . (sm-mouse-modeline-meta)))
- ((sm-mouse-drag-vertically) .
- ((sm-split-window-horizontally) .
- (sm-split-window-horizontally)))
- --- 93,107 ----
- ((sm-mouse-drag-window-side) .
- ((sm-mouse-resize-window-side) .
- (sm-mouse-resize-window-side 'meta)))
- ! ((setq smart-key-value
- ! (and (not (sm-mouse-drag-between-windows))
- ! (sm-mouse-drag-horizontally))) .
- ((sm-mouse-horizontal) . (sm-mouse-horizontal-meta)))
- ((sm-mouse-depress-in-modeline) .
- ((sm-mouse-modeline) . (sm-mouse-modeline-meta)))
- + ((sm-mouse-drag-between-windows) .
- + ((sm-mouse-swap-buffers) .
- + (sm-mouse-swap-windows 'meta)))
- ((sm-mouse-drag-vertically) .
- ((sm-split-window-horizontally) .
- (sm-split-window-horizontally)))
- ***************
- *** 566,572 ****
- "Returns x coordinate in chars from window system dependent ARGS."
- (let ((x (eval (cdr (assoc hyperb:window-system
- '(("epoch" . (nth 1 args)) ;; Epoch V4
- ! ("lemacs" . (event-x args))
- ("xterm" . (car args))
- ("sun" . (nth 1 args))
- ("next" . (nth 1 args))
- --- 568,576 ----
- "Returns x coordinate in chars from window system dependent ARGS."
- (let ((x (eval (cdr (assoc hyperb:window-system
- '(("epoch" . (nth 1 args)) ;; Epoch V4
- ! ("lemacs" . (if (eventp args)
- ! (event-x args)
- ! (car args)))
- ("xterm" . (car args))
- ("sun" . (nth 1 args))
- ("next" . (nth 1 args))
- ***************
- *** 578,584 ****
- "Returns y coordinate in screen lines from window system dependent ARGS."
- (let ((y (eval (cdr (assoc hyperb:window-system
- '(("epoch" . (nth 2 args)) ;; Epoch V4
- ! ("lemacs" . (event-y args))
- ("xterm" . (nth 1 args))
- ("sun" . (nth 2 args))
- ("next" . (nth 2 args))
- --- 582,590 ----
- "Returns y coordinate in screen lines from window system dependent ARGS."
- (let ((y (eval (cdr (assoc hyperb:window-system
- '(("epoch" . (nth 2 args)) ;; Epoch V4
- ! ("lemacs" . (if (eventp args)
- ! (event-y args)
- ! (cdr args)))
- ("xterm" . (nth 1 args))
- ("sun" . (nth 2 args))
- ("next" . (nth 2 args))
-