emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/dframe.el,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/dframe.el,v
Date: Mon, 27 Aug 2007 04:00:27 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     07/08/27 04:00:20

Index: lisp/dframe.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/dframe.el,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- lisp/dframe.el      26 Jul 2007 05:26:20 -0000      1.13
+++ lisp/dframe.el      27 Aug 2007 04:00:08 -0000      1.14
@@ -114,10 +114,6 @@
 (defvar x-pointer-top-left-arrow)
 
 ;;; Code:
-(defvar dframe-xemacsp (string-match "XEmacs" emacs-version)
-  "Non-nil if we are running in the XEmacs environment.")
-(defvar dframe-xemacs20p (and dframe-xemacsp
-                             (>= emacs-major-version 20)))
 
 ;; From custom web page for compatibility between versions of custom
 ;; with help from address@hidden (Proto Type)
@@ -138,25 +134,23 @@
     (if (boundp 'defface)
        nil
       (defmacro defface (var values doc &rest args)
-       (` (progn
-            (defvar (, var) (quote (, var)))
             ;; To make colors for your faces you need to set your .Xdefaults
             ;; or set them up ahead of time in your .emacs file.
-            (make-face (, var))
-            ))))
+        `(make-face ,var)
+        ))
     (if (boundp 'defcustom)
        nil
       (defmacro defcustom (var value doc &rest args)
-       (` (defvar (, var) (, value) (, doc)))))))
+       `(defvar ,var ,value ,doc)))))
 
 
 ;;; Compatibility functions
 ;;
-(defun dframe-frame-parameter (frame parameter)
+(defalias 'dframe-frame-parameter
+  (if (fboundp 'frame-parameter) 'frame-parameter
+    (lambda (frame parameter)
   "Return FRAME's PARAMETER value."
-  (if (fboundp 'frame-parameter)
-      (frame-parameter frame parameter)
-    (cdr (assoc parameter (frame-parameters frame))))) ; XEmacs
+      (cdr (assoc parameter (frame-parameters frame))))))
 
 
 ;;; Variables
@@ -176,26 +170,26 @@
   "Non-nil means that timers are available for this Emacs.")
 
 (defcustom dframe-update-speed
-  (if dframe-xemacsp
-      (if dframe-xemacs20p
+  (if (featurep 'xemacs)
+      (if (>= emacs-major-version 20)
          2                             ; 1 is too obrusive in XEmacs
        5)                              ; when no idleness, need long delay
     1)
-  "*Idle time in seconds needed before dframe will update itself.
+  "Idle time in seconds needed before dframe will update itself.
 Updates occur to allow dframe to display directory information
 relevant to the buffer you are currently editing."
   :group 'dframe
   :type 'integer)
 
 (defcustom dframe-activity-change-focus-flag nil
-  "*Non-nil means the selected frame will change based on activity.
+  "Non-nil means the selected frame will change based on activity.
 Thus, if a file is selected for edit, the buffer will appear in the
 selected frame and the focus will change to that frame."
   :group 'dframe
   :type 'boolean)
 
 (defcustom dframe-after-select-attached-frame-hook nil
-  "*Hook run after dframe has selected the attached frame."
+  "Hook run after dframe has selected the attached frame."
   :group 'dframe
   :type 'hook)
 
@@ -247,7 +241,7 @@
                             'dframe-switch-buffer-attached-frame
                             map global-map)
 
-  (if dframe-xemacsp
+  (if (featurep 'xemacs)
       (progn
        ;; mouse bindings so we can manipulate the items on each line
        (define-key map 'button2 'dframe-click)
@@ -255,7 +249,7 @@
        ;; Info doc fix from Bob Weiner
        (if (featurep 'infodoc)
            nil
-         (define-key map 'button3 'dframe-xemacs-popup-kludge))
+         (define-key map 'button3 'dframe-popup-kludge))
        )
 
     ;; mouse bindings so we can manipulate the items on each line
@@ -267,13 +261,13 @@
     ;; This adds a small unecessary visual effect
     ;;(define-key map [down-mouse-2] 'dframe-quick-mouse)
 
-    (define-key map [down-mouse-3] 'dframe-emacs-popup-kludge)
+    (define-key map [down-mouse-3] 'dframe-popup-kludge)
 
     ;; This lets the user scroll as if we had a scrollbar... well maybe not
     (define-key map [mode-line mouse-2] 'dframe-mouse-hscroll)
     ;; another handy place users might click to get our menu.
     (define-key map [mode-line down-mouse-1]
-      'dframe-emacs-popup-kludge)
+      'dframe-popup-kludge)
 
     ;; We can't switch buffers with the buffer mouse menu.  Lets hack it.
     (define-key map [C-down-mouse-1] 'dframe-hack-buffer-menu)
@@ -325,14 +319,12 @@
     (run-hooks 'popup-hook)
     ;; Updated the buffer passed in to contain all the hacks needed
     ;; to make it work well in a dedicated window.
-    (save-excursion
-      (set-buffer (symbol-value buffer-var))
+    (with-current-buffer (symbol-value buffer-var)
       ;; Declare this buffer a dedicated frame
       (setq dframe-controlled local-mode-fn)
 
-      (if dframe-xemacsp
-         ;; Hack the XEmacs mouse-motion handler
-         (with-no-warnings
+      (if (featurep 'xemacs)
+         (progn
            ;; Hack the XEmacs mouse-motion handler
            (set (make-local-variable 'mouse-motion-handler)
                 'dframe-track-mouse-xemacs)
@@ -402,7 +394,7 @@
       (if (frame-live-p (symbol-value frame-var))
          (raise-frame (symbol-value frame-var))
        (set frame-var
-             (if dframe-xemacsp
+             (if (featurep 'xemacs)
                  ;; Only guess height if it is not specified.
                  (if (member 'height parameters)
                      (make-frame parameters)
@@ -458,7 +450,7 @@
 (defun dframe-reposition-frame (new-frame parent-frame location)
   "Move NEW-FRAME to be relative to PARENT-FRAME.
 LOCATION can be one of 'random, 'left, 'right, 'left-right, or 'top-bottom."
-  (if dframe-xemacsp
+  (if (featurep 'xemacs)
       (dframe-reposition-frame-xemacs new-frame parent-frame location)
     (dframe-reposition-frame-emacs new-frame parent-frame location)))
 
@@ -568,13 +560,13 @@
 (defun dframe-detach (frame-var cache-var buffer-var)
   "Detatch the frame in symbol FRAME-VAR.
 CACHE-VAR and BUFFER-VAR are symbols as in `dframe-frame-mode'"
-  (save-excursion
-    (set-buffer (symbol-value buffer-var))
+  (with-current-buffer (symbol-value buffer-var)
     (rename-buffer (buffer-name) t)
     (let ((oldframe (symbol-value frame-var)))
       (set buffer-var nil)
       (set frame-var nil)
       (set cache-var nil)
+      ;; FIXME: Looks very suspicious.  Luckily this function is unused.
       (make-variable-buffer-local frame-var)
       (set frame-var oldframe)
       )))
@@ -785,18 +777,16 @@
 If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer."
   (cond
    ;; XEmacs
-   (dframe-xemacsp
-    (with-no-warnings
+   ((featurep 'xemacs)
     (if dframe-timer
        (progn (delete-itimer dframe-timer)
               (setq dframe-timer nil)))
     (if timeout
-       (if (and dframe-xemacsp
-                (or (>= emacs-major-version 21)
+       (if (or (>= emacs-major-version 21)
                     (and (= emacs-major-version 20)
                          (> emacs-minor-version 0))
                     (and (= emacs-major-version 19)
-                         (>= emacs-minor-version 15))))
+                     (>= emacs-minor-version 15)))
            (setq dframe-timer (start-itimer "dframe"
                                             'dframe-timer-fn
                                             timeout
@@ -805,7 +795,7 @@
          (setq dframe-timer (start-itimer "dframe"
                                           'dframe-timer-fn
                                           timeout
-                                          nil))))))
+                                          nil)))))
    ;; Post 19.31 Emacs
    ((fboundp 'run-with-idle-timer)
     (if dframe-timer
@@ -815,7 +805,7 @@
        (setq dframe-timer
              (run-with-idle-timer timeout t 'dframe-timer-fn))))
    ;; Emacs 19.30 (Thanks twice: address@hidden)
-   ((fboundp 'post-command-idle-hook)
+   ((boundp 'post-command-idle-hook)
     (if timeout
        (add-hook 'post-command-idle-hook 'dframe-timer-fn)
       (remove-hook 'post-command-idle-hook 'dframe-timer-fn)))
@@ -849,8 +839,9 @@
 ;; opposed to where the point happens to be.)  We attain this by
 ;; temporarily moving the point to that place.
 ;;    Hrvoje Niksic <address@hidden>
-(with-no-warnings
-(defun dframe-xemacs-popup-kludge (event)
+(defalias 'dframe-popup-kludge
+  (if (featurep 'xemacs)
+      (lambda (event)                        ; XEmacs.
   "Pop up a menu related to the clicked on item.
 Must be bound to EVENT."
   (interactive "e")
@@ -868,9 +859,8 @@
       (while (not (misc-user-event-p (setq new (next-event))))
         (dispatch-event new))
       (dispatch-event new))))
-);with-no-warnings
 
-(defun dframe-emacs-popup-kludge (e)
+    (lambda (e)                              ; Emacs.
   "Pop up a menu related to the clicked on item.
 Must be bound to event E."
   (interactive "e")
@@ -881,25 +871,26 @@
     (sit-for 0)
     (if (< emacs-major-version 20)
        (mouse-major-mode-menu e)
-      (mouse-major-mode-menu e nil))))
+          (mouse-major-mode-menu e nil))))))
 
 ;;; Interactive user functions for the mouse
 ;;
-(defun dframe-mouse-event-p (event)
+(defalias 'dframe-mouse-event-p
+  (if (featurep 'xemacs)
+      'button-press-event-p
+    (lambda (event)
   "Return t if the event is a mouse related event."
-  (if (fboundp 'button-press-event-p)
-      (button-press-event-p event)      ; XEmacs
     (if (and (listp event)
             (member (event-basic-type event)
                     '(mouse-1 mouse-2 mouse-3)))
        t
-      nil)))
+        nil))))
 
 (defun dframe-track-mouse (event)
   "For motion EVENT, display info about the current line."
   (interactive "e")
   (when (and dframe-track-mouse-function
-            (or dframe-xemacsp ;; XEmacs always safe?
+            (or (featurep 'xemacs) ;; XEmacs always safe?
                 (windowp (posn-window (event-end event))) ; Sometimes
                                        ; there is no window to jump into.
                 ))
@@ -929,19 +920,18 @@
 (defun dframe-mouse-set-point (e)
   "Set POINT based on event E.
 Handles clicking on images in XEmacs."
-  (if (save-excursion
+  (if (and (featurep 'xemacs)
+           (save-excursion
        (save-window-excursion
          (mouse-set-point e)
-         (and (fboundp 'event-over-glyph-p) (event-over-glyph-p e))))
+               (event-over-glyph-p e))))
       ;; We are in XEmacs, and clicked on a picture
-      (with-no-warnings
       (let ((ext (event-glyph-extent e)))
        ;; This position is back inside the extent where the
        ;; junk we pushed into the property list lives.
        (if (extent-end-position ext)
            (goto-char (1- (extent-end-position ext)))
          (mouse-set-point e)))
-      );with-no-warnings
     ;; We are not in XEmacs, OR we didn't click on a picture.
     (mouse-set-point e)))
 
@@ -1000,7 +990,7 @@
   (pop-to-buffer buffer nil)
   (other-window -1)
   ;; Fix for using this hook on some platforms: Bob Weiner
-  (cond ((not dframe-xemacsp)
+  (cond ((not (featurep 'xemacs))
         (run-hooks 'temp-buffer-show-hook))
        ((fboundp 'run-hook-with-args)
         (run-hook-with-args 'temp-buffer-show-hook buffer))
@@ -1015,7 +1005,7 @@
 Emacs frame, not in the dedicated frame.
 Argument E is the event causing this activity."
   (interactive "e")
-  (let ((fn (lookup-key global-map (if dframe-xemacsp
+  (let ((fn (lookup-key global-map (if (featurep 'xemacs)
                                              '(control button1)
                                     [C-down-mouse-1])))
        (oldbuff (current-buffer))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]