Commit d2a57bdf authored by David Engster's avatar David Engster

CEDET: Fix "unknown slot [...]" warnings

Replace (oref OBJECT :SLOT) with (slot-value OBJECT 'SLOT).

TODO: ChangeLog
parent 9c2feacc
......@@ -628,15 +628,15 @@ instead of the current project."
The other slot will be used to calculate values.
PROJECT-FILE-NAME is a name of project file (short name, like `pom.xml', etc."
(when (and (or (not (slot-boundp this :file))
(not (oref this :file)))
(not (slot-value this 'file)))
(slot-boundp this :directory)
(oref this :directory))
(oset this :file (expand-file-name project-file-name (oref this :directory))))
(slot-value this 'directory))
(oset this :file (expand-file-name project-file-name (slot-value this 'directory))))
(when (and (or (not (slot-boundp this :directory))
(not (oref this :directory)))
(not (slot-value this 'directory)))
(slot-boundp this :file)
(oref this :file))
(oset this :directory (file-name-directory (oref this :file))))
(slot-value this 'file))
(oset this :directory (file-name-directory (slot-value this 'file))))
)
......
......@@ -143,7 +143,7 @@ the directory isn't on the `safe' list, ask to add it to the safe list."
(setq config nil))
(when (not config)
(let* ((top (oref proj :directory))
(let* ((top (slot-value proj 'directory))
(fname (expand-file-name (oref proj config-file-basename) top))
(class (oref proj config-class))
(ignore-type nil))
......@@ -262,7 +262,7 @@ programs from a project.")
"Run the current project derived from TARGET in a debugger."
(let* ((proj (ede-target-parent target))
(config (ede-config-get-configuration proj t))
(debug (oref config :debug-command))
(debug (slot-value config 'debug-command))
(cmd (read-from-minibuffer
"Debug Command: "
debug))
......@@ -279,7 +279,7 @@ programs from a project.")
"Run the current project derived from TARGET."
(let* ((proj (ede-target-parent target))
(config (ede-config-get-configuration proj t))
(run (concat "./" (oref config :run-command)))
(run (concat "./" (slot-value config 'run-command)))
(cmd (read-from-minibuffer "Run (like this): " run)))
(ede-shell-run-something target cmd)))
......@@ -310,7 +310,7 @@ This class brings in method overloads for for building.")
"Compile the entire current project PROJ.
Argument COMMAND is the command to use when compiling."
(let* ((config (ede-config-get-configuration proj t))
(comp (oref config :build-command)))
(comp (slot-value config 'build-command)))
(compile comp)))
(cl-defmethod project-compile-target ((obj ede-target-with-config-build) &optional command)
......@@ -379,7 +379,7 @@ the preprocessor map, and include paths.")
filemap
)
;; Preprocessor files
(dolist (G (oref config :c-preprocessor-files))
(dolist (G (slot-value config 'c-preprocessor-files))
(let ((table (semanticdb-file-table-object
(ede-expand-filename root G))))
(when table
......@@ -388,7 +388,7 @@ the preprocessor map, and include paths.")
(setq filemap (append filemap (oref table lexical-table)))
)))
;; The core table
(setq filemap (append filemap (oref config :c-preprocessor-table)))
(setq filemap (append filemap (slot-value config 'c-preprocessor-table)))
filemap
))
......@@ -417,7 +417,7 @@ java class path.")
(cl-defmethod ede-java-classpath ((proj ede-project-with-config-java))
"Return the classpath for this project."
(oref (ede-config-get-configuration proj) :classpath))
(slot-value (ede-config-get-configuration proj) 'classpath))
;; Local variables:
;; generated-autoload-file: "loaddefs.el"
......
......@@ -281,7 +281,7 @@ Each directory needs a project file to control it.")
"Make sure the :file is fully expanded."
;; Add ourselves to the master list
(cl-call-next-method)
(let ((f (expand-file-name (oref this :file))))
(let ((f (expand-file-name (slot-value this 'file))))
;; Remove any previous entries from the main list.
(let ((old (eieio-instance-tracker-find (file-name-directory f)
:directory 'ede-cpp-root-project-list)))
......@@ -457,8 +457,8 @@ This is for project include paths and spp source files."
"Compile the entire current project PROJ.
Argument COMMAND is the command to use when compiling."
;; we need to be in the proj root dir for this to work
(let* ((cmd (oref proj :compile-command))
(ov (oref proj :local-variables))
(let* ((cmd (slot-value proj 'compile-command))
(ov (slot-value proj 'local-variables))
(lcmd (when ov (cdr (assoc 'compile-command ov))))
(cmd-str (cond
((stringp cmd) cmd)
......@@ -472,8 +472,8 @@ Argument COMMAND is the command to use when compiling."
(cl-defmethod project-compile-target ((obj ede-cpp-root-target) &optional command)
"Compile the current target OBJ.
Argument COMMAND is the command to use for compiling the target."
(when (oref obj :project)
(project-compile-project (oref obj :project) command)))
(when (slot-value obj 'project)
(project-compile-project (slot-value obj 'project) command)))
(cl-defmethod project-rescan ((this ede-cpp-root-project))
......
......@@ -72,9 +72,9 @@ the current EDE project."
(interactive)
(let ((scanned nil))
(dolist (P ede-projects)
(if (member (oref P :directory) scanned)
(error "Duplicate project (by dir) found in %s!" (oref P :directory))
(push (oref P :directory) scanned)))
(if (member (slot-value P 'directory) scanned)
(error "Duplicate project (by dir) found in %s!" (slot-value P 'directory))
(push (slot-value P 'directory) scanned)))
(unless ede--disable-inode
(setq scanned nil)
(dolist (P ede-projects)
......@@ -136,7 +136,7 @@ of the anchor file for the project."
"Get the inode of the directory project PROJ is in."
(if (slot-boundp proj 'dirinode)
(oref proj dirinode)
(oset proj dirinode (ede--inode-for-dir (oref proj :directory)))))
(oset proj dirinode (ede--inode-for-dir (slot-value proj 'directory)))))
(defun ede--inode-get-toplevel-open-project (inode)
"Return an already open toplevel project that is managing INODE.
......@@ -175,7 +175,7 @@ If DIR is the root project, then it is the same."
(when rootreturn (set rootreturn proj))
;; Find subprojects.
(when (and proj (if ede--disable-inode
(not (string= ft (expand-file-name (oref proj :directory))))
(not (string= ft (expand-file-name (slot-value proj 'directory))))
(not (equal inode (ede--project-inode proj)))))
(setq ans (ede-find-subproject-for-directory proj ft)))
ans))
......@@ -191,7 +191,7 @@ If optional EXACT is non-nil, only return exact matches for DIR."
(shortans nil))
(while (and all (not ans))
;; Do the check.
(let ((pd (expand-file-name (oref (car all) :directory)))
(let ((pd (expand-file-name (slot-value (car all) 'directory)))
)
(cond
;; Exact text match.
......@@ -203,7 +203,7 @@ If optional EXACT is non-nil, only return exact matches for DIR."
(setq shortans (car all))
;; We already have a short answer, so see if pd (the match we found)
;; is longer. If it is longer, then it is more precise.
(when (< (length (oref shortans :directory))
(when (< (length (slot-value shortans 'directory))
(length pd))
(setq shortans (car all))))
)
......@@ -224,7 +224,7 @@ If optional EXACT is non-nil, only return exact matches for DIR."
(setq shortans (car all))
;; We already have a short answer, so see if pd (the match we found)
;; is longer. If it is longer, then it is more precise.
(when (< (length (expand-file-name (oref shortans :directory)))
(when (< (length (expand-file-name (slot-value shortans 'directory)))
(length pd))
(setq shortans (car all))))
)))
......@@ -244,7 +244,7 @@ If optional EXACT is non-nil, only return exact matches for DIR."
proj
(lambda (SP)
(when (not ans)
(if (string= fulldir (file-truename (oref SP :directory)))
(if (string= fulldir (file-truename (slot-value SP 'directory)))
(setq ans SP)
(ede-find-subproject-for-directory SP dir)))))
ans)
......@@ -374,11 +374,11 @@ If DIR is not part of a project, return nil."
((and (string= dir default-directory)
ede-object-root-project)
;; Try the local buffer cache first.
(oref ede-object-root-project :directory))
(slot-value ede-object-root-project 'directory))
;; See if there is an existing project in DIR.
((setq ans (ede-directory-get-toplevel-open-project dir))
(oref ans :directory))
(slot-value ans 'directory))
;; Detect using our file system detector.
((setq ans (ede-detect-directory-for-project dir))
......
......@@ -659,11 +659,11 @@ Strip out duplicates, and recurse on variables."
(mapc (lambda (sp)
(let* ((subdir (file-name-as-directory
(expand-file-name
sp (file-name-directory (oref this :file)))))
sp (file-name-directory (slot-value this 'file)))))
(submake (expand-file-name
"Makefile.am"
subdir)))
(if (string= submake (oref this :file))
(if (string= submake (slot-value this 'file))
nil ;; don't recurse.. please!
;; For each project id found, see if we need to recycle,
;; and if we do not, then make a new one. Check the deep
......@@ -695,16 +695,16 @@ Strip out duplicates, and recurse on variables."
(cl-defmethod project-rescan ((this project-am-program))
"Rescan object THIS."
(oset this :source (makefile-macro-file-list (project-am-macro this)))
(unless (oref this :source)
(oset this :source (list (concat (oref this :name) ".c"))))
(unless (slot-value this 'source)
(oset this :source (list (concat (slot-value this 'name) ".c"))))
(oset this :ldadd (makefile-macro-file-list
(concat (oref this :name) "_LDADD"))))
(concat (slot-value this 'name) "_LDADD"))))
(cl-defmethod project-rescan ((this project-am-lib))
"Rescan object THIS."
(oset this :source (makefile-macro-file-list (project-am-macro this)))
(unless (oref this :source)
(oset this :source (list (concat (file-name-sans-extension (oref this :name)) ".c")))))
(unless (slot-value this 'source)
(oset this :source (list (concat (file-name-sans-extension (slot-value this 'name)) ".c")))))
(cl-defmethod project-rescan ((this project-am-texinfo))
"Rescan object THIS."
......@@ -732,7 +732,7 @@ Strip out duplicates, and recurse on variables."
(cl-defmethod project-am-macro ((this project-am-objectcode))
"Return the default macro to `edit' for this object type."
(concat (subst-char-in-string ?- ?_ (oref this :name)) "_SOURCES"))
(concat (subst-char-in-string ?- ?_ (slot-value this 'name)) "_SOURCES"))
(cl-defmethod project-am-macro ((this project-am-header-noinst))
"Return the default macro to `edit' for this object."
......@@ -752,11 +752,11 @@ Strip out duplicates, and recurse on variables."
(cl-defmethod project-am-macro ((this project-am-texinfo))
"Return the default macro to `edit' for this object type."
(concat (file-name-sans-extension (oref this :name)) "_TEXINFOS"))
(concat (file-name-sans-extension (slot-value this 'name)) "_TEXINFOS"))
(cl-defmethod project-am-macro ((this project-am-man))
"Return the default macro to `edit' for this object type."
(oref this :name))
(slot-value this 'name))
(cl-defmethod project-am-macro ((this project-am-lisp))
"Return the default macro to `edit' for this object."
......@@ -784,7 +784,7 @@ nil means that this buffer belongs to no-one."
(cl-defmethod ede-buffer-mine ((this project-am-makefile) buffer)
"Return t if object THIS lays claim to the file in BUFFER."
(let ((efn (expand-file-name (buffer-file-name buffer))))
(or (string= (oref this :file) efn)
(or (string= (slot-value this 'file) efn)
(string-match "/configure\\.ac$" efn)
(string-match "/configure\\.in$" efn)
(string-match "/configure$" efn)
......@@ -798,25 +798,25 @@ nil means that this buffer belongs to no-one."
(cl-defmethod ede-buffer-mine ((this project-am-objectcode) buffer)
"Return t if object THIS lays claim to the file in BUFFER."
(member (file-relative-name (buffer-file-name buffer) (oref this :path))
(oref this :source)))
(member (file-relative-name (buffer-file-name buffer) (slot-value this 'path))
(slot-value this 'source)))
(cl-defmethod ede-buffer-mine ((this project-am-texinfo) buffer)
"Return t if object THIS lays claim to the file in BUFFER."
(let ((bfn (file-relative-name (buffer-file-name buffer)
(oref this :path))))
(or (string= (oref this :name) bfn)
(member bfn (oref this :include)))))
(slot-value this 'path))))
(or (string= (slot-value this 'name) bfn)
(member bfn (slot-value this 'include)))))
(cl-defmethod ede-buffer-mine ((this project-am-man) buffer)
"Return t if object THIS lays claim to the file in BUFFER."
(string= (oref this :name)
(file-relative-name (buffer-file-name buffer) (oref this :path))))
(string= (slot-value this 'name)
(file-relative-name (buffer-file-name buffer) (slot-value this 'path))))
(cl-defmethod ede-buffer-mine ((this project-am-lisp) buffer)
"Return t if object THIS lays claim to the file in BUFFER."
(member (file-relative-name (buffer-file-name buffer) (oref this :path))
(oref this :source)))
(member (file-relative-name (buffer-file-name buffer) (slot-value this 'path))
(slot-value this 'source)))
(cl-defmethod project-am-subtree ((ampf project-am-makefile) subdir)
"Return the sub project in AMPF specified by SUBDIR."
......@@ -829,11 +829,11 @@ nil means that this buffer belongs to no-one."
(cl-defmethod project-compile-target-command ((this project-am-objectcode))
"Default target to use when compiling an object code target."
(oref this :name))
(slot-value this 'name))
(cl-defmethod project-compile-target-command ((this project-am-texinfo))
"Default target t- use when compiling a texinfo file."
(let ((n (oref this :name)))
(let ((n (slot-value this 'name)))
(if (string-match "\\.texi?\\(nfo\\)?" n)
(setq n (replace-match ".info" t t n)))
n))
......@@ -993,7 +993,7 @@ Kill the Configure buffer if it was not already in a buffer."
"Get the package information for directory topmost project dir over DIR.
Calculates the info with `project-am-extract-package-info'."
(let ((top (ede-toplevel)))
(when top (setq dir (oref top :directory)))
(when top (setq dir (slot-value top 'directory)))
(project-am-extract-package-info dir)))
;; for simple per project include path extension
......
......@@ -38,7 +38,7 @@
COMMAND is a text string representing the thing to be run."
(let* ((buff (ede-shell-buffer target))
(cp (ede-target-parent target))
(dd (oref cp :directory)))
(dd (slot-value cp 'directory)))
;; Show the new buffer.
(when (not (get-buffer-window buff))
(switch-to-buffer-other-window buff t))
......
......@@ -41,7 +41,7 @@ Argument NEWVERSION is the version number to use in the current project."
v nil v))))
(let ((ede-object (ede-toplevel)))
;; Don't update anything if there was no change.
(unless (string= (oref ede-object :version) newversion)
(unless (string= (slot-value ede-object 'version) newversion)
(oset ede-object :version newversion)
(project-update-version ede-object)
(ede-update-version-in-source ede-object newversion))))
......
......@@ -202,7 +202,7 @@ Optional argument DESIRED-TYPE may be a non-type tag to analyze."
(cl-defmethod semantic-analyze-interesting-tag
((context semantic-analyze-context))
"Return a tag from CONTEXT that would be most interesting to a user."
(let ((prefix (reverse (oref context :prefix))))
(let ((prefix (reverse (slot-value context 'prefix))))
;; Go back through the prefix until we find a tag we can return.
(while (and prefix (not (semantic-tag-p (car prefix))))
(setq prefix (cdr prefix)))
......@@ -212,12 +212,12 @@ Optional argument DESIRED-TYPE may be a non-type tag to analyze."
(cl-defmethod semantic-analyze-interesting-tag
((context semantic-analyze-context-functionarg))
"Try the base, and if that fails, return what we are assigning into."
(or (cl-call-next-method) (car-safe (oref context :function))))
(or (cl-call-next-method) (car-safe (slot-value context 'function))))
(cl-defmethod semantic-analyze-interesting-tag
((context semantic-analyze-context-assignment))
"Try the base, and if that fails, return what we are assigning into."
(or (cl-call-next-method) (car-safe (oref context :assignee))))
(or (cl-call-next-method) (car-safe (slot-value context 'assignee))))
;;; TYPE MEMBERS
;;
......@@ -760,8 +760,8 @@ Optional argument CTXT is the context to show."
(cl-defmethod semantic-analyze-pulse ((context semantic-analyze-context))
"Pulse the region that CONTEXT affects."
(require 'pulse)
(with-current-buffer (oref context :buffer)
(let ((bounds (oref context :bounds)))
(with-current-buffer (slot-value context 'buffer)
(let ((bounds (slot-value context 'bounds)))
(when bounds
(pulse-momentary-highlight-region (car bounds) (cdr bounds))))))
......
......@@ -478,7 +478,7 @@ variable `semantic-dependency-system-include-path'."))
(defun semantic-analyzer-debug-describe-scope (ctxt &optional classconstraint)
"Describe the scope in CTXT for finding a global symbol.
Optional argument CLASSCONSTRAINT says to output to tags of that class."
(let* ((scope (oref ctxt :scope))
(let* ((scope (slot-value ctxt 'scope))
(parents (oref scope parents))
(cc (or classconstraint (oref ctxt prefixclass)))
)
......
......@@ -104,7 +104,7 @@ Use `semantic-analyze-current-tag' to debug this fcn."
"Return the implementations derived in the reference analyzer REFS.
Optional argument IN-BUFFER indicates that the returned tag should be in an active buffer."
(let ((allhits (oref refs rawsearchdata))
(tag (oref refs :tag))
(tag (slot-value refs 'tag))
(impl nil)
)
(semanticdb-find-result-mapc
......@@ -129,7 +129,7 @@ Optional argument IN-BUFFER indicates that the returned tag should be in an acti
"Return the prototypes derived in the reference analyzer REFS.
Optional argument IN-BUFFER indicates that the returned tag should be in an active buffer."
(let ((allhits (oref refs rawsearchdata))
(tag (oref refs :tag))
(tag (slot-value refs 'tag))
(proto nil))
(semanticdb-find-result-mapc
(lambda (T DB)
......
......@@ -182,10 +182,10 @@ Any extra FLAGS are ignored."
(require 'semantic/analyze/complete)
(with-current-buffer (oref context buffer)
(let* ((normal (semantic-analyze-possible-completions-default context))
(classes (oref context :prefixclass))
(classes (slot-value context 'prefixclass))
(filetags nil))
(when (memq 'filename classes)
(let* ((prefix (car (oref context :prefix)))
(let* ((prefix (car (slot-value context 'prefix)))
(completetext (cond ((semantic-tag-p prefix)
(semantic-tag-name prefix))
((stringp prefix)
......
......@@ -1288,7 +1288,7 @@ Uses semanticdb for searching all tags in the current project."
(localstuff (oref scope scope)))
(list
(cons
(oref scope :table)
(slot-value scope 'table)
(semantic-find-tags-for-completion prefix localstuff)))))
;(semanticdb-brute-deep-find-tags-for-completion prefix (oref obj path))))
......
......@@ -192,7 +192,7 @@ Returns a table of all matching tags."
(faketags nil)
)
(when result
(dolist (T (oref result :hit-text))
(dolist (T (slot-value result 'hit-text))
;; We should look up each tag one at a time, but I'm lazy!
;; Doing this may be good enough.
(setq faketags (cons
......
......@@ -556,7 +556,7 @@ If there isn't one, create it.
(stream nil)
)
(dolist (table (semanticdb-get-database-tables db))
(when (eq lmode (oref table :major-mode))
(when (eq lmode (slot-value table 'major-mode))
(setq stream
(semanticdb-typecache-merge-streams
stream
......
......@@ -171,7 +171,7 @@ These buffers are brought into view when layout occurs.")
(cl-defmethod semantic-debug-highlight-lexical-token ((iface semantic-debug-interface) token)
"For IFACE, highlight TOKEN in the source buffer .
TOKEN is a lexical token."
(set-buffer (oref iface :source-buffer))
(set-buffer (slot-value iface 'source-buffer))
(object-add-to-list iface 'overlays
(semantic-lex-highlight-token token))
......@@ -184,7 +184,7 @@ TOKEN is a lexical token."
NONTERM is the name of the rule currently being processed that shows up
as a nonterminal (or tag) in the source buffer.
If RULE and MATCH indices are specified, highlight those also."
(set-buffer (oref iface :parser-buffer))
(set-buffer (slot-value iface 'parser-buffer))
(let* ((rules (semantic-find-tags-by-class 'nonterminal (current-buffer)))
(nt (semantic-find-first-tag-by-name nonterm rules))
......
......@@ -437,11 +437,11 @@ its contents.
;; Get the semanticdb statement, and display it's contents.
(princ "\nDetails for header file...\n")
(princ "\nMajor Mode: ")
(princ (oref table :major-mode))
(princ (slot-value table 'major-mode))
(princ "\nTags: ")
(princ (format "%s entries" (length (oref table :tags))))
(princ (format "%s entries" (length (slot-value table 'tags))))
(princ "\nFile Size: ")
(princ (format "%s chars" (oref table :pointmax)))
(princ (format "%s chars" (slot-value table 'pointmax)))
(princ "\nSave State: ")
(cond ((oref table dirty)
(princ "Table needs to be saved."))
......
......@@ -1903,7 +1903,7 @@ Optional FLAGS are ignored."
(with-mode-local emacs-lisp-mode
(semantic-analyze-possible-completions context))
(with-current-buffer (oref context buffer)
(let* ((prefix (car (reverse (oref context :prefix))))
(let* ((prefix (car (reverse (slot-value context 'prefix))))
(completetext (cond ((semantic-tag-p prefix)
(semantic-tag-name prefix))
((stringp prefix)
......
......@@ -318,7 +318,7 @@ minor mode is enabled."
(al nil))
(while (< idx len)
(let ((r (ring-ref ring idx)))
(setq al (cons (cons (oref r :object-name) r)
(setq al (cons (cons (slot-value r 'object-name) r)
al)))
(setq idx (1+ idx)))
(nreverse al)))
......
......@@ -51,10 +51,10 @@ See the function `cedet-cscope-search' for more details.")
default-directory))
;; CScope has to be run from the project root where
;; cscope.out is.
(b (cedet-cscope-search (oref tool :searchfor)
(oref tool :searchtype)
(oref tool :resulttype)
(oref tool :searchscope)
(b (cedet-cscope-search (slot-value tool 'searchfor)
(slot-value tool 'searchtype)
(slot-value tool 'resulttype)
(slot-value tool 'searchscope)
))
)
(semantic-symref-parse-tool-output tool b)
......@@ -66,22 +66,22 @@ See the function `cedet-cscope-search' for more details.")
(cl-defmethod semantic-symref-parse-tool-output-one-line ((tool semantic-symref-tool-cscope))
"Parse one line of grep output, and return it as a match list.
Moves cursor to end of the match."
(cond ((eq (oref tool :resulttype) 'file)
(cond ((eq (slot-value tool 'resulttype) 'file)
;; Search for files
(when (re-search-forward "^\\([^\n]+\\)$" nil t)
(match-string 1)))
((eq (oref tool :searchtype) 'tagcompletions)
((eq (slot-value tool 'searchtype) 'tagcompletions)
;; Search for files
(when (re-search-forward "^[^ ]+ [^ ]+ [^ ]+ \\(.*\\)$" nil t)
(let ((subtxt (match-string 1))
(searchtxt (oref tool :searchfor)))
(searchtxt (slot-value tool 'searchfor)))
(if (string-match (concat "\\<" searchtxt "\\(\\w\\|\\s_\\)*\\>")
subtxt)
(match-string 0 subtxt)
;; We have to return something at this point.
subtxt)))
)
((eq (oref tool :resulttype) 'line-and-text)
((eq (slot-value tool 'resulttype) 'line-and-text)
(when (re-search-forward semantic-symref-cscope--line-re nil t)
(list (string-to-number (match-string 2))
(expand-file-name (match-string 1))
......
......@@ -40,10 +40,10 @@ See the function `cedet-gnu-global-search' for more details.")
(cl-defmethod semantic-symref-perform-search ((tool semantic-symref-tool-global))
"Perform a search with GNU Global."
(let ((b (cedet-gnu-global-search (oref tool :searchfor)
(oref tool :searchtype)
(oref tool :resulttype)
(oref tool :searchscope)
(let ((b (cedet-gnu-global-search (slot-value tool 'searchfor)
(slot-value tool 'searchtype)
(slot-value tool 'resulttype)
(slot-value tool 'searchscope)
))
)
(semantic-symref-parse-tool-output tool b)
......@@ -55,12 +55,12 @@ See the function `cedet-gnu-global-search' for more details.")
(cl-defmethod semantic-symref-parse-tool-output-one-line ((tool semantic-symref-tool-global))
"Parse one line of grep output, and return it as a match list.
Moves cursor to end of the match."
(cond ((or (eq (oref tool :resulttype) 'file)
(eq (oref tool :searchtype) 'tagcompletions))
(cond ((or (eq (slot-value tool 'resulttype) 'file)
(eq (slot-value tool 'searchtype) 'tagcompletions))
;; Search for files
(when (re-search-forward "^\\([^\n]+\\)$" nil t)
(match-string 1)))
((eq (oref tool :resulttype) 'line-and-text)
((eq (slot-value tool 'resulttype) 'line-and-text)
(when (re-search-forward semantic-symref-global--line-re nil t)
(list (string-to-number (match-string 2))
(match-string 3)
......
......@@ -137,7 +137,7 @@ This shell should support pipe redirect syntax."
(cl-defmethod semantic-symref-perform-search ((tool semantic-symref-tool-grep))
"Perform a search with Grep."
;; Grep doesn't support some types of searches.
(let ((st (oref tool :searchtype)))
(let ((st (slot-value tool 'searchtype)))
(when (not (memq st '(symbol regexp)))
(error "Symref impl GREP does not support searchtype of %s" st))
)
......@@ -147,13 +147,13 @@ This shell should support pipe redirect syntax."
(filepatterns (semantic-symref-derive-find-filepatterns))
(filepattern (mapconcat #'shell-quote-argument filepatterns " "))
;; Grep based flags.
(grepflags (cond ((eq (oref tool :resulttype) 'file)
(grepflags (cond ((eq (slot-value tool 'resulttype) 'file)
"-l ")
((eq (oref tool :searchtype) 'regexp)
((eq (slot-value tool 'searchtype) 'regexp)
"-nE ")
(t "-n ")))
(greppat (shell-quote-argument
(cond ((eq (oref tool :searchtype) 'regexp)
(cond ((eq (slot-value tool 'searchtype) 'regexp)
(oref tool searchfor))
(t
;; Can't use the word boundaries: Grep
......@@ -195,11 +195,11 @@ This shell should support pipe redirect syntax."
(cl-defmethod semantic-symref-parse-tool-output-one-line ((tool semantic-symref-tool-grep))
"Parse one line of grep output, and return it as a match list.
Moves cursor to end of the match."
(cond ((eq (oref tool :resulttype) 'file)
(cond ((eq (slot-value tool 'resulttype) 'file)
;; Search for files
(when (re-search-forward "^\\([^\n]+\\)$" nil t)
(match-string 1)))
((eq (oref tool :resulttype) 'line-and-text)
((eq (slot-value tool 'resulttype) 'line-and-text)
(when (re-search-forward semantic-symref-grep--line-re nil t)
(list (string-to-number (match-string 2))
(match-string 1)
......