Commits

youngs  committed 159acc0

Patch from Yoshiki Hayashi <yoshiki@xemacs.org>

  • Participants
  • Parent commits 8bb9dda
  • Tags edebug-1_12

Comments (0)

Files changed (2)

+2000-11-10  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+	* edebug.el (function-form): Add function*.
+	(edebug-read-function): Handle #b101 notation.
+	(edebug-emacs-19-specific): Sync with Emacs 20.7.
+	This function is not used by XEmacs so don't change it.
+
 2000-11-07  Martin Buchholz  <martin@xemacs.org>
 
 	* edebug.el: Doc fixes.
 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ;; 02111-1307, USA.
 
-;;; Synched up with: FSF 20.6.
+;;; Synched up with: FSF 20.7.
 
 ;;; Commentary:
 
 ;; The internal data that is needed for edebugging is kept in the
 ;; buffer-local variable `edebug-form-data'. 
 
-;; XEmacs change?
+(make-variable-buffer-local 'edebug-form-data)
+
 (defconst edebug-form-data nil)
-(make-variable-buffer-local 'edebug-form-data)
-
 ;; A list of entries associating symbols with buffer regions.
 ;; This is an automatic buffer local variable.  Each entry looks like:
 ;; @code{(@var{symbol} @var{begin-marker} @var{end-marker}).  The markers
 (defun edebug-read-function (stream)
   ;; Turn #'thing into (function thing)
   (forward-char 1)
-  (if (/= ?\' (following-char)) (edebug-syntax-error "Bad char"))
-  (forward-char 1)
-  (list 
-   (edebug-storing-offsets (point)  
-     (if (featurep 'cl) 'function* 'function))
-   (edebug-read-storing-offsets stream)))
+  ;; XEmacs change.
+  ;; XEmacs allows #b0101, #o1 and #x1 as numbers.
+  (cond ((memq (char-after) '(?b ?o ?x))
+	 (forward-char -1)
+	 (edebug-original-read stream))
+	((/= ?\' (following-char))
+	 (edebug-syntax-error "Bad char"))
+	(t
+	 (forward-char 1)
+	 (list 
+	  (edebug-storing-offsets (point)  
+	    (if (featurep 'cl) 'function* 'function))
+	  (edebug-read-storing-offsets stream)))))
 
 (defun edebug-read-list (stream)
   (forward-char 1)			; skip \(
 (def-edebug-spec function-form
   ;; form at the end could also handle "function",
   ;; but recognize it specially to avoid wrapping function forms.
-  (&or ([&or "quote" "function"] &or symbolp lambda-expr) form))
+  ;; XEmacs change.
+  (&or ([&or "quote" "function" "function*"] &or symbolp lambda-expr) form))
 
 ;; function expects a symbol or a lambda or macro expression
 ;; A macro is allowed by Emacs.
 ;; to functions like mark and read-from-minibuffer.  These warnings
 ;; may be ignored because the right call should always be made.
 
+;; This function is not for XEmacs, so let's left the code as is.
 (defun edebug-emacs-19-specific ()
 
   (defalias 'edebug-window-live-p 'window-live-p)
 
   ;; Mark takes an argument in Emacs 19.
   (defun edebug-mark ()
-    (mark t));; Does this work for XEmacs too?
+    (mark t));; Does this work for lemacs too?
 
   (defun edebug-set-conditional-breakpoint (arg condition)
     "Set a conditional breakpoint at nearest sexp.
       (edebug-safe-prin1-to-string (car values)))))
 
   (easy-menu-define edebug-menu edebug-mode-map "Edebug menus" edebug-mode-menus)
-  (if (eq (console-type) 'x) ; XEmacs
+  (if window-system
       (x-popup-menu nil (lookup-key edebug-mode-map [menu-bar Edebug])))
   )