emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/progmodes/cc-menus.el


From: Juanma Barranquero
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/cc-menus.el
Date: Tue, 04 Feb 2003 08:24:40 -0500

Index: emacs/lisp/progmodes/cc-menus.el
diff -c emacs/lisp/progmodes/cc-menus.el:1.23 
emacs/lisp/progmodes/cc-menus.el:1.24
*** emacs/lisp/progmodes/cc-menus.el:1.23       Wed Dec  4 06:48:12 2002
--- emacs/lisp/progmodes/cc-menus.el    Tue Feb  4 08:24:34 2003
***************
*** 125,131 ****
                     "[ \t]*([^)]*)[ \t]*)[ \t]*[^ \t;]" ; see above
                     ) 1)))
      ;; Class definitions
!     ("Class" 
       ,(concat
           "^"                                  ; beginning of line is required
           "\\(template[ \t]*<[^>]+>[ \t]*\\)?" ; there may be a `template 
<...>'
--- 125,131 ----
                     "[ \t]*([^)]*)[ \t]*)[ \t]*[^ \t;]" ; see above
                     ) 1)))
      ;; Class definitions
!     ("Class"
       ,(concat
           "^"                                  ; beginning of line is required
           "\\(template[ \t]*<[^>]+>[ \t]*\\)?" ; there may be a `template 
<...>'
***************
*** 137,143 ****
           "\\([ \t\n]\\|\\\\\n\\)*[:{]"
           ) 3))
    "Imenu generic expression for C++ mode.  See `imenu-generic-expression'.")
!  
  (defvar cc-imenu-c-generic-expression
    cc-imenu-c++-generic-expression
    "Imenu generic expression for C mode.  See `imenu-generic-expression'.")
--- 137,143 ----
           "\\([ \t\n]\\|\\\\\n\\)*[:{]"
           ) 3))
    "Imenu generic expression for C++ mode.  See `imenu-generic-expression'.")
! 
  (defvar cc-imenu-c-generic-expression
    cc-imenu-c++-generic-expression
    "Imenu generic expression for C mode.  See `imenu-generic-expression'.")
***************
*** 155,165 ****
         "[][a-zA-Z,_1-9\n \t]*"                      ; arguments
         ")[ \t]*"
  ;       "[^;(]"
!        "[,a-zA-Z_1-9\n \t]*{"               
         ) 6))
    "Imenu generic expression for Java mode.  See `imenu-generic-expression'.")
  
! ;;                        *Warning for cc-mode developers* 
  ;;
  ;; `cc-imenu-objc-generic-expression' elements depend on
  ;; `cc-imenu-c++-generic-expression'. So if you change this
--- 155,165 ----
         "[][a-zA-Z,_1-9\n \t]*"                      ; arguments
         ")[ \t]*"
  ;       "[^;(]"
!        "[,a-zA-Z_1-9\n \t]*{"
         ) 6))
    "Imenu generic expression for Java mode.  See `imenu-generic-expression'.")
  
! ;;                        *Warning for cc-mode developers*
  ;;
  ;; `cc-imenu-objc-generic-expression' elements depend on
  ;; `cc-imenu-c++-generic-expression'. So if you change this
***************
*** 169,176 ****
  ;; order to know where the each regexp *group \\(foobar\\)* elements
  ;; are started.
  ;;
! ;; *-index variables are initialized during 
`cc-imenu-objc-generic-expression' 
! ;; being initialized. 
  ;;
  
  ;; Internal variables
--- 169,176 ----
  ;; order to know where the each regexp *group \\(foobar\\)* elements
  ;; are started.
  ;;
! ;; *-index variables are initialized during `cc-imenu-objc-generic-expression'
! ;; being initialized.
  ;;
  
  ;; Internal variables
***************
*** 179,188 ****
  (defvar cc-imenu-objc-generic-expression-proto-index nil)
  (defvar cc-imenu-objc-generic-expression-objc-base-index nil)
  
! (defvar cc-imenu-objc-generic-expression 
!   (concat 
     ;;
!    ;; For C 
     ;;
     ;; > Special case to match a line like `main() {}'
     ;; > e.g. no return type, not even on the previous line.
--- 179,188 ----
  (defvar cc-imenu-objc-generic-expression-proto-index nil)
  (defvar cc-imenu-objc-generic-expression-objc-base-index nil)
  
! (defvar cc-imenu-objc-generic-expression
!   (concat
     ;;
!    ;; For C
     ;;
     ;; > Special case to match a line like `main() {}'
     ;; > e.g. no return type, not even on the previous line.
***************
*** 198,204 ****
     ;; > `int main _PROTO( (int argc,char *argv[]) )'.
     ;; Pick a token by  (match-string 5)
     (if cc-imenu-c-prototype-macro-regexp
!        (concat    
        "\\|"
        (car (cdr (nth 3 cc-imenu-c++-generic-expression))) ; -> index += 1
        (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 6) "")
--- 198,204 ----
     ;; > `int main _PROTO( (int argc,char *argv[]) )'.
     ;; Pick a token by  (match-string 5)
     (if cc-imenu-c-prototype-macro-regexp
!        (concat
        "\\|"
        (car (cdr (nth 3 cc-imenu-c++-generic-expression))) ; -> index += 1
        (prog2 (setq cc-imenu-objc-generic-expression-objc-base-index 6) "")
***************
*** 210,229 ****
     ;; For Objective-C
     ;; Pick a token by (match-string 5 or 6)
     ;;
!    "\\|\\("                                        
     "^[-+][:a-zA-Z0-9()*_<>\n\t ]*[;{]"        ; Methods
!    "\\|" 
!    "address@hidden ]+[a-zA-Z0-9_]+[\t ]*:"  
!    "\\|" 
     "address@hidden ]+[a-zA-Z0-9_]+[\t ]*([a-zA-Z0-9_]+)"
!    "\\|" 
     ;; For NSObject, NSProxy and Object... They don't have super class.
     "address@hidden ]+[a-zA-Z0-9_]+[\t ]*.*$"
!    "\\|" 
     "address@hidden ]+[a-zA-Z0-9_]+[\t ]*([a-zA-Z0-9_]+)"
!    "\\|" 
     "address@hidden ]+[a-zA-Z0-9_]+"
!    "\\|" 
     "address@hidden ]+[a-zA-Z0-9_]+" "\\)")
    "Imenu generic expression for ObjC mode.  See `imenu-generic-expression'.")
  
--- 210,229 ----
     ;; For Objective-C
     ;; Pick a token by (match-string 5 or 6)
     ;;
!    "\\|\\("
     "^[-+][:a-zA-Z0-9()*_<>\n\t ]*[;{]"        ; Methods
!    "\\|"
!    "address@hidden ]+[a-zA-Z0-9_]+[\t ]*:"
!    "\\|"
     "address@hidden ]+[a-zA-Z0-9_]+[\t ]*([a-zA-Z0-9_]+)"
!    "\\|"
     ;; For NSObject, NSProxy and Object... They don't have super class.
     "address@hidden ]+[a-zA-Z0-9_]+[\t ]*.*$"
!    "\\|"
     "address@hidden ]+[a-zA-Z0-9_]+[\t ]*([a-zA-Z0-9_]+)"
!    "\\|"
     "address@hidden ]+[a-zA-Z0-9_]+"
!    "\\|"
     "address@hidden ]+[a-zA-Z0-9_]+" "\\)")
    "Imenu generic expression for ObjC mode.  See `imenu-generic-expression'.")
  
***************
*** 231,243 ****
  ;; Imenu support for objective-c uses functions.
  (defsubst cc-imenu-objc-method-to-selector (method)
    "Return the objc selector style string of METHOD.
! Example: 
  - perform: (SEL)aSelector withObject: object1 withObject: object2; /* METHOD 
*/
  =>
  -perform:withObject:withObject:withObject: /* selector */"
    (let ((return "")                   ; String to be returned
!       (p 0)                           ; Current scanning position in METHOD  
!       (pmax (length method))          ; 
        char                            ; Current scanning target
        (betweenparen 0)                ; CHAR is in parentheses.
        argreq                          ; An argument is required.
--- 231,243 ----
  ;; Imenu support for objective-c uses functions.
  (defsubst cc-imenu-objc-method-to-selector (method)
    "Return the objc selector style string of METHOD.
! Example:
  - perform: (SEL)aSelector withObject: object1 withObject: object2; /* METHOD 
*/
  =>
  -perform:withObject:withObject:withObject: /* selector */"
    (let ((return "")                   ; String to be returned
!       (p 0)                           ; Current scanning position in METHOD
!       (pmax (length method))          ;
        char                            ; Current scanning target
        (betweenparen 0)                ; CHAR is in parentheses.
        argreq                          ; An argument is required.
***************
*** 253,269 ****
                 (and (<= ?A char) (<= char ?Z))
                 (and (<= ?0 char) (<= char ?9))
                 (= ?_ char)))
!       (if argreq      
            (setq inargvar t
                  argreq nil)
          (setq return (concat return (char-to-string char)))))
         ;; Or a white space?
!        ((and inargvar (or (eq ?\  char) (eq ?\n char)) 
             (setq inargvar nil)))
         ;; Or a method separator?
         ;; If a method separator, the next token will be an argument variable.
!        ((eq ?: char)                  
!       (setq argreq t                  
              return (concat return (char-to-string char))))
         ;; Or an open parentheses?
         ((eq ?\( char)
--- 253,269 ----
                 (and (<= ?A char) (<= char ?Z))
                 (and (<= ?0 char) (<= char ?9))
                 (= ?_ char)))
!       (if argreq
            (setq inargvar t
                  argreq nil)
          (setq return (concat return (char-to-string char)))))
         ;; Or a white space?
!        ((and inargvar (or (eq ?\  char) (eq ?\n char))
             (setq inargvar nil)))
         ;; Or a method separator?
         ;; If a method separator, the next token will be an argument variable.
!        ((eq ?: char)
!       (setq argreq t
              return (concat return (char-to-string char))))
         ;; Or an open parentheses?
         ((eq ?\( char)
***************
*** 277,283 ****
    "Remove all spaces and tabs from STR."
    (let ((return "")
        (p 0)
!       (max (length str)) 
        char)
      (while (< p max)
        (setq char (aref str p))
--- 277,283 ----
    "Remove all spaces and tabs from STR."
    (let ((return "")
        (p 0)
!       (max (length str))
        char)
      (while (< p max)
        (setq char (aref str p))
***************
*** 294,300 ****
        ;;
        ;; OBJC, Cnoreturn, Cgeneralfunc, Cproto are constants.
        ;;
!       ;;                  *Warning for developers* 
        ;; These constants depend on `cc-imenu-c++-generic-expression'.
        ;;
        (OBJC cc-imenu-objc-generic-expression-objc-base-index)
--- 294,300 ----
        ;;
        ;; OBJC, Cnoreturn, Cgeneralfunc, Cproto are constants.
        ;;
!       ;;                  *Warning for developers*
        ;; These constants depend on `cc-imenu-c++-generic-expression'.
        ;;
        (OBJC cc-imenu-objc-generic-expression-objc-base-index)
***************
*** 310,322 ****
        toplist
        stupid
        str
!       str2 
        (intflen (length "@interface"))
        (implen  (length "@implementation"))
        (prtlen  (length "@protocol"))
        (func
         ;;
!        ;; Does this emacs has buffer-substring-no-properties? 
         ;;
         (if (fboundp 'buffer-substring-no-properties)
             'buffer-substring-no-properties
--- 310,322 ----
        toplist
        stupid
        str
!       str2
        (intflen (length "@interface"))
        (implen  (length "@implementation"))
        (prtlen  (length "@protocol"))
        (func
         ;;
!        ;; Does this emacs has buffer-substring-no-properties?
         ;;
         (if (fboundp 'buffer-substring-no-properties)
             'buffer-substring-no-properties
***************
*** 326,332 ****
      ;;
      (while (re-search-backward cc-imenu-objc-generic-expression nil t)
        (imenu-progress-message stupid)
!       (setq langnum (if (match-beginning OBJC) 
                        OBJC
                      (cond
                       ((match-beginning Cproto) Cproto)
--- 326,332 ----
      ;;
      (while (re-search-backward cc-imenu-objc-generic-expression nil t)
        (imenu-progress-message stupid)
!       (setq langnum (if (match-beginning OBJC)
                        OBJC
                      (cond
                       ((match-beginning Cproto) Cproto)
***************
*** 334,340 ****
                       ((match-beginning Cnoreturn) Cnoreturn))))
        (setq str (funcall func (match-beginning langnum) (match-end langnum)))
        ;;
!       (cond 
         ;;
         ;; C
         ;;
--- 334,340 ----
                       ((match-beginning Cnoreturn) Cnoreturn))))
        (setq str (funcall func (match-beginning langnum) (match-end langnum)))
        ;;
!       (cond
         ;;
         ;; C
         ;;
***************
*** 342,348 ****
        (setq clist (cons (cons str (match-beginning langnum)) clist)))
         ;;
         ;; ObjC
!        ;; 
         ;; An instance Method
         ((eq (aref str 0) ?-)
        (setq str (concat "-" (cc-imenu-objc-method-to-selector str)))
--- 342,348 ----
        (setq clist (cons (cons str (match-beginning langnum)) clist)))
         ;;
         ;; ObjC
!        ;;
         ;; An instance Method
         ((eq (aref str 0) ?-)
        (setq str (concat "-" (cc-imenu-objc-method-to-selector str)))
***************
*** 355,364 ****
        (setq methodlist (cons (cons str
                              (match-beginning langnum))
                        methodlist)))
!        ;; Interface or implementation or protocol 
         ((eq (aref str 0) ?@)
        (setq classcount (1+ classcount))
!       (cond 
         ((and (> (length str) implen)
               (string= (substring  str 0 implen) "@implementation"))
          (setq str (substring str implen)
--- 355,364 ----
        (setq methodlist (cons (cons str
                              (match-beginning langnum))
                        methodlist)))
!        ;; Interface or implementation or protocol
         ((eq (aref str 0) ?@)
        (setq classcount (1+ classcount))
!       (cond
         ((and (> (length str) implen)
               (string= (substring  str 0 implen) "@implementation"))
          (setq str (substring str implen)
***************
*** 376,382 ****
        (setq toplist (cons nil (cons (cons str
                                          methodlist) toplist))
              methodlist nil))))
!     ;; 
      (imenu-progress-message stupid 100)
      (if (eq (car toplist) nil)
        (setq toplist (cdr toplist)))
--- 376,382 ----
        (setq toplist (cons nil (cons (cons str
                                          methodlist) toplist))
              methodlist nil))))
!     ;;
      (imenu-progress-message stupid 100)
      (if (eq (car toplist) nil)
        (setq toplist (cdr toplist)))




reply via email to

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