emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/cl-specs.el


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/cl-specs.el
Date: Fri, 04 Apr 2003 01:21:58 -0500

Index: emacs/lisp/emacs-lisp/cl-specs.el
diff -c emacs/lisp/emacs-lisp/cl-specs.el:1.12 
emacs/lisp/emacs-lisp/cl-specs.el:1.13
*** emacs/lisp/emacs-lisp/cl-specs.el:1.12      Tue Oct  1 13:00:27 2002
--- emacs/lisp/emacs-lisp/cl-specs.el   Tue Feb  4 07:53:34 2003
***************
*** 7,13 ****
  ;; LCD Archive Entry:
  ;; cl-specs.el|Daniel LaLiberte|address@hidden
  ;; |Edebug specs for cl.el
! ;; |$Date: 2002/10/01 17:00:27 $|1.1|
  
  ;; This file is part of GNU Emacs.
  
--- 7,13 ----
  ;; LCD Archive Entry:
  ;; cl-specs.el|Daniel LaLiberte|address@hidden
  ;; |Edebug specs for cl.el
! ;; |$Date: 2003/02/04 12:53:34 $|1.1|
  
  ;; This file is part of GNU Emacs.
  
***************
*** 53,74 ****
  (def-edebug-spec ecase case)
  (def-edebug-spec do
    ((&rest &or symbolp (symbolp &optional form form))
!    (form body) 
     cl-declarations body))
  (def-edebug-spec do* do)
! (def-edebug-spec dolist 
    ((symbolp form &optional form) cl-declarations body))
  (def-edebug-spec dotimes dolist)
  (def-edebug-spec do-symbols
    ((symbolp &optional form form) cl-declarations body))
! (def-edebug-spec do-all-symbols 
    ((symbolp &optional form) cl-declarations body))
  
  ;; Multiple values
  
  (def-edebug-spec multiple-value-list (form))
  (def-edebug-spec multiple-value-call (function-form body))
! (def-edebug-spec multiple-value-bind 
    ((&rest symbolp) form cl-declarations body))
  (def-edebug-spec multiple-value-setq ((&rest symbolp) form))
  (def-edebug-spec multiple-value-prog1 (form body))
--- 53,74 ----
  (def-edebug-spec ecase case)
  (def-edebug-spec do
    ((&rest &or symbolp (symbolp &optional form form))
!    (form body)
     cl-declarations body))
  (def-edebug-spec do* do)
! (def-edebug-spec dolist
    ((symbolp form &optional form) cl-declarations body))
  (def-edebug-spec dotimes dolist)
  (def-edebug-spec do-symbols
    ((symbolp &optional form form) cl-declarations body))
! (def-edebug-spec do-all-symbols
    ((symbolp &optional form) cl-declarations body))
  
  ;; Multiple values
  
  (def-edebug-spec multiple-value-list (form))
  (def-edebug-spec multiple-value-call (function-form body))
! (def-edebug-spec multiple-value-bind
    ((&rest symbolp) form cl-declarations body))
  (def-edebug-spec multiple-value-setq ((&rest symbolp) form))
  (def-edebug-spec multiple-value-prog1 (form body))
***************
*** 84,94 ****
  (def-edebug-spec flet ((&rest (defun*)) cl-declarations body))
  (def-edebug-spec labels flet)
  
! (def-edebug-spec macrolet 
!   ((&rest (&define name (&rest arg) cl-declarations-or-string def-body)) 
     cl-declarations body))
  
! (def-edebug-spec symbol-macrolet 
    ((&rest (symbol sexp)) cl-declarations body))
  
  (def-edebug-spec destructuring-bind
--- 84,94 ----
  (def-edebug-spec flet ((&rest (defun*)) cl-declarations body))
  (def-edebug-spec labels flet)
  
! (def-edebug-spec macrolet
!   ((&rest (&define name (&rest arg) cl-declarations-or-string def-body))
     cl-declarations body))
  
! (def-edebug-spec symbol-macrolet
    ((&rest (symbol sexp)) cl-declarations body))
  
  (def-edebug-spec destructuring-bind
***************
*** 105,117 ****
  (def-edebug-spec letf* letf)
  
  
! (def-edebug-spec defsetf 
!   (&define name 
           [&or [symbolp &optional stringp]
                [cl-lambda-list (symbolp)]]
           cl-declarations-or-string def-body))
  
! (def-edebug-spec define-setf-method 
    (&define name cl-lambda-list cl-declarations-or-string def-body))
  
  (def-edebug-spec define-modify-macro
--- 105,117 ----
  (def-edebug-spec letf* letf)
  
  
! (def-edebug-spec defsetf
!   (&define name
           [&or [symbolp &optional stringp]
                [cl-lambda-list (symbolp)]]
           cl-declarations-or-string def-body))
  
! (def-edebug-spec define-setf-method
    (&define name cl-lambda-list cl-declarations-or-string def-body))
  
  (def-edebug-spec define-modify-macro
***************
*** 128,135 ****
  (def-edebug-spec incf (place &optional form))
  (def-edebug-spec decf incf)
  (def-edebug-spec push (form place))   ; different for CL
! (def-edebug-spec pushnew 
!   (form place &rest 
        &or [[&or ":test" ":test-not" ":key"] function-form]
        [edebug-keywordp form]))
  (def-edebug-spec pop (place))         ; different for CL
--- 128,135 ----
  (def-edebug-spec incf (place &optional form))
  (def-edebug-spec decf incf)
  (def-edebug-spec push (form place))   ; different for CL
! (def-edebug-spec pushnew
!   (form place &rest
        &or [[&or ":test" ":test-not" ":key"] function-form]
        [edebug-keywordp form]))
  (def-edebug-spec pop (place))         ; different for CL
***************
*** 180,186 ****
  
  ;; Declarations
  
! (def-edebug-spec cl-decl-spec 
    ((symbolp &rest sexp)))
  
  (def-edebug-spec cl-declarations
--- 180,186 ----
  
  ;; Declarations
  
! (def-edebug-spec cl-decl-spec
    ((symbolp &rest sexp)))
  
  (def-edebug-spec cl-declarations
***************
*** 214,230 ****
    (&or ([&or (symbolp arg) arg] &optional def-form arg) arg))
  
  ;; The lambda list for macros is different from that of normal lambdas.
! ;; Note that &environment is only allowed as first or last items in the 
  ;; top level list.
  
  (def-edebug-spec cl-macro-list
    (([&optional "&environment" arg]
      [&rest cl-macro-arg]
!     [&optional ["&optional" &rest 
                &or (cl-macro-arg &optional def-form cl-macro-arg) arg]]
      [&optional [[&or "&rest" "&body"] cl-macro-arg]]
!     [&optional ["&key" [&rest 
!                       [&or ([&or (symbolp cl-macro-arg) arg] 
                              &optional def-form cl-macro-arg)
                             arg]]
                &optional "&allow-other-keys"]]
--- 214,230 ----
    (&or ([&or (symbolp arg) arg] &optional def-form arg) arg))
  
  ;; The lambda list for macros is different from that of normal lambdas.
! ;; Note that &environment is only allowed as first or last items in the
  ;; top level list.
  
  (def-edebug-spec cl-macro-list
    (([&optional "&environment" arg]
      [&rest cl-macro-arg]
!     [&optional ["&optional" &rest
                &or (cl-macro-arg &optional def-form cl-macro-arg) arg]]
      [&optional [[&or "&rest" "&body"] cl-macro-arg]]
!     [&optional ["&key" [&rest
!                       [&or ([&or (symbolp cl-macro-arg) arg]
                              &optional def-form cl-macro-arg)
                             arg]]
                &optional "&allow-other-keys"]]
***************
*** 239,249 ****
  (def-edebug-spec cl-macro-list1
    (([&optional "&whole" arg]  ;; only allowed at lower levels
      [&rest cl-macro-arg]
!     [&optional ["&optional" &rest 
                &or (cl-macro-arg &optional def-form cl-macro-arg) arg]]
      [&optional [[&or "&rest" "&body"] cl-macro-arg]]
!     [&optional ["&key" [&rest 
!                       [&or ([&or (symbolp cl-macro-arg) arg] 
                              &optional def-form cl-macro-arg)
                             arg]]
                &optional "&allow-other-keys"]]
--- 239,249 ----
  (def-edebug-spec cl-macro-list1
    (([&optional "&whole" arg]  ;; only allowed at lower levels
      [&rest cl-macro-arg]
!     [&optional ["&optional" &rest
                &or (cl-macro-arg &optional def-form cl-macro-arg) arg]]
      [&optional [[&or "&rest" "&body"] cl-macro-arg]]
!     [&optional ["&key" [&rest
!                       [&or ([&or (symbolp cl-macro-arg) arg]
                              &optional def-form cl-macro-arg)
                             arg]]
                &optional "&allow-other-keys"]]
***************
*** 262,268 ****
           def-body))
  (def-edebug-spec defsubst* defun*)
  
! (def-edebug-spec defmacro* 
    (&define name cl-macro-list cl-declarations-or-string def-body))
  (def-edebug-spec define-compiler-macro defmacro*)
  
--- 262,268 ----
           def-body))
  (def-edebug-spec defsubst* defun*)
  
! (def-edebug-spec defmacro*
    (&define name cl-macro-list cl-declarations-or-string def-body))
  (def-edebug-spec define-compiler-macro defmacro*)
  
***************
*** 280,286 ****
  (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) 
         ("function*" function*)
         form))
  
--- 280,286 ----
  (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)
         ("function*" function*)
         form))
  
***************
*** 293,299 ****
    (&define  ; makes top-level form not be wrapped
     [&or symbolp
        (gate
!        symbolp &rest 
                 (&or [":conc-name" &or stringp "nil"]
                      [":constructor" symbolp &optional cl-lambda-list]
                      [":copier" symbolp]
--- 293,299 ----
    (&define  ; makes top-level form not be wrapped
     [&or symbolp
        (gate
!        symbolp &rest
                 (&or [":conc-name" &or stringp "nil"]
                      [":constructor" symbolp &optional cl-lambda-list]
                      [":copier" symbolp]
***************
*** 329,335 ****
  
  (def-edebug-spec loop
    ([&optional ["named" symbolp]]
!    [&rest 
      &or
      ["repeat" form]
      loop-for-as
--- 329,335 ----
  
  (def-edebug-spec loop
    ([&optional ["named" symbolp]]
!    [&rest
      &or
      ["repeat" form]
      loop-for-as
***************
*** 351,386 ****
     &rest ["and" loop-for-as-subclause]))
  
  (def-edebug-spec loop-for-as-subclause
!   (loop-var 
     loop-type-spec
!    &or 
     [[&or "in" "on" "in-ref" "across-ref"]
      form &optional ["by" function-form]]
  
     ["=" form &optional ["then" form]]
     ["across" form]
!    ["being" 
      [&or "the" "each"]
!     &or 
!     [[&or "element" "elements"] 
       [&or "of" "in" "of-ref"] form
       &optional "using" ["index" symbolp]];; is this right?
      [[&or "hash-key" "hash-keys"
          "hash-value" "hash-values"]
       [&or "of" "in"]
!      hash-table-p &optional ["using" ([&or "hash-value" "hash-values" 
                                           "hash-key" "hash-keys"] sexp)]]
!                                       
      [[&or "symbol" "present-symbol" "external-symbol"
          "symbols" "present-symbols" "external-symbols"]
       [&or "in" "of"] package-p]
!      
      ;; Extensions for Emacs Lisp, including Lucid Emacs.
      [[&or "frame" "frames"
          "screen" "screens"
          "buffer" "buffers"]]
  
!     [[&or "window" "windows"] 
       [&or "of" "in"] form]
  
      [[&or "overlay" "overlays"
--- 351,386 ----
     &rest ["and" loop-for-as-subclause]))
  
  (def-edebug-spec loop-for-as-subclause
!   (loop-var
     loop-type-spec
!    &or
     [[&or "in" "on" "in-ref" "across-ref"]
      form &optional ["by" function-form]]
  
     ["=" form &optional ["then" form]]
     ["across" form]
!    ["being"
      [&or "the" "each"]
!     &or
!     [[&or "element" "elements"]
       [&or "of" "in" "of-ref"] form
       &optional "using" ["index" symbolp]];; is this right?
      [[&or "hash-key" "hash-keys"
          "hash-value" "hash-values"]
       [&or "of" "in"]
!      hash-table-p &optional ["using" ([&or "hash-value" "hash-values"
                                           "hash-key" "hash-keys"] sexp)]]
! 
      [[&or "symbol" "present-symbol" "external-symbol"
          "symbols" "present-symbols" "external-symbols"]
       [&or "in" "of"] package-p]
! 
      ;; Extensions for Emacs Lisp, including Lucid Emacs.
      [[&or "frame" "frames"
          "screen" "screens"
          "buffer" "buffers"]]
  
!     [[&or "window" "windows"]
       [&or "of" "in"] form]
  
      [[&or "overlay" "overlays"
***************
*** 388,410 ****
       [&or "of" "in"] form
       &optional [[&or "from" "to"] form]]
  
!     [[&or "interval" "intervals"] 
       [&or "in" "of"] form
       &optional [[&or "from" "to"] form]
       ["property" form]]
!      
      [[&or "key-code" "key-codes"
          "key-seq" "key-seqs"
!         "key-binding" "key-bindings"] 
       [&or "in" "of"] form
       &optional ["using" ([&or "key-code" "key-codes"
                              "key-seq" "key-seqs"
!                             "key-binding" "key-bindings"] 
                         sexp)]]
      ;; For arbitrary extensions, recognize anything else.
      [symbolp &rest &or symbolp form]
      ]
!    
     ;; arithmetic - must be last since all parts are optional.
     [[&optional [[&or "from" "downfrom" "upfrom"] form]]
      [&optional [[&or "to" "downto" "upto" "below" "above"] form]]
--- 388,410 ----
       [&or "of" "in"] form
       &optional [[&or "from" "to"] form]]
  
!     [[&or "interval" "intervals"]
       [&or "in" "of"] form
       &optional [[&or "from" "to"] form]
       ["property" form]]
! 
      [[&or "key-code" "key-codes"
          "key-seq" "key-seqs"
!         "key-binding" "key-bindings"]
       [&or "in" "of"] form
       &optional ["using" ([&or "key-code" "key-codes"
                              "key-seq" "key-seqs"
!                             "key-binding" "key-bindings"]
                         sexp)]]
      ;; For arbitrary extensions, recognize anything else.
      [symbolp &rest &or symbolp form]
      ]
! 
     ;; arithmetic - must be last since all parts are optional.
     [[&optional [[&or "from" "downfrom" "upfrom"] form]]
      [&optional [[&or "to" "downto" "upto" "below" "above"] form]]
***************
*** 412,421 ****
      ]))
  
  (def-edebug-spec loop-initial-final
!   (&or ["initially" 
        ;; [&optional &or "do" "doing"]  ;; CLtL2 doesn't allow this.
        &rest loop-non-atomic-expr]
!        ["finally" &or 
        [[&optional &or "do" "doing"] &rest loop-non-atomic-expr]
        ["return" form]]))
  
--- 412,421 ----
      ]))
  
  (def-edebug-spec loop-initial-final
!   (&or ["initially"
        ;; [&optional &or "do" "doing"]  ;; CLtL2 doesn't allow this.
        &rest loop-non-atomic-expr]
!        ["finally" &or
        [[&optional &or "do" "doing"] &rest loop-non-atomic-expr]
        ["return" form]]))
  
***************
*** 425,435 ****
  (def-edebug-spec loop-clause
    (&or
     [[&or "while" "until" "always" "never" "thereis"] form]
!      
     [[&or "collect" "collecting"
         "append" "appending"
         "nconc" "nconcing"
!        "concat" "vconcat"] form 
         [&optional ["into" loop-var]]]
  
     [[&or "count" "counting"
--- 425,435 ----
  (def-edebug-spec loop-clause
    (&or
     [[&or "while" "until" "always" "never" "thereis"] form]
! 
     [[&or "collect" "collecting"
         "append" "appending"
         "nconc" "nconcing"
!        "concat" "vconcat"] form
         [&optional ["into" loop-var]]]
  
     [[&or "count" "counting"
***************
*** 455,461 ****
  
  (def-edebug-spec loop-var
    ;; The symbolp must be last alternative to recognize e.g. (a b . c)
!   ;; loop-var => 
    ;; (loop-var . [&or nil loop-var])
    ;; (symbolp . [&or nil loop-var])
    ;; (symbolp . loop-var)
--- 455,461 ----
  
  (def-edebug-spec loop-var
    ;; The symbolp must be last alternative to recognize e.g. (a b . c)
!   ;; loop-var =>
    ;; (loop-var . [&or nil loop-var])
    ;; (symbolp . [&or nil loop-var])
    ;; (symbolp . loop-var)




reply via email to

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