emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master b11d892: * lisp/cedet: Reduce reliance on EIEIO int


From: Stefan Monnier
Subject: [Emacs-diffs] master b11d892: * lisp/cedet: Reduce reliance on EIEIO internals.
Date: Mon, 22 Dec 2014 17:43:31 +0000

branch: master
commit b11d8924b565bd96939537b10a70bb3c26532bed
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/cedet: Reduce reliance on EIEIO internals.
    
    * lisp/cedet/ede/generic.el (ede-find-target): Prefer \` and \' to ^ and $.
    
    * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Prefer 
find-class over
    class-v.
    
    * lisp/cedet/semantic/db.el (semanticdb-cache-get): Prefer 
eieio-object-class over
    eieio--object-class.
    
    * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): Use 
eieio-class-children.
---
 lisp/cedet/ChangeLog           |   88 ++++++++++++++++++++++-----------------
 lisp/cedet/ede/generic.el      |    2 +-
 lisp/cedet/semantic/db-el.el   |    4 +-
 lisp/cedet/semantic/db.el      |    4 +-
 lisp/cedet/srecode/srt-mode.el |    4 +-
 5 files changed, 58 insertions(+), 44 deletions(-)

diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 46296d3..a43e94c 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,9 +1,21 @@
+2014-12-22  Stefan Monnier  <address@hidden>
+
+       * srecode/srt-mode.el (srecode-macro-help): Use eieio-class-children.
+
+       * semantic/db.el (semanticdb-cache-get): Prefer eieio-object-class over
+       eieio--object-class.
+
+       * semantic/db-el.el (semanticdb-elisp-sym->tag): Prefer find-class over
+       class-v.
+
+       * ede/generic.el (ede-find-target): Prefer \` and \' to ^ and $.
+
 2014-12-14  Dmitry Gutov  <address@hidden>
 
        * semantic.el (semantic-analyze-completion-at-point-function)
        (semantic-analyze-notc-completion-at-point-function)
-       (semantic-analyze-nolongprefix-completion-at-point-function): Do
-       nothing if the current buffer is not using Semantic (bug#19077).
+       (semantic-analyze-nolongprefix-completion-at-point-function):
+       Do nothing if the current buffer is not using Semantic (bug#19077).
 
 2014-12-08  Matt Curtis  <address@hidden>  (tiny change)
 
@@ -14,11 +26,11 @@
 
        * semantic.el (semantic-mode): Add/remove 3
        completion-at-point-functions.
-       (semantic-completion-at-point-function): Removed.
+       (semantic-completion-at-point-function): Remove.
        (semantic-analyze-completion-at-point-function)
        (semantic-analyze-notc-completion-at-point-function)
-       (semantic-analyze-nolongprefix-completion-at-point-function): New
-       completion at point functions.
+       (semantic-analyze-nolongprefix-completion-at-point-function):
+       New completion at point functions.
 
        * semantic/doc.el (semantic-doc-snarf-comment-for-tag): Fix case
        when comment-end is empty string.
@@ -62,18 +74,18 @@
        assignee now must be of class variable.
 
        * semantic/analyze/complete.el
-       (semantic-analyze-possible-completions-default): Add
-       'no-longprefix' flag.  When used, the prefix and prefixtypes are
+       (semantic-analyze-possible-completions-default):
+       Add 'no-longprefix' flag.  When used, the prefix and prefixtypes are
        shortened to just the last symbol.
 
        * semantic/bovine/c.el (semantic-c-do-lex-if): Catch errors from
        'hideif', and push to the parser warning stack.
        (semantic-lex-cpp-define): When a comment is at the end of a
-       macro, do not subtract an extra 1 from the found position.  Fixes
-       bug with: #define foo (a)/**/ adding an extra ')' to the stream.
+       macro, do not subtract an extra 1 from the found position.
+       Fixes bug with: #define foo (a)/**/ adding an extra ')' to the stream.
 
-       * semantic/bovine/scm.el (semantic-lex-scheme-symbol): Allow
-       symbols to be one char long.
+       * semantic/bovine/scm.el (semantic-lex-scheme-symbol):
+       Allow symbols to be one char long.
 
        * semantic/bovine/grammar.el
        (bovine-grammar-calculate-source-on-path): New.
@@ -89,8 +101,8 @@
        (ede-check-project-query-fcn): New variable
        (ede-check-project-directory): Use above when querying the user.
        Added to support unit testing of this security measure.
-       (ede-initialize-state-current-buffer): Use
-       `ede-directory-project-cons' instead of the -detect- fcn to take
+       (ede-initialize-state-current-buffer):
+       Use `ede-directory-project-cons' instead of the -detect- fcn to take
        advantage of the cache.  Pass found project into
        `ede-load-project-file'.
        (ede-load-project-file): Add new input DETECTIN.
@@ -103,18 +115,18 @@
        (ede-global-list-sanity-check): New Testing fcn.
        (ede-parent-project): Replace old code with call to faster
        `ede-find-subproject-for-directory'.
-       (ede-load-project-file): Use
-       `ede-directory-get-toplevel-open-project' instead of above
-       deleted.  Rename "pfc" to "autoloader".  Use
-       `ede-directory-project-cons' to detect a project.  Delete no
+       (ede-load-project-file):
+       Use `ede-directory-get-toplevel-open-project' instead of above
+       deleted.  Rename "pfc" to "autoloader".
+       Use `ede-directory-project-cons' to detect a project.  Delete no
        project found case where we search up the tree.
 
-       * ede/auto.el (ede-project-autoload): Fix doc typo.  Add
-       `:root-only' slot.
+       * ede/auto.el (ede-project-autoload): Fix doc typo.
+       Add `:root-only' slot.
        (ede-auto-load-project): Doc update: warn to not use.
-       (ede-dir-to-projectfile): Deleted.
-       (ede-project-autoload-dirmatch): Add subdir-only slot.  Make
-       configdatastash unbound by default.
+       (ede-dir-to-projectfile): Delete.
+       (ede-project-autoload-dirmatch): Add subdir-only slot.
+       Make configdatastash unbound by default.
        (ede-do-dirmatch): If subdir-only is true, then don't allow exact
        matches.  Account for configdatastash as unbound.  Assume value of
        nil means no tool installed.  Make sure loaded path matches from
@@ -122,7 +134,7 @@
        (ede-project-class-files): Note that makefile and automake are not
        root only.
        (ede-auto-detect-in-dir): New (for use with `ede/detect.el').
-       (ede-project-dirmatch-p): Deleted.
+       (ede-project-dirmatch-p): Delete.
        (ede-project-root-directory): Remove body, return nil.
        (ede-project-autoload): :proj-root-dirmatch can be null & doc fix.
        (ede-auto-detect-in-dir): If there is no :proj-file, check for a
@@ -140,8 +152,8 @@
        (ede-generic-config): Remove slots: c-include-path,
        c-preprocessor-table, c-preprocessor-files, classpath,
        build-command, debug-command, run command.  Inherit from
-       ede-extra-config-build, ede-extra-config-program.  Make
-       run-command :value match :custom so only strings are accepted.
+       ede-extra-config-build, ede-extra-config-program.
+       Make run-command :value match :custom so only strings are accepted.
        Add some more :group slot specifiers.
        (ede-generic-project): Add mixins `ede-project-with-config-c' and
        `ede-project-with-config-java'. Inherit from
@@ -153,15 +165,15 @@
        (ede-generic-target-c-cpp): Add mixin `ede-target-with-config-c'.
        (ede-generic-target-java): Add mixin `ede-target-with-config-java'.
        (ede-preprocessor-map, ede-system-include-path)
-       (edejava-classpath): Deleted, moved to config.el.
+       (edejava-classpath): Delete, moved to config.el.
        (project-compile-project, project-compile-target)
-       (project-debug-target, project-run-target): Deleted.
+       (project-debug-target, project-run-target): Delete.
        (ede-generic-get-configuration, ede-generic-setup-configuration)
        (ede-commit-project, project-rescan)
        (ede-generic-project::ede-customize)
        (ede-generic-target::ede-customize)
        (ede-generic-config::eieio-done-customizing)
-       (ede-generic-config::ede-commit): Deleted.  Subsumed by new
+       (ede-generic-config::ede-commit): Delete.  Subsumed by new
        baseclass.
        (ede-preprocessor-map, ede-system-include-path)
        (project-debug-target, project-run-target): Call new
@@ -170,7 +182,7 @@
 
        * ede/files.el (ede-find-project-root)
        (ede-files-find-existing)
-       (ede-directory-get-toplevel-open-project-new): Deleted.
+       (ede-directory-get-toplevel-open-project-new): Delete.
        (ede-project-root-directory): Use `ede-project-root' first.
        (ede-project-directory-remove-hash)
        (ede--directory-project-from-hash)
@@ -186,20 +198,20 @@
        projects.  When doing directory name matching, save the 'short'
        version of an answer (non-exact match) and eventually select the
        shortest answer at the end.  Expand the filename of tested
-       projects.  Better support for when inodes are disabled.  Add
-       'exact' option so that it will return a project that is an exact
+       projects.  Better support for when inodes are disabled.
+       Add 'exact' option so that it will return a project that is an exact
        match.
        (ede-find-subproject-for-directory): Small optimization to run
        `file-truename' less often.
        (ede-directory-project-p): Move content, then use
-       `ede-directory-project-cons'.  Use
-       `ede-detect-directory-for-project', replacing old detection loop.
+       `ede-directory-project-cons'.
+       Use `ede-detect-directory-for-project', replacing old detection loop.
        (ede-directory-project-cons): New, from above.
-       (ede-toplevel-project): Toss old scanning code.  Use
-       `ede-detect-directory-for-project' instead.
+       (ede-toplevel-project): Toss old scanning code.
+       Use `ede-detect-directory-for-project' instead.
        (ede-directory-get-toplevel-open-project-new): New.
 
-       * ede/linux.el (ede-linux-project-root): Deleted.
+       * ede/linux.el (ede-linux-project-root): Delete.
        (ede-project-autoload): Remove dirmatch entry - it is no longer
        needed.
 
@@ -220,7 +232,7 @@
        * ede/linux.el (ede-linux-load): Do not add to global list here.
        Don't check for existing anymore.
        (project-rescan): New.
-       (ede-linux-project-list, ede-linux-file-existing): Deleted.
+       (ede-linux-project-list, ede-linux-file-existing): Delete.
        (ede-linux-project-root): Delete body.  Need symbol for autoloads
        for now.
        (ede-linux-project): No longer instance tracker.
@@ -242,7 +254,7 @@
          (ede-cpp-root-file-existing)
        (ede-cpp-root-project-file-for-dir)
        (ede-cpp-root-count, ede-cpp-root-project-root, ede-cpp-root-load)
-       (ede-project-autoload cpp-root): Deleted.
+       (ede-project-autoload cpp-root): Delete.
        (ede-project-root-directory): Return :directory instead of
        calculating from :file.
        (project-rescan): New.
diff --git a/lisp/cedet/ede/generic.el b/lisp/cedet/ede/generic.el
index f0314cb..6d45353 100644
--- a/lisp/cedet/ede/generic.el
+++ b/lisp/cedet/ede/generic.el
@@ -232,7 +232,7 @@ If one doesn't exist, create a new one for this directory."
        (let* ((classsym (intern (car C)))
               (extreg (oref classsym extension)))
          (when (and (not (string= extreg ""))
-                    (string-match (concat "^" extreg "$") ext))
+                    (string-match (concat "\\`\\(?:" extreg "\\)\\'") ext))
            (setq cls classsym)))))
     (when (not cls) (setq cls 'ede-generic-target-misc))
     ;; find a pre-existing matching target
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el
index 7ff1538..f37aa07 100644
--- a/lisp/cedet/semantic/db-el.el
+++ b/lisp/cedet/semantic/db-el.el
@@ -223,7 +223,9 @@ TOKTYPE is a hint to the type of tag desired."
            (symbol-name sym)
            "class"
            (semantic-elisp-desymbolify
-            (eieio--class-public-a (class-v semanticdb-project-database))) ;; 
slots
+             ;; FIXME: This only gives the instance slots and ignores the
+             ;; class-allocated slots.
+            (eieio--class-public-a (find-class semanticdb-project-database))) 
;; slots ;FIXME: eieio--
            (semantic-elisp-desymbolify (eieio-class-parents sym)) ;; parents
            ))
          ((not toktype)
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el
index 13e2d1b..0732f22 100644
--- a/lisp/cedet/semantic/db.el
+++ b/lisp/cedet/semantic/db.el
@@ -481,7 +481,7 @@ other than :table."
   (let ((cache (oref table cache))
        (obj nil))
     (while (and (not obj) cache)
-      (if (eq (eieio--object-class (car cache)) desired-class)
+      (if (eq (eieio-object-class (car cache)) desired-class)
          (setq obj (car cache)))
       (setq cache (cdr cache)))
     (if obj
@@ -532,7 +532,7 @@ other than :table."
   (let ((cache (oref db cache))
        (obj nil))
     (while (and (not obj) cache)
-      (if (eq (eieio--object-class (car cache)) desired-class)
+      (if (eq (eieio-object-class (car cache)) desired-class)
          (setq obj (car cache)))
       (setq cache (cdr cache)))
     (if obj
diff --git a/lisp/cedet/srecode/srt-mode.el b/lisp/cedet/srecode/srt-mode.el
index 48a4865..dfc1df8 100644
--- a/lisp/cedet/srecode/srt-mode.el
+++ b/lisp/cedet/srecode/srt-mode.el
@@ -233,7 +233,7 @@ we can tell font lock about them.")
   "Provide help for working with macros in a template."
   (interactive)
   (let* ((root 'srecode-template-inserter)
-        (chl (eieio--class-children (class-v root)))
+        (chl (eieio-class-children root))
         (ess (srecode-template-get-escape-start))
         (ees (srecode-template-get-escape-end))
         )
@@ -249,7 +249,7 @@ we can tell font lock about them.")
               (showexample t)
               )
          (setq chl (cdr chl))
-         (setq chl (append (eieio--class-children (class-v C)) chl))
+         (setq chl (append (eieio-class-children C) chl))
 
          (catch 'skip
            (when (eq C 'srecode-template-inserter-section-end)



reply via email to

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