[CEDET-devel] Some semantic fixes
Brought to you by:
zappo
From: David P. <dav...@wa...> - 2004-02-26 14:54:48
|
Hi Eric, In preparation of the upcoming cedet beta2, I did a full build of cedet with GNU Emacs 21.3.1 and noticed some suspect compilation messages. After some investigation I obtained the following patch that should fix some errors and compilation warnings. I would appreciate if you could have a look at it. Here is a change log: 2004-02-26 David Ponce <da...@dp...> * cedet/semantic/semantic-complete.el (semantic-displayor-window-edges): New compatibility function. (semantic-displayor-point-position): Use it. * cedet/semantic/semantic-ia-sb.el (semantic-ia-sb-string-list): Use `semantic-ia-sb-tag-info' instead of `semantic-ia-sb-token-info'. (semantic-ia-sb-completion-list): Ditto. (semantic-ia-sb-tag-info): Use `semantic-analyze-tag-type' instead of `semantic-analyze-token-type'. * cedet/semantic/semantic-idle.el (semantic-idle-scheduler-max-buffer-size): Move before first use. Fix doc string. (define-semantic-idle-service): Use `eval-and-compile' to have generated declaration available at compile time. There is one point I failed to solve. When compiling semantic-ia-sb.el I got these warnings: While compiling semantic-ia-sb-tag-info in file /home/ponce/tmp/cedet/semantic/semantic-ia-sb.el: ** reference to free variable semantic-ia-sb-last-analysis While compiling semantic-ia-sb-line-path in file /home/ponce/tmp/cedet/semantic/semantic-ia-sb.el: ** reference to free variable semantic-ia-sb-last-analysis While compiling semantic-ia-sb-complete in file /home/ponce/tmp/cedet/semantic/semantic-ia-sb.el: ** reference to free variable semantic-ia-sb-last-analysis Wrote /home/ponce/tmp/cedet/semantic/semantic-ia-sb.elc What looks suspect is that I didn't find any setting of the variable `semantic-ia-sb-last-analysis' in cedet code. Perhaps you could help on that? Thanks! David Index: semantic/semantic-complete.el =================================================================== RCS file: /cvsroot/cedet/cedet/semantic/semantic-complete.el,v retrieving revision 1.29 diff -c -r1.29 semantic-complete.el *** semantic/semantic-complete.el 22 Feb 2004 21:47:35 -0000 1.29 --- semantic/semantic-complete.el 26 Feb 2004 14:13:09 -0000 *************** *** 1437,1448 **** (semantic-displayor-tooltip-show (concat msg "\n(TAB for more)"))) ))))) (defun semantic-displayor-point-position () "Return the location of POINT as positioned on the selected frame. Return a cons cell (X . Y)" (let* ((w (selected-window)) (f (selected-frame)) ! (edges (window-inside-edges w)) (col (current-column)) (row (count-lines (window-start w) (point))) (x (+ (car edges) col)) --- 1437,1460 ---- (semantic-displayor-tooltip-show (concat msg "\n(TAB for more)"))) ))))) + ;;; Compatibility + ;; + (eval-when-compile + (if (fboundp 'window-inside-edges) + ;; Emacs devel. + (defalias 'semantic-displayor-window-edges + 'window-inside-edges) + ;; Emacs 21 + (defalias 'semantic-displayor-window-edges + 'window-edges) + )) + (defun semantic-displayor-point-position () "Return the location of POINT as positioned on the selected frame. Return a cons cell (X . Y)" (let* ((w (selected-window)) (f (selected-frame)) ! (edges (semantic-displayor-window-edges w)) (col (current-column)) (row (count-lines (window-start w) (point))) (x (+ (car edges) col)) Index: semantic/semantic-ia-sb.el =================================================================== RCS file: /cvsroot/cedet/cedet/semantic/semantic-ia-sb.el,v retrieving revision 1.13 diff -c -r1.13 semantic-ia-sb.el *** semantic/semantic-ia-sb.el 22 Feb 2004 21:41:40 -0000 1.13 --- semantic/semantic-ia-sb.el 26 Feb 2004 14:13:09 -0000 *************** *** 194,200 **** (t "foo")))) (if (semantic-tag-p (car list)) (speedbar-make-tag-line 'angle ?i ! 'semantic-ia-sb-token-info (car list) string (if usefn function) (car list) face 0) (speedbar-make-tag-line 'statictag ?? --- 194,200 ---- (t "foo")))) (if (semantic-tag-p (car list)) (speedbar-make-tag-line 'angle ?i ! 'semantic-ia-sb-tag-info (car list) string (if usefn function) (car list) face 0) (speedbar-make-tag-line 'statictag ?? *************** *** 216,222 **** (t "foo")))) (if documentable (speedbar-make-tag-line 'angle ?i ! 'semantic-ia-sb-token-info (car list) string function (car list) face 0) --- 216,222 ---- (t "foo")))) (if documentable (speedbar-make-tag-line 'angle ?i ! 'semantic-ia-sb-tag-info (car list) string function (car list) face 0) *************** *** 257,263 **** (let ((typetok (save-excursion (set-buffer ob) ! (semantic-analyze-token-type tag)))) (if typetok (insert (semantic-format-tag-prototype typetok nil t)) --- 257,263 ---- (let ((typetok (save-excursion (set-buffer ob) ! (semantic-analyze-tag-type tag)))) (if typetok (insert (semantic-format-tag-prototype typetok nil t)) Index: semantic/semantic-idle.el =================================================================== RCS file: /cvsroot/cedet/cedet/semantic/semantic-idle.el,v retrieving revision 1.19 diff -c -r1.19 semantic-idle.el *** semantic/semantic-idle.el 23 Feb 2004 13:43:12 -0000 1.19 --- semantic/semantic-idle.el 26 Feb 2004 14:13:09 -0000 *************** *** 116,121 **** --- 116,128 ---- Use the command `semantic-idle-scheduler-mode' to change this variable.") (make-variable-buffer-local 'semantic-idle-scheduler-mode) + (defcustom semantic-idle-scheduler-max-buffer-size 0 + "*Maximum size in bytes of buffers where idle-scheduler is enabled. + If this value is less than or equal to 0, idle-scheduler is enabled in + all buffers regardless of their size." + :group 'semantic + :type 'number) + (defsubst semantic-idle-scheduler-enabled-p () "Return non-nil if idle-scheduler is enabled for this buffer. idle-scheduler is disabled when debugging or if the buffer size *************** *** 282,294 **** :group 'semantic :type 'boolean) - (defcustom semantic-idle-scheduler-max-buffer-size 0 - "*Maximum size in bytes of buffers automatically reparsed. - If this value is less than or equal to 0, buffers are automatically - reparsed regardless of their size." - :group 'semantic - :type 'number) - (defvar semantic-before-idle-scheduler-reparse-hooks nil "Hooks run before option `semantic-idle-scheduler' begins parsing. If any hook throws an error, this variable is reset to nil. --- 289,294 ---- *************** *** 373,379 **** (func (intern (concat (symbol-name name) "-idle-function"))) ) ! `(progn (defun ,global (&optional arg) ,(concat "Toggle global use of option `" (symbol-name mode) "'. If ARG is positive, enable, if it is negative, disable. --- 373,379 ---- (func (intern (concat (symbol-name name) "-idle-function"))) ) ! `(eval-and-compile (defun ,global (&optional arg) ,(concat "Toggle global use of option `" (symbol-name mode) "'. If ARG is positive, enable, if it is negative, disable. |