Commit 6b7a9e0e authored by David Engster's avatar David Engster
Browse files

Merge with CEDET upstream (rev. 8564).

parents d105b0e2 caaeb0e8
2013-06-02 Eric Ludlam <zappo@gnu.org>
* grammars/srecode-template.wy (variable): Accept a single number
as a variable value. Allows the 'priority' to be set to a number.
(wisent-srecode-template-lexer): Move number up so it can be
created.
2013-05-16 Glenn Morris <rgm@gnu.org> 2013-05-16 Glenn Morris <rgm@gnu.org>
* cus-test.el (cus-test-cus-load-groups): New function. * cus-test.el (cus-test-cus-load-groups): New function.
......
...@@ -125,6 +125,10 @@ opt-read-fcn ...@@ -125,6 +125,10 @@ opt-read-fcn
variable variable
: SET symbol insertable-string-list newline : SET symbol insertable-string-list newline
(VARIABLE-TAG $2 nil $3) (VARIABLE-TAG $2 nil $3)
| SET symbol number newline
;; This so a common error w/ priority works.
;; Note that "number" still has a string value in the lexer.
(VARIABLE-TAG $2 nil (list $3))
| SHOW symbol newline | SHOW symbol newline
(VARIABLE-TAG $2 nil t) (VARIABLE-TAG $2 nil t)
; ;
...@@ -260,8 +264,8 @@ It ignores whitespace, newlines and comments." ...@@ -260,8 +264,8 @@ It ignores whitespace, newlines and comments."
srecode-template-separator-block srecode-template-separator-block
srecode-template-wy--<keyword>-keyword-analyzer srecode-template-wy--<keyword>-keyword-analyzer
srecode-template-property-analyzer srecode-template-property-analyzer
srecode-template-wy--<symbol>-regexp-analyzer
srecode-template-wy--<number>-regexp-analyzer srecode-template-wy--<number>-regexp-analyzer
srecode-template-wy--<symbol>-regexp-analyzer
srecode-template-wy--<string>-sexp-analyzer srecode-template-wy--<string>-sexp-analyzer
srecode-template-wy--<punctuation>-string-analyzer srecode-template-wy--<punctuation>-string-analyzer
semantic-lex-default-action semantic-lex-default-action
......
2013-06-02 Eric Ludlam <zappo@gnu.org>
* srecode/c.srt (header_guard): Add :c parameter so it works
standalone
2013-06-01 Alex Ott <alexott@gmail.com> 2013-06-01 Alex Ott <alexott@gmail.com>
* tutorials/TUTORIAL.ru: Fix incorrectly translated wording. * tutorials/TUTORIAL.ru: Fix incorrectly translated wording.
......
...@@ -44,7 +44,7 @@ template empty :time :user :file :c ...@@ -44,7 +44,7 @@ template empty :time :user :file :c
{{/HEADER}} {{/HEADER}}
---- ----
template header_guard :file :blank template header_guard :file :blank :c
---- ----
#ifndef {{FILENAME_SYMBOL:upcase}} #ifndef {{FILENAME_SYMBOL:upcase}}
#define {{FILENAME_SYMBOL:upcase}} 1 #define {{FILENAME_SYMBOL:upcase}} 1
......
2013-06-02 Eric Ludlam <zappo@gnu.org>
* emacs-lisp/eieio.el (eieio--defalias, eieio-hook)
(eieio-error-unsupported-class-tags, eieio-skip-typecheck)
(eieio-optimize-primary-methods-flag, eieio-initializing-object)
(eieio-unbound, eieio-default-superclass)
(eieio--define-field-accessors, method-static, method-before)
(method-primary, method-after, method-num-lists)
(method-generic-before, method-generic-primary)
(method-generic-after, method-num-slots)
(eieio-specialized-key-to-generic-key)
(eieio--check-type, class-v, class-p)
(eieio-class-name, define-obsolete-function-alias)
(eieio-class-parents-fast, eieio-class-children-fast)
(same-class-fast-p, class-constructor, generic-p)
(generic-primary-only-p, generic-primary-only-one-p)
(class-option-assoc, class-option, eieio-object-p)
(class-abstract-p, class-method-invocation-order)
(eieio-defclass-autoload-map, eieio-defclass-autoload)
(eieio-class-un-autoload, eieio-defclass)
(eieio-eval-default-p, eieio-perform-slot-validation-for-default)
(eieio-add-new-slot, eieio-copy-parents-into-subclass)
(eieio--defgeneric-init-form, eieio-defgeneric-form)
(eieio-defgeneric-reset-generic-form)
(eieio-defgeneric-form-primary-only)
(eieio-defgeneric-reset-generic-form-primary-only)
(eieio-defgeneric-form-primary-only-one)
(eieio-defgeneric-reset-generic-form-primary-only-one)
(eieio-unbind-method-implementations)
(eieio--defmethod, eieio--typep)
(eieio-perform-slot-validation, eieio-validate-slot-value)
(eieio-validate-class-slot-value, eieio-barf-if-slot-unbound)
(eieio-oref, eieio-oref-default, eieio-default-eval-maybe)
(eieio-oset, eieio-oset-default, eieio-slot-originating-class-p)
(eieio-slot-name-index, eieio-class-slot-name-index)
(eieio-set-defaults, eieio-initarg-to-attribute)
(eieio-attribute-to-initarg, eieio-c3-candidate)
(eieio-c3-merge-lists, eieio-class-precedence-c3)
(eieio-class-precedence-dfs, eieio-class-precedence-bfs)
(eieio-class-precedence-list, eieio-generic-call-methodname)
(eieio-generic-call-arglst, eieio-generic-call-key)
(eieio-generic-call-next-method-list)
(eieio-pre-method-execution-functions, eieio-generic-call)
(eieio-generic-call-primary-only, eieiomt-method-list)
(eieiomt-optimizing-obarray, eieiomt-install)
(eieiomt-add, eieiomt-next, eieiomt-sym-optimize)
(eieio-generic-form, eieio-defmethod, make-obsolete)
(eieio-defgeneric, make-obsolete): Moved to eieio-core.el
(defclass): Remove `eval-and-compile' from macro.
(call-next-method, shared-initialize): Instead of using
`scoped-class' variable, use new eieio--scoped-class, and
eieio--with-scoped-class.
(initialize-instance): Rename local variable 'scoped-class' to
'this-class' to remove ambiguitity from old global.
* emacs-lisp/eieio-core.el: New file. Derived from key parts of
eieio.el.
(eieio--scoped-class-stack): New variable
(eieio--scoped-class): New fcn
(eieio--with-scoped-class): New scoping macro.
(eieio-defclass): Use pushnew instead of add-to-list.
(eieio-defgeneric-form-primary-only-one, eieio-oset-default)
(eieio-slot-name-index, eieio-set-defaults, eieio-generic-call)
(eieio-generic-call-primary-only, eieiomt-add): Instead of using
`scoped-class' variable, use new eieio--scoped-class, and
eieio--with-scoped-class.
* emacs-lisp/eieio-base.el (cl-lib): Require during compile.
2013-06-02 Tassilo Horn <tsdh@gnu.org> 2013-06-02 Tassilo Horn <tsdh@gnu.org>
   
* eshell/esh-ext.el (eshell-external-command): Pass args to * eshell/esh-ext.el (eshell-external-command): Pass args to
2013-06-02 Eric Ludlam <zappo@gnu.org>
* semantic/edit.el (semantic-change-function): Use
`save-match-data' around running hooks.
* semantic/decorate/mode.el
(semantic-decorate-style-predicate-default)
(semantic-decorate-style-highlighter-default): New.
(semantic-decoration-mode): Do not require
`semantic/decorate/include' anymore.
(semantic-toggle-decoration-style): Error if an unknown decoration
style is toggled.
(define-semantic-decoration-style): Add new :load option. When
:load is specified, add autoload tokens for the definition
functions so that code is loaded when the mode is used.
(semantic-decoration-on-includes): New autoload definition for
highlighting includes.
* semantic/bovine/c.el (semantic-lex-c-ifdef): Allow some misc
characters to appear after the tested variable.
* semantic/ede-grammar.el (project-compile-target): Calculate full
src name via ede-expand-filename instead of the crutch of the
current buffer. Enables this target to compile in batch mode.
* semantic/idle.el
(semantic-idle-symbol-maybe-highlight): Wrap highlighting of
remote symbol with `save-excursion'.
(semantic-idle-scheduler-work-parse-neighboring-files): Instead of
using directory-files on each found mode pattern, collect all the
patterns for the current mode, and then for each file, see if it
matches any of them. If it does, parse the file. (Patch
inspiration from Tomasz Gajewski.)
* semantic/ctxt.el (semantic-ctxt-end-of-symbol): New.
(semantic-ctxt-current-symbol-default): New.
* semantic/bovine/el.el (semantic-default-elisp-setup): Add
autoload cookie. Explain existence.
(footer): Add local variable for loaddefs.
* semantic/db.el (semanticdb-file-table-object): Add new filter,
only checking for regular files too.
* semantic/wisent/python.el
(semantic-format-tag-abbreviate): New override. Cuts back on size
of code tags.
* srecode/compile.el (srecode-compile-templates): Fix warning
punctuation. Remove status messages to clean up testing output
* ede/base.el (ede-project-placeholder-cache-file): Update doc to
mention 'nil' value.
(ede-save-cache): Disable cache save if file is nil.
* ede.el (ede-initialize-state-current-buffer): Flush deleted
projects.
(global-ede-mode): Always append our find-file-hook to the end.
(ede-flush-deleted-projects): New command.
* ede/cpp-root.el (ede-preprocessor-map): Protect against init
problems.
* ede/proj.el (ede-proj-target): Added a new "custom" option for
custom symbols representing a compiler or linker instead of
restricting things to only the predefined compilers and linkers.
2013-06-02 David Engster <dengste@eml.cc>
* semantic.el (semantic-mode-map): To avoid showing showing
Development menu twice, only disable menu item if menu-bar is
actually enabled, otherwise the popup 'global menu' might display
a disabled Development menu.
* srecode/srt-wy.el: Regenerate.
2013-06-02 Pete Beardmore <elbeardmorez@msn.com>
* semantic/complete.el
(semantic-displayor-show-request): Fix which slot in obj is set to
the max tags.
2013-06-01 Glenn Morris <rgm@gnu.org> 2013-06-01 Glenn Morris <rgm@gnu.org>
* semantic/grammar.el (semantic-grammar-complete): * semantic/grammar.el (semantic-grammar-complete):
......
...@@ -494,6 +494,11 @@ provided `global-ede-mode' is enabled." ...@@ -494,6 +494,11 @@ provided `global-ede-mode' is enabled."
(defun ede-initialize-state-current-buffer () (defun ede-initialize-state-current-buffer ()
"Initialize the current buffer's state for EDE. "Initialize the current buffer's state for EDE.
Sets buffer local variables for EDE." Sets buffer local variables for EDE."
;; due to inode recycling, make sure we don't
;; we flush projects deleted off the system.
(ede-flush-deleted-projects)
;; Init the buffer.
(let* ((ROOT nil) (let* ((ROOT nil)
(proj (ede-directory-get-open-project default-directory (proj (ede-directory-get-open-project default-directory
'ROOT)) 'ROOT))
...@@ -569,7 +574,9 @@ an EDE controlled project." ...@@ -569,7 +574,9 @@ an EDE controlled project."
(add-hook 'semanticdb-project-predicate-functions 'ede-directory-project-p) (add-hook 'semanticdb-project-predicate-functions 'ede-directory-project-p)
(add-hook 'semanticdb-project-root-functions 'ede-toplevel-project-or-nil) (add-hook 'semanticdb-project-root-functions 'ede-toplevel-project-or-nil)
(add-hook 'ecb-source-path-functions 'ede-ecb-project-paths) (add-hook 'ecb-source-path-functions 'ede-ecb-project-paths)
(add-hook 'find-file-hook 'ede-turn-on-hook) ;; Append our hook to the end. This allows mode-local to finish
;; it's stuff before we start doing misc file loads, etc.
(add-hook 'find-file-hook 'ede-turn-on-hook t)
(add-hook 'dired-mode-hook 'ede-turn-on-hook) (add-hook 'dired-mode-hook 'ede-turn-on-hook)
(add-hook 'kill-emacs-hook 'ede-save-cache) (add-hook 'kill-emacs-hook 'ede-save-cache)
(ede-load-cache) (ede-load-cache)
...@@ -1057,6 +1064,18 @@ On success, return the added project." ...@@ -1057,6 +1064,18 @@ On success, return the added project."
(add-to-list 'ede-projects proj) (add-to-list 'ede-projects proj)
proj) proj)
(defun ede-flush-deleted-projects ()
"Scan the projects list for projects which no longer exist.
Flush the dead projects from the project cache."
(interactive)
(let ((dead nil))
(dolist (P ede-projects)
(when (not (file-exists-p (oref P :file)))
(add-to-list 'dead P)))
(dolist (D dead)
(setq ede-projects (remove D ede-projects)))
))
(defun ede-load-project-file (dir &optional rootreturn) (defun ede-load-project-file (dir &optional rootreturn)
"Project file independent way to read a project in from DIR. "Project file independent way to read a project in from DIR.
Optional ROOTRETURN will return the root project for DIR." Optional ROOTRETURN will return the root project for DIR."
......
...@@ -306,7 +306,8 @@ All specific project types must derive from this project." ...@@ -306,7 +306,8 @@ All specific project types must derive from this project."
;; ;;
(defcustom ede-project-placeholder-cache-file (defcustom ede-project-placeholder-cache-file
(locate-user-emacs-file "ede-projects.el" ".projects.ede") (locate-user-emacs-file "ede-projects.el" ".projects.ede")
"File containing the list of projects EDE has viewed." "File containing the list of projects EDE has viewed.
If set to nil, then the cache is not saved."
:group 'ede :group 'ede
:type 'file) :type 'file)
...@@ -316,38 +317,39 @@ All specific project types must derive from this project." ...@@ -316,38 +317,39 @@ All specific project types must derive from this project."
(defun ede-save-cache () (defun ede-save-cache ()
"Save a cache of EDE objects that Emacs has seen before." "Save a cache of EDE objects that Emacs has seen before."
(interactive) (interactive)
(let ((p ede-projects) (when ede-project-placeholder-cache-file
(c ede-project-cache-files) (let ((p ede-projects)
(recentf-exclude '( (lambda (f) t) )) (c ede-project-cache-files)
) (recentf-exclude '( (lambda (f) t) ))
(condition-case nil
(progn
(set-buffer (find-file-noselect ede-project-placeholder-cache-file t))
(erase-buffer)
(insert ";; EDE project cache file.
;; This contains a list of projects you have visited.\n(")
(while p
(when (and (car p) (ede-project-p p))
(let ((f (oref (car p) file)))
(when (file-exists-p f)
(insert "\n \"" f "\""))))
(setq p (cdr p)))
(while c
(insert "\n \"" (car c) "\"")
(setq c (cdr c)))
(insert "\n)\n")
(condition-case nil
(save-buffer 0)
(error
(message "File %s could not be saved."
ede-project-placeholder-cache-file)))
(kill-buffer (current-buffer))
) )
(error (condition-case nil
(message "File %s could not be read." (progn
ede-project-placeholder-cache-file)) (set-buffer (find-file-noselect ede-project-placeholder-cache-file t))
(erase-buffer)
))) (insert ";; EDE project cache file.
;; This contains a list of projects you have visited.\n(")
(while p
(when (and (car p) (ede-project-p p))
(let ((f (oref (car p) file)))
(when (file-exists-p f)
(insert "\n \"" f "\""))))
(setq p (cdr p)))
(while c
(insert "\n \"" (car c) "\"")
(setq c (cdr c)))
(insert "\n)\n")
(condition-case nil
(save-buffer 0)
(error
(message "File %s could not be saved."
ede-project-placeholder-cache-file)))
(kill-buffer (current-buffer))
)
(error
(message "File %s could not be read."
ede-project-placeholder-cache-file))
))))
(defun ede-load-cache () (defun ede-load-cache ()
"Load the cache of EDE projects." "Load the cache of EDE projects."
......
...@@ -507,7 +507,10 @@ This is for project include paths and spp source files." ...@@ -507,7 +507,10 @@ This is for project include paths and spp source files."
(lambda (F) (lambda (F)
(let* ((expfile (ede-expand-filename root F)) (let* ((expfile (ede-expand-filename root F))
(table (when expfile (table (when expfile
(semanticdb-file-table-object expfile))) ;; Disable EDE init on preprocessor file load
;; otherwise we recurse, cause errs, etc.
(let ((ede-constructing t))
(semanticdb-file-table-object expfile))))
) )
(cond (cond
((not (file-exists-p expfile)) ((not (file-exists-p expfile))
......
...@@ -104,6 +104,7 @@ distributed, and each should have a corresponding rule to build it.") ...@@ -104,6 +104,7 @@ distributed, and each should have a corresponding rule to build it.")
:initform nil :initform nil
:type (or null symbol) :type (or null symbol)
:custom (choice (const :tag "None" nil) :custom (choice (const :tag "None" nil)
(symbol :tag "Custom Compiler Symbol")
:slotofchoices availablecompilers) :slotofchoices availablecompilers)
:label "Compiler for building sources" :label "Compiler for building sources"
:group make :group make
...@@ -116,6 +117,7 @@ of these compiler resources, and global customization thereof.") ...@@ -116,6 +117,7 @@ of these compiler resources, and global customization thereof.")
:initform nil :initform nil
:type (or null symbol) :type (or null symbol)
:custom (choice (const :tag "None" nil) :custom (choice (const :tag "None" nil)
(symbol :tag "Custom Linker Symbol")
:slotofchoices availablelinkers) :slotofchoices availablelinkers)
:label "Linker for combining intermediate object files." :label "Linker for combining intermediate object files."
:group make :group make
......
...@@ -899,7 +899,8 @@ Throw away all the old tags, and recreate the tag database." ...@@ -899,7 +899,8 @@ Throw away all the old tags, and recreate the tag database."
;; and Semantic are both enabled. Is there a better way? ;; and Semantic are both enabled. Is there a better way?
(define-key map [menu-bar cedet-menu] (define-key map [menu-bar cedet-menu]
(list 'menu-item "Development" cedet-menu-map (list 'menu-item "Development" cedet-menu-map
:enable (quote (not (bound-and-true-p global-ede-mode))))) :enable (quote (not (and menu-bar-mode
(bound-and-true-p global-ede-mode))))))
;; (define-key km "-" 'senator-fold-tag) ;; (define-key km "-" 'senator-fold-tag)
;; (define-key km "+" 'senator-unfold-tag) ;; (define-key km "+" 'senator-unfold-tag)
map)) map))
......
...@@ -529,7 +529,7 @@ code to parse." ...@@ -529,7 +529,7 @@ code to parse."
(define-lex-regex-analyzer semantic-lex-c-ifdef (define-lex-regex-analyzer semantic-lex-c-ifdef
"Code blocks wrapped up in #ifdef. "Code blocks wrapped up in #ifdef.
Uses known macro tables in SPP to determine what block to skip." Uses known macro tables in SPP to determine what block to skip."
"^\\s-*#\\s-*\\(ifndef\\|ifdef\\)\\s-+\\(\\(\\sw\\|\\s_\\)+\\)$" "^\\s-*#\\s-*\\(ifndef\\|ifdef\\)\\s-+\\(\\(\\sw\\|\\s_\\)+\\)\\([ \t\C-m].*\\)?$"
(semantic-c-do-lex-ifdef)) (semantic-c-do-lex-ifdef))
(defun semantic-c-do-lex-ifdef () (defun semantic-c-do-lex-ifdef ()
......
...@@ -940,8 +940,11 @@ ELisp variables can be pretty long, so track this one too.") ...@@ -940,8 +940,11 @@ ELisp variables can be pretty long, so track this one too.")
(define-child-mode lisp-mode emacs-lisp-mode (define-child-mode lisp-mode emacs-lisp-mode
"Make `lisp-mode' inherit mode local behavior from `emacs-lisp-mode'.") "Make `lisp-mode' inherit mode local behavior from `emacs-lisp-mode'.")
;;;###autoload
(defun semantic-default-elisp-setup () (defun semantic-default-elisp-setup ()
"Setup hook function for Emacs Lisp files and Semantic." "Setup hook function for Emacs Lisp files and Semantic."
;; This is here mostly to get this file loaded when a .el file is
;; loaded into Emacs.
) )
(add-hook 'emacs-lisp-mode-hook 'semantic-default-elisp-setup) (add-hook 'emacs-lisp-mode-hook 'semantic-default-elisp-setup)
...@@ -960,6 +963,12 @@ ELisp variables can be pretty long, so track this one too.") ...@@ -960,6 +963,12 @@ ELisp variables can be pretty long, so track this one too.")
'(require 'semantic/db-el) '(require 'semantic/db-el)
) )
(provide 'semantic/bovine/el) (provide 'semantic/bovine/el)
;; Local variables:
;; generated-autoload-file: "../loaddefs.el"
;; generated-autoload-load-name: "semantic/bovine/el"
;; End:
;;; semantic/bovine/el.el ends here ;;; semantic/bovine/el.el ends here
...@@ -1667,7 +1667,7 @@ Display mechanism using tooltip for a list of possible completions.") ...@@ -1667,7 +1667,7 @@ Display mechanism using tooltip for a list of possible completions.")
(setq msg "..."))) (setq msg "...")))
((eq mode 'verbose) ((eq mode 'verbose)
;; Always show extended match set. ;; Always show extended match set.
(oset obj max-tags semantic-displayor-tooltip-max-tags) (oset obj max-tags-initial semantic-displayor-tooltip-max-tags)
(setq max-tags semantic-displayor-tooltip-max-tags))) (setq max-tags semantic-displayor-tooltip-max-tags)))
(unless msg (unless msg
(oset obj shown t) (oset obj shown t)
......
...@@ -357,6 +357,87 @@ beginning and end of a command." ...@@ -357,6 +357,87 @@ beginning and end of a command."
(def-edebug-spec semantic-with-buffer-narrowed-to-command (def-edebug-spec semantic-with-buffer-narrowed-to-command
(def-body)))) (def-body))))
(define-overloadable-function semantic-ctxt-end-of-symbol (&optional point)
"Move point to the end of the current symbol under POINT.
This skips forward over symbols in a complex reference.
For example, in the C statement:
this.that().entry;
If the cursor is on 'this', will move point to the ; after entry.")
(defun semantic-ctxt-end-of-symbol-default (&optional point)
"Move poin to the end of the current symbol under POINT.
This will move past type/field names when applicable.
Depends on `semantic-type-relation-separator-character', and will
work on C like languages."
(if point (goto-char point))
(let* ((fieldsep1 (mapconcat (lambda (a) (regexp-quote a))
semantic-type-relation-separator-character
"\\|"))
;; NOTE: The [ \n] expression below should used \\s-, but that
;; doesn't work in C since \n means end-of-comment, and isn't
;; really whitespace.
(fieldsep (concat "[ \t\n\r]*\\(" fieldsep1 "\\)[ \t\n\r]*\\(\\w\\|\\s_\\)"))
(case-fold-search semantic-case-fold)
(continuesearch t)
(end nil)
)
(with-syntax-table semantic-lex-syntax-table
(cond ((looking-at "\\w\\|\\s_")
;; In the middle of a symbol, move to the end.
(forward-sexp 1))
((looking-at fieldsep1)
;; We are in a fine spot.. do nothing.
nil
)
((save-excursion
(and (condition-case nil
(progn (forward-sexp -1)
(forward-sexp 1)
t)
(error nil))
(looking-at fieldsep1)))
(setq symlist (list ""))
(forward-sexp -1)
;; Skip array expressions.
(while (looking-at "\\s(") (forward-sexp -1))
(forward-sexp 1))
)
;; Set the current end marker.
(setq end (point))
;; Cursor is at the safe end of some symbol. Look until we
;; find the logical end of this current complex symbol.
(condition-case nil
(while continuesearch
;; If there are functional arguments, arrays, etc, skip them.
(when (looking-at "\\s(")
(forward-sexp 1))
;; If there is a field separator, then skip that, plus
;; the next expected symbol.
(if (not (looking-at fieldsep1))
;; We hit the end.
(error nil)
;; Skip the separator and the symbol.
(goto-char (match-end 0))
(if (looking-at "\\w\\|\\s_")
;; Skip symbols
(forward-sexp 1)
;; No symbol, exit the search...
(setq continuesearch nil))
(setq end (point)))
;; Cont...
)
;; Restore position if we go to far....
(error (goto-char end)) )
)))
(define-overloadable-function semantic-ctxt-current-symbol (&optional point) (define-overloadable-function semantic-ctxt-current-symbol (&optional point)
"Return the current symbol the cursor is on at POINT in a list. "Return the current symbol the cursor is on at POINT in a list.
...@@ -391,7 +472,7 @@ Depends on `semantic-type-relation-separator-character'." ...@@ -391,7 +472,7 @@ Depends on `semantic-type-relation-separator-character'."
;; In the middle of a symbol, move to the end. ;; In the middle of a symbol, move to the end.
(forward-sexp 1)) (forward-sexp 1))
((looking-at fieldsep1) ((looking-at fieldsep1)
;; We are in a find spot.. do nothing. ;; We are in a fine spot.. do nothing.
nil nil
) )
((save-excursion ((save-excursion
......
...@@ -899,7 +899,7 @@ If file does not have tags available, and DONTLOAD is nil, ...@@ -899,7 +899,7 @@ If file does not have tags available, and DONTLOAD is nil,
then load the tags for FILE, and create a new table object for it. then load the tags for FILE, and create a new table object for it.
DONTLOAD does not affect the creation of new database objects." DONTLOAD does not affect the creation of new database objects."
;; (message "Object Translate: %s" file) ;; (message "Object Translate: %s" file)
(when (and file (file-exists-p file)) (when (and file (file-exists-p file) (file-regular-p file))
(let* ((default-directory (file-name-directory file)) (let* ((default-directory (file-name-directory file))
(tab (semanticdb-file-table-object-from-hash file)) (tab (semanticdb-file-table-object-from-hash file))