;;; calc-keypd.el --- mouse-capable keypad input for Calc
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
(setq win (split-window win (+ width 7) t))
(set-window-buffer win calcbuf))
(if (or t ; left-side keypad not yet fully implemented
- (< (save-excursion
- (set-buffer (window-buffer old-win))
+ (< (with-current-buffer (window-buffer old-win)
(current-column))
(/ (window-width) 2)))
(setq win (split-window old-win (- (window-width old-win)
(if (> (length (car key)) cwid)
(substring (car key) 0 cwid)
(car key))))
- (wid (length name))
- (pad (- cwid (/ wid 2))))
+ (wid (length name)))
(insert (make-string (/ (- cwid wid) 2) 32)
name
(make-string (/ (- cwid wid -1) 2) 32)
(delete-region (point-min) (point))
(if calc-keypad-input
(insert "Calc: " calc-keypad-input "\n")
- (insert "----+-----Calc " calc-version " -----+----"
+ (insert "----+----+--Calc---+----+----"
(int-to-string (1+ calc-keypad-menu))
"\n")))))
(setq calc-keypad-prev-input calc-keypad-input))
(interactive)
(unless (eq major-mode 'calc-keypad-mode)
(error "Must be in *Calc Keypad* buffer for this command"))
- (let* ((row (save-excursion
- (beginning-of-line)
- (count-lines (point-min) (point))))
+ (let* ((row (count-lines (point-min) (point-at-bol)))
(y (/ row 2))
(x (/ (current-column) (if (>= y 4) 6 5)))
radix frac inv
inv calc-inverse-flag)
calc-hyperbolic-flag))
(invhyp t)
- (menu (symbol-value (nth calc-keypad-menu calc-keypad-menus)))
(input calc-keypad-input)
(iexpon (and input
(or (string-match "\\*[0-9]+\\.\\^" input)
(defun calc-keypad-left-click (event)
"Handle a left-button mouse click in Calc Keypad window."
+ ;; FIXME: Why not use "@e" instead to select the buffer?
(interactive "e")
(with-current-buffer calc-keypad-buffer
(goto-char (posn-point (event-start event)))
(calc-keypad-press)))
-(defun calc-keypad-right-click (event)
+(defun calc-keypad-right-click (_event)
"Handle a right-button mouse click in Calc Keypad window."
+ ;; FIXME: Why not use "@e" instead to select the buffer?
(interactive "e")
- (save-excursion
- (set-buffer calc-keypad-buffer)
+ (with-current-buffer calc-keypad-buffer
(calc-keypad-menu)))
-(defun calc-keypad-middle-click (event)
+(defun calc-keypad-middle-click (_event)
"Handle a middle-button mouse click in Calc Keypad window."
+ ;; FIXME: Why not use "@e" instead to select the buffer?
(interactive "e")
(with-current-buffer calc-keypad-buffer
(calc-keypad-menu-back)))
(defun calc-keypad-execute ()
(interactive)
(let* ((prompt "Calc keystrokes: ")
- (flush 'x-flush-mouse-queue)
(prefix nil)
keys cmd)
(save-excursion
negative-argument))
(and prefix (string-match "\\`\e?[-0-9]\\'" keys)))
(progn
- (setq last-command-char (aref keys (1- (length keys))))
+ (setq last-command-event (aref keys (1- (length keys))))
(command-execute cmd)
- (setq flush 'not-any-more
- prefix t
+ (setq prefix t
prompt (concat prompt (key-description keys) " ")))
- (eq cmd flush))))) ; skip mouse-up event
+ nil)))) ; skip mouse-up event
(message "")
(if (commandp cmd)
(command-execute cmd)
(provide 'calc-keypd)
-;; arch-tag: 4ba0d360-2bb6-40b8-adfa-eb373765b3f9
;;; calc-keypd.el ends here