]> code.delx.au - gnu-emacs/commitdiff
* lisp/cedet: Reduce reliance on EIEIO internals.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 22 Dec 2014 17:43:23 +0000 (12:43 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 22 Dec 2014 17:43:23 +0000 (12:43 -0500)
* 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
lisp/cedet/ede/generic.el
lisp/cedet/semantic/db-el.el
lisp/cedet/semantic/db.el
lisp/cedet/srecode/srt-mode.el

index 46296d3e39f693f3896d32900267ff475967ab92..a43e94c56863e8159870aa0a86705ba0b8804a7d 100644 (file)
@@ -1,9 +1,21 @@
+2014-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * 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  <dgutov@yandex.ru>
 
        * 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  <matt.r.curtis@gmail.com>  (tiny change)
 
 
        * 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.
        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.
        (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.
        (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
        (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
        (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
        (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
 
        * 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)
        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.
 
        * 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.
          (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.
index f0314cb7f224601402eccfc3a2f53cf376483abd..6d4535323d030b1deb2abc0ac649e211b2977cdd 100644 (file)
@@ -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
index 7ff1538dd2b587bd796ac9ecd8fed1b5f9e680f1..f37aa07ebe67f5d006b56bdd494163f0c9ae7938 100644 (file)
@@ -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)
index 13e2d1b37d4ee1f39d9eb480b8970fc372b3a8c8..0732f2257794524273f043b9ef89bd3dbc3c1c78 100644 (file)
@@ -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
index 48a4865e176f22f3451b178a853f2b9aff66d387..dfc1df805af16c48308827045aacb147b9034133 100644 (file)
@@ -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)