>From 20696b1a86f00fe7945b9563b3d936f23b5a8d09 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Tue, 5 May 2020 00:46:51 +0100 Subject: [PATCH] Fix obsolete EIEIO uses * doc/misc/eieio.texi (Accessing Slots): Document oref, oref-default, and slot-value as generalized variables, and oset, oset-default, and set-slot-value as obsolete. Consistently document getters before setters. (Static Methods): Don't mention obsolete oset-default. (Predicates): Mention cl-print-object in place of the obsolete object-print. (Introspection): Document eieio-class-slots in place of the obsolete object-slots. * etc/NEWS: Mention oref and oref-default as setf-able alternatives to oset and oset-default, respectively. * lisp/emacs-lisp/eieio.el: Set eieio-oset-default as the simple setter of eieio-oref-default. * doc/misc/ede.texi (ede-generic-project): * lisp/auth-source.el (auth-source-backend-parse-parameters): * lisp/cedet/ede.el (ede-project-configurations-set) (ede-add-subproject, ede-make-project-local-variable): * lisp/cedet/ede/auto.el (ede-do-dirmatch) (ede-add-project-autoload): * lisp/cedet/ede/base.el (ede-normalize-file/directory): * lisp/cedet/ede/config.el (project-rescan) (ede-config-get-configuration): * lisp/cedet/ede/cpp-root.el (initialize-instance): * lisp/cedet/ede/custom.el (ede-project-sort-targets): * lisp/cedet/ede/emacs.el (initialize-instance, project-rescan): * lisp/cedet/ede/files.el (ede--project-inode): * lisp/cedet/ede/generic.el (initialize-instance) (ede-generic-setup-configuration): * lisp/cedet/ede/linux.el (initialize-instance, project-rescan): * lisp/cedet/ede/locate.el (ede-enable-locate-on-project) (ede-locate-flush-hash, ede-locate-file-in-project): * lisp/cedet/ede/proj-info.el (object-write): * lisp/cedet/ede/proj.el (ede-proj-load, ede-proj-save) (project-new-target, project-delete-target): * lisp/cedet/ede/project-am.el (project-am-load-makefile) (project-rescan): * lisp/cedet/ede/simple.el (ede-simple-load): * lisp/cedet/ede/util.el (ede-update-version): * lisp/cedet/semantic/analyze.el (semantic-analyze-find-tag-sequence-default): * lisp/cedet/semantic/bovine/c.el (semantic-analyze-tag-references) (semanticdb-find-table-for-include): * lisp/cedet/semantic/complete.el (semantic-collector-calculate-completions-raw) (semantic-collector-calculate-completions) (semantic-collector-try-completion-whitespace) (semantic-collector-flush, semantic-collector-calculate-cache) (semantic-displayor-set-completions) (semantic-displayer-focus-previous, semantic-displayer-focus-next) (semantic-displayer-show-request, semantic-displayer-scroll-request) (semantic-displayer-focus-request): * lisp/cedet/semantic/db-ebrowse.el (semanticdb-create-database) (semanticdb-ebrowse-add-tree-to-table): * lisp/cedet/semantic/db-el.el (semanticdb-get-database-tables): * lisp/cedet/semantic/db-file.el (semanticdb-create-database) (semanticdb-load-database, object-write): * lisp/cedet/semantic/db-find.el (semantic-reset) (semanticdb-find-translate-path-includes-default): * lisp/cedet/semantic/db-global.el (semanticdb-get-database-tables): * lisp/cedet/semantic/db-javascript.el (semanticdb-get-database-tables): * lisp/cedet/semantic/db-mode.el (semanticdb-semantic-init-hook-fcn) (semanticdb-kill-hook): * lisp/cedet/semantic/db-typecache.el (semantic-reset) (semanticdb-typecache-notify-reset, semanticdb-partial-synchronize) (semanticdb-get-typecache, semanticdb-typecache-file-tags) (semanticdb-typecache-include-tags) (semanticdb-typecache-for-database) (semanticdb-typecache-complete-flush, semanticdb-db-typecache-dump): * lisp/cedet/semantic/debug.el (semantic-debug-set-frame) (semantic-debug-set-parser-location) (semantic-debug-set-source-location, semantic-debug-unhighlight): * lisp/cedet/semantic/mru-bookmark.el (initialize-instance) (semantic-mrub-update): * lisp/cedet/semantic/scope.el (semantic-reset) (semantic-scope-set-typecache) (semantic-analyze-scope-nested-tags-default) (semantic-analyze-scope-lineage-tags-default) (semantic-analyze-scoped-tags-default) (semantic-analyze-scoped-inherited-tag-map) (semantic-calculate-scope, semantic-scope-find): * lisp/cedet/semantic/symref.el (semantic-symref-result-get-files) (semantic-symref-result-get-tags): * lisp/cedet/srecode/compile.el (srecode-flush-active-templates) (srecode-compile-templates, srecode-compile-template-table): * lisp/cedet/srecode/dictionary.el (initialize-instance): * lisp/cedet/srecode/extract.el (srecode-extract-state-set) (srecode-extract-state-set-anchor): * lisp/cedet/srecode/fields.el (initialize-instance) (srecode-overlaid-activate, srecode-delete): * lisp/cedet/srecode/insert.el (srecode-insert-fcn) (srecode-push, srecode-pop, srecode-inserter-apply-state) (srecode-insert-method, srecode-parse-input) (srecode-insert-include-lookup): * lisp/cedet/srecode/srt-mode.el (semantic-analyze-current-context): * lisp/cedet/srecode/table.el (srecode-get-mode-table): * lisp/emacs-lisp/chart.el (initialize-instance, chart-add-sequence) (chart-sort, chart-sort-matchlist): * lisp/emacs-lisp/eieio-base.el (clone, make-instance) (eieio-persistent-save-interactive, eieio-persistent-read): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el (eieio-test-persist-simple-1): * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (static-method-class-method, eieio-test-05-static-method-2) (eieio-test-11-self, eieio-test-13-init-methods) (eieio-test-17-virtual-slot, eieio-test-18-slot-unbound) (eieio-test-19-slot-type-checking) (eieio-test-20-class-allocated-slots) (eieio-test-29-instance-inheritor, eieio-test-35-named-object): Use oref and oref-default with setf in place of obsolete oset and oset-default, respectively. --- doc/misc/ede.texi | 12 +-- doc/misc/eieio.texi | 62 +++++++---- etc/NEWS | 5 +- lisp/auth-source.el | 6 +- lisp/cedet/ede.el | 14 +-- lisp/cedet/ede/auto.el | 4 +- lisp/cedet/ede/base.el | 7 +- lisp/cedet/ede/config.el | 11 +- lisp/cedet/ede/cpp-root.el | 7 +- lisp/cedet/ede/custom.el | 3 +- lisp/cedet/ede/emacs.el | 7 +- lisp/cedet/ede/files.el | 2 +- lisp/cedet/ede/generic.el | 18 ++-- lisp/cedet/ede/linux.el | 11 +- lisp/cedet/ede/locate.el | 14 ++- lisp/cedet/ede/proj-info.el | 2 +- lisp/cedet/ede/proj.el | 12 +-- lisp/cedet/ede/project-am.el | 44 ++++---- lisp/cedet/ede/simple.el | 3 +- lisp/cedet/ede/util.el | 2 +- lisp/cedet/semantic/analyze.el | 3 +- lisp/cedet/semantic/bovine/c.el | 8 +- lisp/cedet/semantic/complete.el | 74 ++++++------- lisp/cedet/semantic/db-ebrowse.el | 12 +-- lisp/cedet/semantic/db-el.el | 7 +- lisp/cedet/semantic/db-file.el | 22 ++-- lisp/cedet/semantic/db-find.el | 4 +- lisp/cedet/semantic/db-global.el | 7 +- lisp/cedet/semantic/db-javascript.el | 10 +- lisp/cedet/semantic/db-mode.el | 34 +++--- lisp/cedet/semantic/db-typecache.el | 46 ++++---- lisp/cedet/semantic/debug.el | 14 ++- lisp/cedet/semantic/mru-bookmark.el | 12 +-- lisp/cedet/semantic/scope.el | 102 ++++++++---------- lisp/cedet/semantic/symref.el | 6 +- lisp/cedet/srecode/compile.el | 19 ++-- lisp/cedet/srecode/dictionary.el | 2 +- lisp/cedet/srecode/extract.el | 6 +- lisp/cedet/srecode/fields.el | 29 ++--- lisp/cedet/srecode/insert.el | 36 +++---- lisp/cedet/srecode/srt-mode.el | 2 +- lisp/cedet/srecode/table.el | 8 +- lisp/emacs-lisp/chart.el | 27 +++-- lisp/emacs-lisp/eieio-base.el | 14 ++- lisp/emacs-lisp/eieio-speedbar.el | 4 +- lisp/emacs-lisp/eieio.el | 1 + .../eieio-tests/eieio-test-persist.el | 2 +- .../emacs-lisp/eieio-tests/eieio-tests.el | 44 ++++---- 48 files changed, 379 insertions(+), 422 deletions(-) diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 584b0d7ee5..5f1083c256 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -955,18 +955,16 @@ ede-generic-project ;;; MAKEFILE (defclass ede-generic-makefile-project (ede-generic-project) - ((buildfile :initform "Makefile") - ) + ((buildfile :initform "Makefile")) "Generic Project for makefiles.") (defmethod ede-generic-setup-configuration ((proj ede-generic-makefile-project) config) - "Setup a configuration for Make." - (oset config build-command "make -k") - (oset config debug-command "gdb ") - ) + "Set up a configuration for Make." + (setf (oref config build-command) "make -k") + (setf (oref config debug-command) "gdb ")) (ede-generic-new-autoloader "generic-makefile" "Make" - "Makefile" 'ede-generic-makefile-project) + "Makefile" 'ede-generic-makefile-project) @end example This example project will detect any directory with the file diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 3943c544c7..ce79d151d5 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -698,35 +698,53 @@ Accessing Slots referencing vectors (@pxref{Vectors,,,elisp,GNU Emacs Lisp Reference Manual}). +@defmac oref obj slot +@anchor{oref} +This macro retrieves the value stored in @var{obj} in the slot named +by @var{slot}. @var{slot} is the name of the slot when created by +@dfn{defclass}. + +This is a generalized variable that can be used with @code{setf} to +modify the value stored in @var{slot}. @xref{Generalized +Variables,,,elisp,GNU Emacs Lisp Reference Manual}. +@end defmac + +@defmac oref-default class slot +@anchor{oref-default} +This macro returns the value of the class-allocated @var{slot} from +@var{class}. + +This is a generalized variable that can be used with @code{setf} to +modify the value stored in @var{slot}. @xref{Generalized +Variables,,,elisp,GNU Emacs Lisp Reference Manual}. +@end defmac + @defmac oset object slot value This macro sets the value behind @var{slot} to @var{value} in @var{object}. It returns @var{value}. + +This macro is considered obsolete and it is recommended to use +@code{(setf (oref @var{object} @var{slot}) @var{value})} instead. @end defmac @defmac oset-default class slot value This macro sets the value for the class-allocated @var{slot} in @var{class} to @var{value}. +This macro is considered obsolete and it is recommended to use +@code{(setf (oref-default @var{class} @var{slot}) @var{value})} +instead. + For example, if a user wanted all @code{data-objects} (@pxref{Building Classes}) to inform a special object of his own devising when they changed, this can be arranged by simply executing this bit of code: @example -(oset-default data-object reference (list my-special-object)) +(setf (oref-default data-object reference) + (list my-special-object)) @end example @end defmac -@defmac oref obj slot -@anchor{oref} -Retrieve the value stored in @var{obj} in the slot named by @var{slot}. -Slot is the name of the slot when created by @dfn{defclass}. -@end defmac - -@defmac oref-default class slot -@anchor{oref-default} -Get the value of the class-allocated @var{slot} from @var{class}. -@end defmac - The following accessors are defined by CLOS to reference or modify slot values, and use the previously mentioned set/ref routines. @@ -734,14 +752,21 @@ Accessing Slots @anchor{slot-value} This function retrieves the value of @var{slot} from @var{object}. Unlike @code{oref}, the symbol for @var{slot} must be quoted. + +This is a generalized variable that can be used with @code{setf} to +modify the value stored in @var{slot}. @xref{Generalized +Variables,,,elisp,GNU Emacs Lisp Reference Manual}. @end defun @defun set-slot-value object slot value @anchor{set-slot-value} -This is not a CLOS function, but is the setter for @code{slot-value} -used by the @code{setf} macro. This -function sets the value of @var{slot} from @var{object}. Unlike +This function sets the value of @var{slot} from @var{object}. Unlike @code{oset}, the symbol for @var{slot} must be quoted. + +This is not a CLOS function, but is the obsolete setter for +@code{slot-value} used by the @code{setf} macro. It is therefore +recommended to use @code{(setf (slot-value @var{object} @var{slot}) +@var{value})} instead. @end defun @defun slot-makeunbound object slot @@ -965,8 +990,7 @@ Static Methods @end example The first argument of a static method will be a class rather than an -object. Use the functions @code{oref-default} or @code{oset-default} which -will work on a class. +object. The function @code{oref-default} will work on a class. A class's @code{make-instance} method is defined as a static method. @@ -1061,7 +1085,7 @@ Predicates Return a string of the form @samp{#} for @var{obj}. This should look like Lisp symbols from other parts of Emacs such as buffers and processes, and is shorter and cleaner than printing the -object's record. It is more useful to use @code{object-print} to get +object's record. It is more useful to use @code{cl-print-object} to get and object's print form, as this allows the object to add extra display information into the symbol. @end defun @@ -1217,7 +1241,7 @@ Introspection some functions have been provided. None of these functions are a part of CLOS. -@defun object-slots obj +@defun eieio-class-slots obj Return the list of public slots for @var{obj}. @end defun diff --git a/etc/NEWS b/etc/NEWS index 0f4b6244c6..12be21ac4f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -101,7 +101,10 @@ horizontal movements now stop at the edge of the board. * Changes in Specialized Modes and Packages in Emacs 28.1 -** EIEIO: 'oset' and 'oset-default' are declared obsolete ++++ +** The EIEIO macros 'oset' and 'oset-default' are declared obsolete. +Their 'setf'-able counterparts 'oref' and 'oref-default' can be used +instead. ** New minor mode 'cl-font-lock-built-in-mode' for `lisp-mode' The mode provides refined highlighting of built-in functions, types, diff --git a/lisp/auth-source.el b/lisp/auth-source.el index 7a0e09b9e8..3b7b72b619 100644 --- a/lisp/auth-source.el +++ b/lisp/auth-source.el @@ -512,11 +512,11 @@ auth-source-backend-parse-parameters entry)) val) (when (setq val (plist-get entry :host)) - (oset backend host val)) + (setf (oref backend host) val)) (when (setq val (plist-get entry :user)) - (oset backend user val)) + (setf (oref backend user) val)) (when (setq val (plist-get entry :port)) - (oset backend port val))) + (setf (oref backend port) val))) backend) ;; (mapcar #'auth-source-backend-parse auth-sources) diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el index 8c336117c9..446737b60b 100644 --- a/lisp/cedet/ede.el +++ b/lisp/cedet/ede.el @@ -384,7 +384,7 @@ ede-project-configurations-set (completing-read "New configuration: " configs nil t (oref proj configuration-default))))) - (oset (ede-current-project) configuration-default newconfig) + (setf (oref (ede-current-project) configuration-default) newconfig) (message "%s will now build in %s mode." (eieio-object-name (ede-current-project)) newconfig)) @@ -812,7 +812,7 @@ ede-new (cl-defmethod ede-add-subproject ((proj-a ede-project) proj-b) "Add into PROJ-A, the subproject PROJ-B." - (oset proj-a subproj (cons proj-b (oref proj-a subproj)))) + (setf (oref proj-a subproj) (cons proj-b (oref proj-a subproj)))) (defun ede-invoke-method (sym &rest args) "Invoke method SYM on the current buffer's project object. @@ -1475,11 +1475,11 @@ ede-apply-project-local-variables (defun ede-make-project-local-variable (variable &optional project) "Make VARIABLE project-local to PROJECT." - (if (not project) (setq project (ede-toplevel))) - (if (assoc variable (oref project local-variables)) - nil - (oset project local-variables (cons (list variable) - (oref project local-variables))))) + (unless project (setq project (ede-toplevel))) + (unless (assoc variable (oref project local-variables)) + (setf (oref project local-variables) + (cons (list variable) + (oref project local-variables))))) (defun ede-set-project-local-variable (variable value &optional project) "Set VARIABLE to VALUE for PROJECT. diff --git a/lisp/cedet/ede/auto.el b/lisp/cedet/ede/auto.el index 50ed4625ba..5f1d5b288e 100644 --- a/lisp/cedet/ede/auto.el +++ b/lisp/cedet/ede/auto.el @@ -112,7 +112,7 @@ ede-do-dirmatch ;; Convert matchstring to a regexp (setq matchstring (concat "^" (regexp-quote matchstring))) ;; Stash it for later. - (oset dirmatch configdatastash matchstring)) + (setf (oref dirmatch configdatastash) matchstring)) ;; Debug ;;(message "Stashing config data for dirmatch %S as %S" (eieio-object-name dirmatch) matchstring) ) @@ -261,7 +261,7 @@ ede-add-project-autoload ;; Generic Projects go at the very end of the list. ((and flag (eq flag 'generic)) - (oset projauto generic-p t) + (setf (oref projauto generic-p) t) (setq ede-project-class-files (append ede-project-class-files (list projauto)))) diff --git a/lisp/cedet/ede/base.el b/lisp/cedet/ede/base.el index d371ad799a..304eb9a578 100644 --- a/lisp/cedet/ede/base.el +++ b/lisp/cedet/ede/base.el @@ -631,13 +631,14 @@ ede-normalize-file/directory (not (oref this file))) (slot-boundp this :directory) (oref this directory)) - (oset this file (expand-file-name project-file-name (oref this directory)))) + (setf (oref this file) + (expand-file-name project-file-name (oref this directory)))) (when (and (or (not (slot-boundp this :directory)) (not (oref this directory))) (slot-boundp this :file) (oref this file)) - (oset this directory (file-name-directory (oref this file)))) - ) + (setf (oref this directory) + (file-name-directory (oref this file))))) diff --git a/lisp/cedet/ede/config.el b/lisp/cedet/ede/config.el index 07260f0b07..b4599cd300 100644 --- a/lisp/cedet/ede/config.el +++ b/lisp/cedet/ede/config.el @@ -117,10 +117,9 @@ ede-target-with-config (cl-defmethod project-rescan ((this ede-project-with-config)) "Rescan this generic project from the sources." ;; Force the config to be rescanned. - (oset this config nil) + (setf (oref this config) nil) ;; Ask if it is safe to load the config from disk. - (ede-config-get-configuration this t) - ) + (ede-config-get-configuration this t)) ;;; Project Methods for configuration @@ -162,13 +161,13 @@ ede-config-get-configuration (setq config (make-instance class "Configuration" :file fname)) - (oset config ignored-file ignore-type) + (setf (oref config ignored-file) ignore-type) ;; Set initial values based on project. (ede-config-setup-configuration proj config)) ;; Link things together. - (oset proj config config) - (oset config project proj))) + (setf (oref proj config) config) + (setf (oref config project) proj))) config)) (cl-defmethod ede-config-setup-configuration ((proj ede-project-with-config) config) diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el index f0dbccb7fc..933ab4f3b8 100644 --- a/lisp/cedet/ede/cpp-root.el +++ b/lisp/cedet/ede/cpp-root.el @@ -292,8 +292,8 @@ initialize-instance (file-directory-p f)) (delete-instance this) (error ":file for ede-cpp-root-project must be a file")) - (oset this file f) - (oset this directory (file-name-directory f)) + (setf (oref this file) f) + (setf (oref this directory) (file-name-directory f)) (ede-project-directory-remove-hash (file-name-directory f)) ;; NOTE: We must add to global list here because these classes are not ;; created via the typical loader, but instead via calls from a .emacs @@ -301,8 +301,7 @@ initialize-instance (ede-add-project-to-global-list this) (unless (slot-boundp this 'targets) - (oset this targets nil)) - )) + (setf (oref this targets) nil)))) ;;; SUBPROJ Management. ;; diff --git a/lisp/cedet/ede/custom.el b/lisp/cedet/ede/custom.el index 18621ad5f1..3595136be2 100644 --- a/lisp/cedet/ede/custom.el +++ b/lisp/cedet/ede/custom.el @@ -110,7 +110,8 @@ ede-project-sort-targets (while (setq cur (pop ede-project-sort-targets-order)) (setq newtargets (append newtargets (list (nth cur targets))))) - (oset ede-object-project targets newtargets)) + (setf (oref ede-object-project targets) + newtargets)) (ede-commit-project ede-object-project) (kill-buffer)) " Accept ") diff --git a/lisp/cedet/ede/emacs.el b/lisp/cedet/ede/emacs.el index bfcbd40fcc..ab249b53a9 100644 --- a/lisp/cedet/ede/emacs.el +++ b/lisp/cedet/ede/emacs.el @@ -144,7 +144,7 @@ initialize-instance "Make sure the targets slot is bound." (cl-call-next-method) (unless (slot-boundp this 'targets) - (oset this :targets nil))) + (setf (oref this :targets) nil))) ;;; File Stuff ;; @@ -276,9 +276,8 @@ ede-expand-filename-impl (cl-defmethod project-rescan ((this ede-emacs-project)) "Rescan this Emacs project from the sources." (let ((ver (ede-emacs-version (ede-project-root-directory this)))) - (oset this name (car ver)) - (oset this version (cdr ver)) - )) + (setf (oref this name) (car ver)) + (setf (oref this version) (cdr ver)))) (provide 'ede/emacs) diff --git a/lisp/cedet/ede/files.el b/lisp/cedet/ede/files.el index db539450e6..c265b0c855 100644 --- a/lisp/cedet/ede/files.el +++ b/lisp/cedet/ede/files.el @@ -120,7 +120,7 @@ ede--project-inode "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))))) + (setf (oref proj dirinode) (ede--inode-for-dir (oref proj directory))))) (defun ede--inode-get-toplevel-open-project (inode) "Return an already open toplevel project that is managing INODE. diff --git a/lisp/cedet/ede/generic.el b/lisp/cedet/ede/generic.el index b9805f6fac..3dc96a174c 100644 --- a/lisp/cedet/ede/generic.el +++ b/lisp/cedet/ede/generic.el @@ -153,8 +153,7 @@ initialize-instance "Make sure the targets slot is bound." (cl-call-next-method) (unless (slot-boundp this 'targets) - (oset this :targets nil)) - ) + (setf (oref this :targets) nil))) (cl-defmethod ede-project-root ((this ede-generic-project)) "Return my root." @@ -326,9 +325,8 @@ ede-generic-makefile-project (cl-defmethod ede-generic-setup-configuration ((proj ede-generic-makefile-project) config) "Setup a configuration for Make." - (oset config build-command "make -k") - (oset config debug-command "gdb ") - ) + (setf (oref config build-command) "make -k") + (setf (oref config debug-command) "gdb ")) ;;; SCONS @@ -339,9 +337,8 @@ ede-generic-scons-project (cl-defmethod ede-generic-setup-configuration ((proj ede-generic-scons-project) config) "Setup a configuration for SCONS." - (oset config build-command "scons") - (oset config debug-command "gdb ") - ) + (setf (oref config build-command) "scons") + (setf (oref config debug-command) "gdb ")) ;;; CMAKE @@ -352,9 +349,8 @@ ede-generic-cmake-project (cl-defmethod ede-generic-setup-configuration ((proj ede-generic-cmake-project) config) "Setup a configuration for CMake." - (oset config build-command "cmake") - (oset config debug-command "gdb ") - ) + (setf (oref config build-command) "cmake") + (setf (oref config debug-command) "gdb ")) ;;; Generic Version Control System (defclass ede-generic-vc-project (ede-generic-project) diff --git a/lisp/cedet/ede/linux.el b/lisp/cedet/ede/linux.el index 8ce6b5c2a4..180919975b 100644 --- a/lisp/cedet/ede/linux.el +++ b/lisp/cedet/ede/linux.el @@ -231,7 +231,7 @@ initialize-instance "Make sure the targets slot is bound." (cl-call-next-method) (unless (slot-boundp this 'targets) - (oset this :targets nil))) + (setf (oref this :targets) nil))) ;;; File Stuff ;; @@ -380,11 +380,10 @@ project-rescan (arch (ede-linux--get-architecture dir bdir)) (inc (ede-linux--include-path dir bdir arch)) (ver (ede-linux-version dir))) - (oset this version ver) - (oset this :build-directory bdir) - (oset this :architecture arch) - (oset this :include-path inc) - )) + (setf (oref this version) ver) + (setf (oref this :build-directory) bdir) + (setf (oref this :architecture) arch) + (setf (oref this :include-path) inc))) (provide 'ede/linux) diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el index 160309ffce..8f7e8de98f 100644 --- a/lisp/cedet/ede/locate.el +++ b/lisp/cedet/ede/locate.el @@ -89,10 +89,9 @@ ede-enable-locate-on-project (when (called-interactively-p 'interactive) (message "Setting locator to ede-locate-base")) (setq ans 'ede-locate-base)) - (oset proj locate-obj (make-instance ans "Loc" :root root)) + (setf (oref proj locate-obj) (make-instance ans "Loc" :root root)) (when (called-interactively-p 'interactive) - (message "Setting locator to %s" ans)) - )) + (message "Setting locator to %s" ans)))) ;;; LOCATE BASECLASS ;; @@ -125,7 +124,7 @@ ede-locate-ok-in-project (cl-defmethod ede-locate-flush-hash ((loc ede-locate-base)) "For LOC, flush hash table and start from scratch." - (oset loc hash (make-hash-table :test 'equal))) + (setf (oref loc hash) (make-hash-table :test #'equal))) (cl-defmethod ede-locate-file-in-hash ((loc ede-locate-base) filestring) @@ -143,10 +142,9 @@ ede-locate-file-in-project "Locate with LOC occurrences of FILESUBSTRING. Searches are done under the current root of the EDE project that created this EDE locate object." - (let ((ans (ede-locate-file-in-project-impl loc filesubstring)) - ) - (oset loc file filesubstring) - (oset loc lastanswer ans) + (let ((ans (ede-locate-file-in-project-impl loc filesubstring))) + (setf (oref loc file) filesubstring) + (setf (oref loc lastanswer) ans) ans)) (cl-defmethod ede-locate-file-in-project-impl ((loc ede-locate-base) diff --git a/lisp/cedet/ede/proj-info.el b/lisp/cedet/ede/proj-info.el index ee41d0cc01..5a2d7911ed 100644 --- a/lisp/cedet/ede/proj-info.el +++ b/lisp/cedet/ede/proj-info.el @@ -157,7 +157,7 @@ object-write nil ;; Make sure that MM is first in the list of items. (setq nl (cons mm (delq mm s))) - (oset this source nl))) + (setf (oref this source) nl))) (cl-call-next-method)) (cl-defmethod ede-documentation ((this ede-proj-target-makefile-info)) diff --git a/lisp/cedet/ede/proj.el b/lisp/cedet/ede/proj.el index a6d47e373f..dc6988b473 100644 --- a/lisp/cedet/ede/proj.el +++ b/lisp/cedet/ede/proj.el @@ -301,8 +301,8 @@ ede-proj-load (subdirs (directory-files project nil "[^.].*" nil))) (if (not (object-of-class-p ret 'ede-proj-project)) (error "Corrupt project file")) - (oset ret directory project) - (oset ret rootproject rootproj) + (setf (oref ret directory) project) + (setf (oref ret rootproject) rootproj) ;; Load the project file of each subdirectory containing a ;; loadable Project.ede. @@ -311,7 +311,7 @@ ede-proj-load (expand-file-name (car subdirs) project)))) (if (and (file-directory-p sd) (file-exists-p (expand-file-name "Project.ede" sd))) - (oset ret subproj + (setf (oref ret subproj) (cons (ede-proj-load sd (or rootproj ret)) (oref ret subproj)))) (setq subdirs (cdr subdirs)))) @@ -327,7 +327,7 @@ ede-proj-save (slot-makeunbound project :directory) (eieio-persistent-save project)) ;; Restore the directory slot - (oset project directory cdir))) )) + (setf (oref project directory) cdir))))) (cl-defmethod ede-commit-local-variables ((proj ede-proj-project)) "Commit change to local variables in PROJ." @@ -400,7 +400,7 @@ project-new-target (setq ede-object ot) (ede-apply-object-keymap))) ;; Add it to the project object - ;;(oset this targets (cons ot (oref this targets))) + ;; (setf (oref this targets) (cons ot (oref this targets))) ;; New form: Add to the end using fancy eieio function. ;; @todone - Some targets probably want to be in the front. ;; How to do that? @@ -436,7 +436,7 @@ project-delete-target (setq ts (cdr ts))) ;; Remove THIS from its parent. ;; The two vectors should be pointer equivalent. - (oset p targets (delq this (oref p targets))) + (setf (oref p targets) (delq this (oref p targets))) (ede-proj-save (ede-current-project)))) (cl-defmethod project-add-file ((this ede-proj-target) file) diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el index 61dc8a1fc6..b9dbf1382c 100644 --- a/lisp/cedet/ede/project-am.el +++ b/lisp/cedet/ede/project-am.el @@ -491,8 +491,8 @@ project-am-load-makefile :version ver :mailinglist (or bug "") :file fn))) - (oset ampf directory (file-name-directory fn)) - (oset ampf configureoutputfiles cof) + (setf (oref ampf directory) (file-name-directory fn)) + (setf (oref ampf configureoutputfiles) cof) (make-local-variable 'ede-object) (setq ede-object ampf) ;; Move the rescan after we set ede-object to prevent recursion @@ -637,20 +637,20 @@ project-rescan (ntargets (project-am-scan-for-targets this dir)) ) (if suggestedname - (oset this name (project-am-last-dir suggestedname)) + (setf (oref this name) (project-am-last-dir suggestedname)) ;; Else, setup toplevel project info. (and pn (string= (directory-file-name (oref this directory)) (directory-file-name (project-am-find-topmost-level (oref this directory)))) - (oset this name pn) - (and pv (oset this version pv)) - (and bug (oset this mailinglist bug)) - (oset this configureoutputfiles cof))) + (setf (oref this name) pn) + (and pv (setf (oref this version) pv)) + (and bug (setf (oref this mailinglist) bug)) + (setf (oref this configureoutputfiles) cof))) ;; Now that we have this new list, chuck the old targets ;; and replace it with the new list of targets I just created. - (oset this targets (nreverse ntargets)) + (setf (oref this targets) (nreverse ntargets)) ;; We still have a list of targets. For all buffers, make sure ;; their object still exists! ;; FIGURE THIS OUT @@ -687,49 +687,49 @@ project-rescan (setq nsubproj (cons tmp nsubproj))))) ) (nreverse csubprojexpanded)) - (oset this subproj nsubproj) + (setf (oref this subproj) nsubproj) ;; All elements should be updated now. ))) (cl-defmethod project-rescan ((this project-am-program)) "Rescan object THIS." - (oset this source (makefile-macro-file-list (project-am-macro this))) + (setf (oref this source) (makefile-macro-file-list (project-am-macro this))) (unless (oref this source) - (oset this source (list (concat (oref this name) ".c")))) - (oset this ldadd (makefile-macro-file-list - (concat (oref this name) "_LDADD")))) + (setf (oref this source) (list (concat (oref this name) ".c")))) + (setf (oref this ldadd) + (makefile-macro-file-list (concat (oref 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))) + (setf (oref 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"))))) + (setf (oref this source) + (list (concat (file-name-sans-extension (oref this name)) ".c"))))) (cl-defmethod project-rescan ((this project-am-texinfo)) "Rescan object THIS." - (oset this include (makefile-macro-file-list (project-am-macro this)))) + (setf (oref this include) (makefile-macro-file-list (project-am-macro this)))) (cl-defmethod project-rescan ((this project-am-man)) "Rescan object THIS." - (oset this source (makefile-macro-file-list (project-am-macro this)))) + (setf (oref this source) (makefile-macro-file-list (project-am-macro this)))) (cl-defmethod project-rescan ((this project-am-lisp)) "Rescan the lisp sources." - (oset this source (makefile-macro-file-list (project-am-macro this)))) + (setf (oref this source) (makefile-macro-file-list (project-am-macro this)))) (cl-defmethod project-rescan ((this project-am-header)) "Rescan the Header sources for object THIS." - (oset this source (makefile-macro-file-list (project-am-macro this)))) + (setf (oref this source) (makefile-macro-file-list (project-am-macro this)))) (cl-defmethod project-rescan ((this project-am-built-src)) "Rescan built sources for object THIS." - (oset this source (makefile-macro-file-list "BUILT_SOURCES"))) + (setf (oref this source) (makefile-macro-file-list "BUILT_SOURCES"))) (cl-defmethod project-rescan ((this project-am-extra-dist)) "Rescan object THIS." - (oset this source (makefile-macro-file-list "EXTRA_DIST"))) + (setf (oref this source) (makefile-macro-file-list "EXTRA_DIST"))) (cl-defmethod project-am-macro ((this project-am-objectcode)) "Return the default macro to `edit' for this object type." diff --git a/lisp/cedet/ede/simple.el b/lisp/cedet/ede/simple.el index b1cfd6523f..3883f00856 100644 --- a/lisp/cedet/ede/simple.el +++ b/lisp/cedet/ede/simple.el @@ -86,8 +86,7 @@ ede-simple-load (obj nil)) (when pf (setq obj (eieio-persistent-read pf)) - (oset obj :directory dir) - ) + (setf (oref obj :directory) dir)) obj)) (defclass ede-simple-target (ede-target) diff --git a/lisp/cedet/ede/util.el b/lisp/cedet/ede/util.el index c6da1862ff..5559286028 100644 --- a/lisp/cedet/ede/util.el +++ b/lisp/cedet/ede/util.el @@ -42,7 +42,7 @@ ede-update-version (let ((ede-object (ede-toplevel))) ;; Don't update anything if there was no change. (unless (string= (oref ede-object version) newversion) - (oset ede-object version newversion) + (setf (oref ede-object version) newversion) (project-update-version ede-object) (ede-update-version-in-source ede-object newversion)))) diff --git a/lisp/cedet/semantic/analyze.el b/lisp/cedet/semantic/analyze.el index cafdc3bee1..29d9304808 100644 --- a/lisp/cedet/semantic/analyze.el +++ b/lisp/cedet/semantic/analyze.el @@ -344,8 +344,7 @@ semantic-analyze-find-tag-sequence-default (let ((rawscope (apply 'append (mapcar 'semantic-tag-type-members tagtype)))) - (oset miniscope fullscope rawscope))) - ) + (setf (oref miniscope fullscope) rawscope)))) (setq s (cdr s))) (if typereturn (set typereturn (nreverse tagtype))) diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index 358829a456..c50a96d61c 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el @@ -1257,7 +1257,7 @@ semantic-analyze-tag-references ;; It found nothing or only itself - not good enough. As a ;; last resort, let's remove all namespaces from the scope and ;; search again. - (oset scope parents + (setf (oref scope parents) (let ((parents (oref scope parents)) newparents) (dolist (cur parents) @@ -1993,9 +1993,9 @@ semanticdb-find-table-for-include ;; Create new semantic-table for the wrapped tags, since we don't want ;; the namespace to actually be a part of the header file. (setq newtable (semanticdb-table)) - (oset newtable tags newtags) - (oset newtable parent-db (oref inctable parent-db)) - (oset newtable file (oref inctable file))) + (setf (oref newtable tags) newtags) + (setf (oref newtable parent-db) (oref inctable parent-db)) + (setf (oref newtable file) (oref inctable file))) newtable))) diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el index 7abc4360f6..68b8f74d39 100644 --- a/lisp/cedet/semantic/complete.el +++ b/lisp/cedet/semantic/complete.el @@ -934,7 +934,7 @@ semantic-collector-calculate-completions-raw "calculate the completions for prefix from completionlist." ;; if there are no completions yet, calculate them. (if (not (slot-boundp obj 'first-pass-completions)) - (oset obj first-pass-completions + (setf (oref obj first-pass-completions) (semantic-analyze-possible-completions (oref obj context)))) ;; search our cached completion list. make it look like a semanticdb ;; results type. @@ -1032,7 +1032,7 @@ semantic-collector-calculate-completions (let ((context (semantic-analyze-current-context (point)))) ;; Set new context and make first-pass-completions ;; unbound so that they are newly calculated. - (oset obj context context) + (setf (oref obj context) context) (when (slot-boundp obj 'first-pass-completions) (slot-makeunbound obj 'first-pass-completions))) nil))) @@ -1047,23 +1047,23 @@ semantic-collector-calculate-completions ;;(semanticdb-find-result-test answer) (when (not same-prefix-p) ;; Save results if it is interesting and beneficial - (oset obj last-prefix prefix) - (oset obj last-all-completions answer)) + (setf (oref obj last-prefix) prefix) + (setf (oref obj last-all-completions) answer)) ;; Now calculate the completion. (setq completion (try-completion prefix (semanticdb-strip-find-results answer))) - (oset obj last-whitespace-completion nil) - (oset obj current-exact-match nil) + (setf (oref obj last-whitespace-completion) nil) + (setf (oref obj current-exact-match) nil) ;; Only do this if a completion was found. Letting a nil in ;; could cause a full semanticdb search by accident. (when completion - (oset obj last-completion + (setf (oref obj last-completion) (cond ;; Unique match in AC. Last completion is a match. ;; Also set the current-exact-match. ((eq completion t) - (oset obj current-exact-match answer) + (setf (oref obj current-exact-match) answer) prefix) ;; It may be complete (a symbol) but still not unique. ;; We can capture a match @@ -1071,10 +1071,9 @@ semantic-collector-calculate-completions (semanticdb-find-tags-by-name prefix answer)) - (oset obj current-exact-match + (setf (oref obj current-exact-match) complete-not-uniq) - prefix - ) + prefix) ;; Non unique match, return the string that handles ;; completion (t (or completion prefix)) @@ -1107,10 +1106,9 @@ semantic-collector-try-completion-whitespace (when (and twws (car-safe twws)) ;; If COMPARE has succeeded, then we should take the very ;; first match, and extend prefix by one character. - (oset obj last-whitespace-completion + (setf (oref obj last-whitespace-completion) (substring (semantic-tag-name (car twws)) - 0 cutlen)))) - ))) + 0 cutlen))))))) (cl-defmethod semantic-collector-current-exact-match ((obj semantic-collector-abstract)) @@ -1161,12 +1159,11 @@ semantic-collector-calculate-cache (cl-defmethod semantic-collector-flush ((this semantic-collector-abstract)) "Flush THIS collector object, clearing any caches and prefix." - (oset this cache nil) + (setf (oref this cache) nil) (slot-makeunbound this 'last-prefix) (slot-makeunbound this 'last-completion) (slot-makeunbound this 'last-all-completions) - (slot-makeunbound this 'current-exact-match) - ) + (slot-makeunbound this 'current-exact-match)) ;;; PER BUFFER ;; @@ -1220,7 +1217,7 @@ semantic-collector-calculate-cache ((obj semantic-collector-buffer-deep)) "Calculate the completion cache for OBJ. Uses `semantic-flatten-tags-table'." - (oset obj cache + (setf (oref obj cache) ;; Must create it in SEMANTICDB find format. ;; ( ( DBTABLE TAG TAG ... ) ... ) (list @@ -1277,7 +1274,7 @@ semantic-collector-calculate-completions-raw ((obj semantic-collector-local-members) prefix completionlist) "Calculate the completions for prefix from completionlist." (let* ((scope (or (oref obj scope) - (oset obj scope (semantic-calculate-scope)))) + (setf (oref obj scope) (semantic-calculate-scope)))) (localstuff (oref scope scope))) (list (cons @@ -1344,8 +1341,8 @@ 'semantic-displayor-set-completions (cl-defmethod semantic-displayer-set-completions ((obj semantic-displayer-abstract) table prefix) "Set the list of tags to be completed over to TABLE." - (oset obj table table) - (oset obj last-prefix prefix)) + (setf (oref obj table) table) + (setf (oref obj last-prefix) prefix)) (define-obsolete-function-alias 'semantic-displayor-show-request #'semantic-displayer-show-request "27.1") @@ -1467,10 +1464,8 @@ semantic-displayer-focus-previous (with-slots (table) obj (if (or (not (slot-boundp obj 'focus)) (<= (oref obj focus) 0)) - (oset obj focus (1- (semanticdb-find-result-length table))) - (oset obj focus (1- (oref obj focus))) - ) - ))) + (setf (oref obj focus) (1- (semanticdb-find-result-length table))) + (setf (oref obj focus) (1- (oref obj focus))))))) (define-obsolete-function-alias 'semantic-displayor-focus-next #'semantic-displayer-focus-next "27.1") @@ -1480,12 +1475,10 @@ semantic-displayer-focus-next (when (and (slot-boundp obj 'table) (oref obj table)) (with-slots (table) obj (if (not (slot-boundp obj 'focus)) - (oset obj focus 0) - (oset obj focus (1+ (oref obj focus))) - ) + (setf (oref obj focus) 0) + (setf (oref obj focus) (1+ (oref obj focus)))) (if (<= (semanticdb-find-result-length table) (oref obj focus)) - (oset obj focus 0)) - ))) + (setf (oref obj focus) 0))))) (define-obsolete-function-alias 'semantic-displayor-focus-tag #'semantic-displayer-focus-tag "27.1") @@ -1690,13 +1683,13 @@ semantic-displayer-show-request ;; Keep a count of the consecutive completion commands entered by the user. (if (and (stringp (this-command-keys)) (string= (this-command-keys) "\C-i")) - (oset obj typing-count (1+ (oref obj typing-count))) - (oset obj typing-count 0)) + (setf (oref obj typing-count) (1+ (oref obj typing-count))) + (setf (oref obj typing-count) 0)) (cond ((eq mode 'quiet) ;; Switch back to standard mode if user presses key more than 5 times. (when (>= (oref obj typing-count) 5) - (oset obj mode 'standard) + (setf (oref obj mode) 'standard) (setq mode 'standard) (message "Resetting inline-mode to `standard'.")) (when (and (> numcompl max-tags) @@ -1705,10 +1698,10 @@ semantic-displayer-show-request (setq msg "..."))) ((eq mode 'verbose) ;; Always show extended match set. - (oset obj max-tags-initial semantic-displayer-tooltip-max-tags) + (setf (oref obj max-tags-initial) semantic-displayer-tooltip-max-tags) (setq max-tags semantic-displayer-tooltip-max-tags))) (unless msg - (oset obj shown t) + (setf (oref obj shown) t) (cond ((> numcompl max-tags) ;; We have too many items, be brave and truncate 'completions'. @@ -1726,7 +1719,7 @@ semantic-displayer-show-request (when (string= matchtxt (semantic-tag-name (car table))) (setq msg "[COMPLETE]\n"))) ((zerop numcompl) - (oset obj shown nil) + (setf (oref obj shown) nil) ;; No matches, say so if in verbose mode! (when semantic-idle-scheduler-verbose-flag (setq msg "[NO MATCH]")))) @@ -1781,9 +1774,8 @@ 'semantic-displayor-scroll-request (cl-defmethod semantic-displayer-scroll-request ((obj semantic-displayer-tooltip)) "A request to for the displayer to scroll the completion list (if needed)." ;; Do scrolling in the tooltip. - (oset obj max-tags-initial 30) - (semantic-displayer-show-request obj) - ) + (setf (oref obj max-tags-initial) 30) + (semantic-displayer-show-request obj)) ;; End code contributed by Masatake YAMATO @@ -1843,7 +1835,7 @@ semantic-displayer-show-request "A request to show the current tags table." ; (if (oref obj first-show) ; (progn -; (oset obj first-show nil) +; (setf (oref obj first-show) nil) (semantic-displayer-focus-next obj) (semantic-displayer-focus-request obj) ; ) @@ -1871,7 +1863,7 @@ semantic-displayer-focus-request ;; inline text. (when (or (not (slot-boundp obj 'ghostoverlay)) (not (overlay-buffer (oref obj ghostoverlay)))) - (oset obj ghostoverlay + (setf (oref obj ghostoverlay) (make-overlay (point) (1+ (point)) (current-buffer) t))) (let* ((lp (semantic-completion-text)) diff --git a/lisp/cedet/semantic/db-ebrowse.el b/lisp/cedet/semantic/db-ebrowse.el index d63e5bc486..eb7ef879d1 100644 --- a/lisp/cedet/semantic/db-ebrowse.el +++ b/lisp/cedet/semantic/db-ebrowse.el @@ -313,11 +313,11 @@ semanticdb-create-database directory :ebrowse-struct ebd )) - (oset db reference-directory directory)) + (setf (oref db reference-directory) directory)) ;; Once we recycle or make a new DB, refresh the ;; contents from the BROWSE file. - (oset db tables nil) + (setf (oref db tables) nil) ;; only possible after object creation, tables inited to nil. (semanticdb-ebrowse-strip-trees db dat) @@ -436,8 +436,7 @@ semanticdb-ebrowse-add-tree-to-table (setq nst (semantic-find-first-tag-by-name (car ns) taglst)) (when (not nst) (setq nst (semantic-tag (car ns) 'type :type "namespace")) - (oset tab tags (cons nst taglst)) - ))) + (setf (oref tab tags) (cons nst taglst))))) ;; 3 - Create a proxy tg. (setq cls (semantic-tag (ebrowse-cs-name class) @@ -456,8 +455,9 @@ semanticdb-ebrowse-add-tree-to-table (if nst (semantic-tag-put-attribute nst :members (cons cls (semantic-tag-get-attribute nst :members))) - (oset tab tags (cons cls (when (slot-boundp tab 'tags) - (oref tab tags))))) + (setf (oref tab tags) + (cons cls (and (slot-boundp tab 'tags) + (oref tab tags))))) ;; 5 - Subclasses (let* ((subclass (ebrowse-ts-subclasses tree)) diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el index 1706988c23..5f2b48a0d0 100644 --- a/lisp/cedet/semantic/db-el.el +++ b/lisp/cedet/semantic/db-el.el @@ -105,10 +105,9 @@ semanticdb-get-database-tables ;; The table can then answer file name type questions. (when (not (slot-boundp obj 'tables)) (let ((newtable (make-instance 'semanticdb-table-emacs-lisp))) - (oset obj tables (list newtable)) - (oset newtable parent-db obj) - (oset newtable tags nil) - )) + (setf (oref obj tables) (list newtable)) + (setf (oref newtable parent-db) obj) + (setf (oref newtable tags) nil))) (cl-call-next-method)) (cl-defmethod semanticdb-file-table ((obj semanticdb-project-database-emacs-lisp) _filename) diff --git a/lisp/cedet/semantic/db-file.el b/lisp/cedet/semantic/db-file.el index 9628748710..36bbd9d82b 100644 --- a/lisp/cedet/semantic/db-file.el +++ b/lisp/cedet/semantic/db-file.el @@ -149,7 +149,7 @@ semanticdb-create-database :semanticdb-version semanticdb-file-version))) ;; Set this up here. We can't put it in the constructor because it ;; would be saved, and we want DB files to be portable. - (oset db reference-directory directory) + (setf (oref db reference-directory) directory) db)) ;;; File IO @@ -167,7 +167,7 @@ semanticdb-load-database ) ;; Restore the parent-db connection (while c - (oset (car c) parent-db r) + (setf (oref (car c) parent-db) r) (setq c (cdr c))) (unless (and (equal semanticdb-file-version fv) (equal semantic-tag-version tv)) @@ -178,7 +178,7 @@ semanticdb-load-database ;; Incompatible version. Flush tables. (semanticdb-flush-database-tables r) ;; Reset the version to new version. - (oset r semantic-tag-version semantic-tag-version) + (setf (oref r semantic-tag-version) semantic-tag-version) ;; Warn user (message "Semanticdb file is old. Starting over for %s" filename)) @@ -296,20 +296,17 @@ object-write semantic-show-unmatched-syntax-mode) ;; Only do this if the user runs unmatched syntax ;; mode display entries. - (oset obj unmatched-syntax - (semantic-show-unmatched-lex-tokens-fetch)) - ) + (setf (oref obj unmatched-syntax) + (semantic-show-unmatched-lex-tokens-fetch))) ;; Make sure pointmax is up to date - (oset obj pointmax (point-max)) - ))) + (setf (oref obj pointmax) (point-max))))) ;; Make sure that the file size and other attributes are ;; up to date. (let ((fattr (file-attributes (semanticdb-full-filename obj)))) - (oset obj fsize (file-attribute-size fattr)) - (oset obj lastmodtime (file-attribute-modification-time fattr)) - ) + (setf (oref obj fsize) (file-attribute-size fattr)) + (setf (oref obj lastmodtime) (file-attribute-modification-time fattr))) ;; Do it! (condition-case tableerror @@ -324,8 +321,7 @@ object-write (error "%S" (car (cdr tableerror))))) ;; Clear the dirty bit. - (oset obj dirty nil) - )) + (setf (oref obj dirty) nil))) ;;; State queries ;; diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el index 510f931fa9..7f39594e5c 100644 --- a/lisp/cedet/semantic/db-find.el +++ b/lisp/cedet/semantic/db-find.el @@ -200,7 +200,7 @@ semantic-reset "Reset the object IDX." (require 'semantic/scope) ;; Clear the include path. - (oset idx include-path nil) + (setf (oref idx include-path) nil) (when (oref idx type-cache) (semantic-reset (oref idx type-cache))) ;; Clear the scope. Scope doesn't have the data it needs to track @@ -412,7 +412,7 @@ semanticdb-find-translate-path-includes-default (if (semanticdb-find-need-cache-update-p table) ;; Let's go look up our indices. (let ((ans (semanticdb-find-translate-path-includes--internal path))) - (oset index include-path ans) + (setf (oref index include-path) ans) ;; Once we have our new indices set up, notify those ;; who depend on us if we found something for them to ;; depend on. diff --git a/lisp/cedet/semantic/db-global.el b/lisp/cedet/semantic/db-global.el index b6f7c2f379..70f308edbb 100644 --- a/lisp/cedet/semantic/db-global.el +++ b/lisp/cedet/semantic/db-global.el @@ -139,10 +139,9 @@ semanticdb-get-database-tables ;; The table can then answer file name type questions. (when (not (slot-boundp obj 'tables)) (let ((newtable (make-instance 'semanticdb-table-global))) - (oset obj tables (list newtable)) - (oset newtable parent-db obj) - (oset newtable tags nil) - )) + (setf (oref obj tables) (list newtable)) + (setf (oref newtable parent-db) obj) + (setf (oref newtable tags) nil))) (cl-call-next-method)) diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el index 098ee0676b..a40235e066 100644 --- a/lisp/cedet/semantic/db-javascript.el +++ b/lisp/cedet/semantic/db-javascript.el @@ -122,12 +122,10 @@ semanticdb-get-database-tables ;; The table can then answer file name type questions. (when (not (slot-boundp obj 'tables)) (let ((newtable (semanticdb-table-javascript))) - (oset obj tables (list newtable)) - (oset newtable parent-db obj) - (oset newtable tags nil) - )) - (cl-call-next-method) - ) + (setf (oref obj tables) (list newtable)) + (setf (oref newtable parent-db) obj) + (setf (oref newtable tags) nil))) + (cl-call-next-method)) (cl-defmethod semanticdb-file-table ((obj semanticdb-project-database-javascript) filename) "From OBJ, return FILENAME's associated table object." diff --git a/lisp/cedet/semantic/db-mode.el b/lisp/cedet/semantic/db-mode.el index 0ab03ef49e..06d1c4cf6b 100644 --- a/lisp/cedet/semantic/db-mode.el +++ b/lisp/cedet/semantic/db-mode.el @@ -101,10 +101,10 @@ semanticdb-semantic-init-hook-fcn ;; Get the current DB for this directory (setq semanticdb-current-database cdb) ;; We set the major mode because we know what it is. - (oset ctbl major-mode major-mode) + (setf (oref ctbl major-mode) major-mode) ;; Local state (setq semanticdb-current-table ctbl) - (oset ctbl buffer (current-buffer)) + (setf (oref ctbl buffer) (current-buffer)) ;; Try to swap in saved tags (if (or (not (slot-boundp ctbl 'tags)) (not (oref ctbl tags)) (/= (or (oref ctbl pointmax) 0) (point-max)) @@ -119,8 +119,7 @@ semanticdb-semantic-init-hook-fcn ;; syntax slot. If so, just clear the unmatched syntax cache. (semantic-clear-unmatched-syntax-cache) ;; Make sure it has a value. - (oset ctbl unmatched-syntax nil) - )) + (setf (oref ctbl unmatched-syntax) nil))) ;; Keep lexical tables up to date. Don't load ;; semantic-spp if it isn't needed. (let ((lt (oref ctbl lexical-table))) @@ -132,11 +131,9 @@ semanticdb-semantic-init-hook-fcn ;; since this will turn around and re-save those variables. (semantic--set-buffer-cache (oref ctbl tags)) ;; Don't need it to be dirty. Set dirty due to hooks from above. - (oset ctbl dirty nil) ;; Special case here. + (setf (oref ctbl dirty) nil) ;; Special case here. ;; Bind into the buffer. - (semantic--tag-link-cache-to-buffer) - ) - ))) + (semantic--tag-link-cache-to-buffer))))) (defun semanticdb-revert-hook () "Hook run before a revert buffer. @@ -165,30 +162,27 @@ semanticdb-kill-hook ;; If this is the case, don't save anything. (progn (semantic-clear-toplevel-cache) - (oset semanticdb-current-table pointmax 0) - (oset semanticdb-current-table fsize 0) - (oset semanticdb-current-table lastmodtime nil) - ) + (setf (oref semanticdb-current-table pointmax) 0) + (setf (oref semanticdb-current-table fsize) 0) + (setf (oref semanticdb-current-table lastmodtime) nil)) ;; We have a clean buffer, save it off. (condition-case nil (progn (semantic--tag-unlink-cache-from-buffer) ;; Set pointmax only if we had some success in the unlink. - (oset semanticdb-current-table pointmax (point-max)) + (setf (oref semanticdb-current-table pointmax) (point-max)) (let ((fattr (file-attributes (semanticdb-full-filename semanticdb-current-table)))) - (oset semanticdb-current-table fsize (file-attribute-size fattr)) - (oset semanticdb-current-table lastmodtime + (setf (oref semanticdb-current-table fsize) + (file-attribute-size fattr)) + (setf (oref semanticdb-current-table lastmodtime) (file-attribute-modification-time fattr)) - (oset semanticdb-current-table buffer nil) - )) + (setf (oref semanticdb-current-table buffer) nil))) ;; If this messes up, just clear the system (error (semantic-clear-toplevel-cache) - (message "semanticdb: Failed to deoverlay tag cache."))) - ) - )) + (message "semanticdb: Failed to deoverlay tag cache.")))))) (defun semanticdb-kill-emacs-hook () "Function called when Emacs is killed. diff --git a/lisp/cedet/semantic/db-typecache.el b/lisp/cedet/semantic/db-typecache.el index 09f0e52e44..d0be806954 100644 --- a/lisp/cedet/semantic/db-typecache.el +++ b/lisp/cedet/semantic/db-typecache.el @@ -69,34 +69,31 @@ semanticdb-typecache (cl-defmethod semantic-reset ((tc semanticdb-typecache)) "Reset the object IDX." - (oset tc filestream nil) - (oset tc includestream nil) + (setf (oref tc filestream) nil) + (setf (oref tc includestream) nil) - (oset tc stream nil) + (setf (oref tc stream) nil) (mapc 'semantic-reset (oref tc dependants)) - (oset tc dependants nil) - ) + (setf (oref tc dependants) nil)) (cl-defmethod semanticdb-typecache-notify-reset ((tc semanticdb-typecache)) "Do a reset from a notify from a table we depend on." - (oset tc includestream nil) + (setf (oref tc includestream) nil) (mapc 'semantic-reset (oref tc dependants)) - (oset tc dependants nil) - ) + (setf (oref tc dependants) nil)) (cl-defmethod semanticdb-partial-synchronize ((tc semanticdb-typecache) new-tags) "Reset the typecache based on a partial reparse." (when (semantic-find-tags-by-class 'include new-tags) - (oset tc includestream nil) + (setf (oref tc includestream) nil) (mapc 'semantic-reset (oref tc dependants)) - (oset tc dependants nil) - ) + (setf (oref tc dependants) nil)) (when (semantic-find-tags-by-class 'type new-tags) ;; Reset our index - (oset tc filestream nil) + (setf (oref tc filestream) nil) t ;; Return true, our core file tags have changed in a relevant way. ) @@ -137,7 +134,7 @@ semanticdb-get-typecache (when (not cache) ;; The object won't change as we fill it with stuff. (setq cache (semanticdb-typecache (semanticdb-full-filename table))) - (oset idx type-cache cache)) + (setf (oref idx type-cache) cache)) cache)) @@ -164,8 +161,7 @@ semanticdb-database-typecache (cl-defmethod semantic-reset ((tc semanticdb-database-typecache)) "Reset the object IDX." - (oset tc stream nil) - ) + (setf (oref tc stream) nil)) (cl-defmethod semanticdb-synchronize ((cache semanticdb-database-typecache) new-tags) @@ -332,11 +328,11 @@ semanticdb-typecache-file-tags (setq tags (semanticdb-typecache-safe-tag-list tags table)) (dolist (T tags) (push (semanticdb-expand-nested-tag T) exptags)) - (oset cache filestream (semanticdb-typecache-merge-streams exptags nil))))) + (setf (oref cache filestream) + (semanticdb-typecache-merge-streams exptags nil))))) ;; Return our cache. - (oref cache filestream) - )) + (oref cache filestream))) (cl-defmethod semanticdb-typecache-include-tags ((table semanticdb-abstract-table)) "No tags available from non-file based tables." @@ -374,15 +370,13 @@ semanticdb-typecache-include-tags ;; only once (in the loop before this one), so this ends ;; up being super fast as we edit our file. (copy-sequence - (semanticdb-typecache-file-tags i)))) - )) + (semanticdb-typecache-file-tags i)))))) ;; Save... - (oset cache includestream incstream))) + (setf (oref cache includestream) incstream))) ;; Return our cache. - (oref cache includestream) - )) + (oref cache includestream))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -561,7 +555,7 @@ semanticdb-typecache-for-database (copy-sequence (semanticdb-typecache-file-tags table)))) )) - (oset cache stream stream) + (setf (oref cache stream) stream) cache)) (defun semanticdb-typecache-refresh-for-buffer (buffer) @@ -583,7 +577,7 @@ semanticdb-typecache-complete-flush (let* ((path (semanticdb-find-translate-path nil nil))) (dolist (P path) (condition-case nil - (oset P pointmax nil) + (setf (oref P pointmax) nil) ;; Pointmax may not exist for all tables discovered in the ;; path. (error nil)) @@ -611,7 +605,7 @@ semanticdb-db-typecache-dump (require 'data-debug) (let* ((tab semanticdb-current-table) (idx (semanticdb-get-table-index tab)) - (junk (oset idx type-cache nil)) ;; flush! + (junk (setf (oref idx type-cache) nil)) ;; flush! (start (current-time)) (tc (semanticdb-typecache-for-database (oref tab parent-db))) (end (current-time)) diff --git a/lisp/cedet/semantic/debug.el b/lisp/cedet/semantic/debug.el index eebdd013aa..c0e06695ef 100644 --- a/lisp/cedet/semantic/debug.el +++ b/lisp/cedet/semantic/debug.el @@ -120,24 +120,22 @@ semantic-debug-interface (cl-defmethod semantic-debug-set-frame ((iface semantic-debug-interface) frame) "Set the current frame on IFACE to FRAME." (if frame - (oset iface current-frame frame) + (setf (oref iface current-frame) frame) (slot-makeunbound iface 'current-frame))) (cl-defmethod semantic-debug-set-parser-location ((iface semantic-debug-interface) point) "Set the parser location in IFACE to POINT." (with-current-buffer (oref iface parser-buffer) (if (not (slot-boundp iface 'parser-location)) - (oset iface parser-location (make-marker))) - (move-marker (oref iface parser-location) point)) - ) + (setf (oref iface parser-location) (make-marker))) + (move-marker (oref iface parser-location) point))) (cl-defmethod semantic-debug-set-source-location ((iface semantic-debug-interface) point) "Set the source location in IFACE to POINT." (with-current-buffer (oref iface source-buffer) (if (not (slot-boundp iface 'source-location)) - (oset iface source-location (make-marker))) - (move-marker (oref iface source-location) point)) - ) + (setf (oref iface source-location) (make-marker))) + (move-marker (oref iface source-location) point))) (cl-defmethod semantic-debug-interface-layout ((iface semantic-debug-interface)) "Layout windows in the current frame to facilitate debugging." @@ -229,7 +227,7 @@ semantic-debug-highlight-rule (cl-defmethod semantic-debug-unhighlight ((iface semantic-debug-interface)) "Remove all debugging overlays." (mapc #'delete-overlay (oref iface overlays)) - (oset iface overlays nil)) + (setf (oref iface overlays) nil)) ;; Call from the parser at a breakpoint (defvar semantic-debug-user-command nil diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el index bd32f98233..f35b6c0493 100644 --- a/lisp/cedet/semantic/mru-bookmark.el +++ b/lisp/cedet/semantic/mru-bookmark.el @@ -89,9 +89,9 @@ initialize-instance "Initialize the bookmark SBM with details about :tag." (condition-case nil (save-excursion - (oset sbm filename (semantic-tag-file-name (oref sbm tag))) + (setf (oref sbm filename) (semantic-tag-file-name (oref sbm tag))) (semantic-go-to-tag (oref sbm tag)) - (oset sbm parent (semantic-current-tag-parent))) + (setf (oref sbm parent) (semantic-current-tag-parent))) (error (message "Error bookmarking tag."))) ) @@ -124,12 +124,10 @@ semantic-mrub-update (progn (with-slots (tag offset frequency) sbm (setq offset (- point (semantic-tag-start tag))) - (setq frequency (1+ frequency)) - ) - (oset sbm reason reason)) + (setq frequency (1+ frequency))) + (setf (oref sbm reason) reason)) ;; This can fail on XEmacs at miscellaneous times. - (error nil)) - ) + (error nil))) (cl-defmethod semantic-mrub-preflush ((sbm semantic-bookmark)) "Method called on a tag before the current buffer list of tags is flushed. diff --git a/lisp/cedet/semantic/scope.el b/lisp/cedet/semantic/scope.el index 7939438b1b..6c0f92e625 100644 --- a/lisp/cedet/semantic/scope.el +++ b/lisp/cedet/semantic/scope.el @@ -103,16 +103,15 @@ semantic-scope-cache ;; (cl-defmethod semantic-reset ((obj semantic-scope-cache)) "Reset OBJ back to it's empty settings." - (oset obj tag nil) - (oset obj scopetypes nil) - (oset obj parents nil) - (oset obj parentinheritance nil) - (oset obj scope nil) - (oset obj fullscope nil) - (oset obj localargs nil) - (oset obj localvar nil) - (oset obj typescope nil) - ) + (setf (oref obj tag) nil) + (setf (oref obj scopetypes) nil) + (setf (oref obj parents) nil) + (setf (oref obj parentinheritance) nil) + (setf (oref obj scope) nil) + (setf (oref obj fullscope) nil) + (setf (oref obj localargs) nil) + (setf (oref obj localvar) nil) + (setf (oref obj typescope) nil)) (cl-defmethod semanticdb-synchronize ((cache semantic-scope-cache) new-tags) @@ -147,9 +146,8 @@ semantic-scope-set-typecache (let ((newts nil)) ;; New Type Scope (dolist (onetype types-in-scope) (setq newts (append (semantic-tag-type-members onetype) - newts)) - ) - (oset cache typescope newts))) + newts))) + (setf (oref cache typescope) newts))) ;;; TAG SCOPES ;; @@ -327,12 +325,11 @@ semantic-analyze-scope-nested-tags-default (let ((rawscope (apply 'append (mapcar 'semantic-tag-type-members - (cons (car returnlist) scopetypes) - ))) - ) - (oset miniscope parents returnlist) ;; Not really accurate, but close - (oset miniscope scope rawscope) - (oset miniscope fullscope rawscope) + (cons (car returnlist) scopetypes))))) + ;; Not really accurate, but close + (setf (oref miniscope parents) returnlist) + (setf (oref miniscope scope) rawscope) + (setf (oref miniscope fullscope) rawscope) (setq ptag (semantic-analyze-find-tag searchnameraw 'type @@ -368,11 +365,10 @@ semantic-analyze-scope-lineage-tags-default Optional SCOPETYPES are additional scoped entities in which our parent might be found." (let ((lineage nil) - (miniscope (semantic-scope-cache)) - ) - (oset miniscope parents parents) - (oset miniscope scope scopetypes) - (oset miniscope fullscope scopetypes) + (miniscope (semantic-scope-cache))) + (setf (oref miniscope parents) parents) + (setf (oref miniscope scope) scopetypes) + (setf (oref miniscope fullscope) scopetypes) (dolist (slp parents) (semantic-analyze-scoped-inherited-tag-map @@ -425,8 +421,8 @@ semantic-analyze-scoped-tags-default ;; adding to the scopelist as we go, and using the scopelist ;; for additional searching! (while typelist2 - (oset miniscope scope currentscope) - (oset miniscope fullscope currentscope) + (setf (oref miniscope scope) currentscope) + (setf (oref miniscope fullscope) currentscope) (setq currentscope (append (semantic-analyze-scoped-type-parts (car typelist2) miniscope) @@ -438,8 +434,8 @@ semantic-analyze-scoped-tags-default ;; declared in using statements, or the like. ;; Get the PARENTS including nesting scope for this location. (while parentlist - (oset miniscope scope currentscope) - (oset miniscope fullscope currentscope) + (setf (oref miniscope scope) currentscope) + (setf (oref miniscope fullscope) currentscope) (setq currentscope (append (semantic-analyze-scoped-type-parts (car parentlist) miniscope) @@ -646,21 +642,20 @@ semantic-analyze-scoped-inherited-tag-map ;; that will help in finding the parent. We don't really need ;; to do any of the stuff related to variables and what-not. (setq tmpscope (semantic-scope-cache)) - (let* ( ;; Step 1: + (let* (;; Step 1: (scopetypes (cons type (semantic-analyze-scoped-types (point)))) (parents (semantic-analyze-scope-nested-tags (point) scopetypes)) ;;(parentinherited (semantic-analyze-scope-lineage-tags parents scopetypes)) - (lscope nil) - ) - (oset tmpscope scopetypes scopetypes) - (oset tmpscope parents parents) - ;;(oset tmpscope parentinheritance parentinherited) + (lscope nil)) + (setf (oref tmpscope scopetypes) scopetypes) + (setf (oref tmpscope parents) parents) + ;; (setf (oref tmpscope parentinheritance) parentinherited) (when (or scopetypes parents) (setq lscope (semantic-analyze-scoped-tags scopetypes tmpscope)) - (oset tmpscope scope lscope)) - (oset tmpscope fullscope (append scopetypes lscope parents)) - ))) + (setf (oref tmpscope scope) lscope)) + (setf (oref tmpscope fullscope) + (append scopetypes lscope parents))))) ;; END creating tmpscope ;; Look up each parent one at a time. @@ -715,20 +710,19 @@ semantic-calculate-scope ;; Even though we can recycle most of the scope, we ;; need to redo the local variables since those change ;; as you move about the tag. - (condition-case nil - (oset scopecache localvar (semantic-get-all-local-variables)) - (error nil)) + (ignore-errors + (setf (oref scopecache localvar) + (semantic-get-all-local-variables))) (let* (;; Step 1: (scopetypes (semantic-analyze-scoped-types point)) (parents (semantic-analyze-scope-nested-tags point scopetypes)) (parentinherited (semantic-analyze-scope-lineage-tags - parents scopetypes)) - ) - (oset scopecache tag TAG) - (oset scopecache scopetypes scopetypes) - (oset scopecache parents parents) - (oset scopecache parentinheritance parentinherited) + parents scopetypes))) + (setf (oref scopecache tag) TAG) + (setf (oref scopecache scopetypes) scopetypes) + (setf (oref scopecache parents) parents) + (setf (oref scopecache parentinheritance) parentinherited) (let* (;; Step 2: (scope (when (or scopetypes parents) @@ -746,18 +740,17 @@ semantic-calculate-scope (setq parentinherited (semantic-analyze-scope-lineage-tags parents (append scopetypes scope))) (when parentinherited - (oset scopecache parentinheritance parentinherited) + (setf (oref scopecache parentinheritance) parentinherited) ;; Try calculating the scope again with the new inherited parent list. (setq scope (when (or scopetypes parents) (semantic-analyze-scoped-tags scopetypes scopecache)) ))) ;; Fill out the scope. - (oset scopecache scope scope) - (oset scopecache fullscope (append scopetypes scope parents)) - (oset scopecache localargs localargs) - (oset scopecache localvar localvar) - ))) + (setf (oref scopecache scope) scope) + (setf (oref scopecache fullscope) (append scopetypes scope parents)) + (setf (oref scopecache localargs) localargs) + (setf (oref scopecache localvar) localvar)))) ;; Make sure we become dependent on the typecache. (semanticdb-typecache-add-dependant scopecache) ;; Handy debug output. @@ -815,9 +808,8 @@ semantic-scope-find (setq namesplit (cdr namesplit))) ;; Once done, store the current typecache lookup - (oset scope typescope - (append typescoperaw (oref scope typescope))) - ))) + (setf (oref scope typescope) + (append typescoperaw (oref scope typescope)))))) ;; Return it. ans) ;; Not a real scope. Our scope calculation analyze parts of diff --git a/lisp/cedet/semantic/symref.el b/lisp/cedet/semantic/symref.el index 6bdec71745..046320817d 100644 --- a/lisp/cedet/semantic/symref.el +++ b/lisp/cedet/semantic/symref.el @@ -407,9 +407,7 @@ semantic-symref-result-get-files ;; grouped together. (when (not (string= F (car ans))) (setq ans (cons F ans)))) - (oset result hit-files (nreverse ans)) - ) - )) + (setf (oref result hit-files) (nreverse ans))))) (defvar semantic-symref-recently-opened-buffers nil "List of buffers opened by `semantic-symref-result-get-tags'.") @@ -468,7 +466,7 @@ semantic-symref-result-get-tags (semantic--tag-put-property (car out) :hit lines))) )) ;; Out is reversed... twice - (oset result hit-tags (nreverse out))))) + (setf (oref result hit-tags) (nreverse out))))) (defun semantic-symref-hit-to-tag-via-db (hit searchtxt searchtype) "Convert the symref HIT into a TAG by looking up the tag via a database. diff --git a/lisp/cedet/srecode/compile.el b/lisp/cedet/srecode/compile.el index 9f81b2bccc..fea42863bd 100644 --- a/lisp/cedet/srecode/compile.el +++ b/lisp/cedet/srecode/compile.el @@ -90,9 +90,8 @@ srecode-flush-active-templates (if (oref-default 'srecode-template active) (when (y-or-n-p (format "%d active templates. Flush? " (length (oref-default 'srecode-template active)))) - (oset-default 'srecode-template active nil)) - (message "No active templates to flush.")) - ) + (setf (oref-default 'srecode-template active) nil)) + (message "No active templates to flush."))) ;;; Inserters ;; @@ -218,8 +217,7 @@ srecode-compile-templates ;; CONTEXT tags specify the context all future tags ;; belong to. ((eq class 'context) - (oset STATE context (semantic-tag-name tag)) - ) + (setf (oref STATE context) (semantic-tag-name tag))) ;; PROMPT tags specify prompts for dictionary ? inserters ;; which appear in the following templates @@ -238,11 +236,9 @@ srecode-compile-templates (cond ((string= name "mode") (setq mode (intern firstvalue))) ((string= name "escape_start") - (oset STATE escape_start firstvalue) - ) + (setf (oref STATE escape_start) firstvalue)) ((string= name "escape_end") - (oset STATE escape_end firstvalue) - ) + (setf (oref STATE escape_end) firstvalue)) ((string= name "application") (setq application (read firstvalue))) ((string= name "framework") @@ -570,9 +566,8 @@ srecode-compile-template-table (tmpl (oref table templates))) ;; Loop over all the templates, and xref. (while tmpl - (oset (car tmpl) table table) - (setq tmpl (cdr tmpl)))) - )) + (setf (oref (car tmpl) table) table) + (setq tmpl (cdr tmpl)))))) diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el index 4322b09137..b538dd09c8 100644 --- a/lisp/cedet/srecode/dictionary.el +++ b/lisp/cedet/srecode/dictionary.el @@ -141,7 +141,7 @@ initialize-instance (error "Don't know how to handle variable value %S" nval))) ) (setq val (cdr val))) - (oset this compiled (nreverse comp)))))) + (setf (oref this compiled) (nreverse comp)))))) ;;; DICTIONARY METHODS ;; diff --git a/lisp/cedet/srecode/extract.el b/lisp/cedet/srecode/extract.el index 51c5fe4d18..c4a7e03dee 100644 --- a/lisp/cedet/srecode/extract.el +++ b/lisp/cedet/srecode/extract.el @@ -57,12 +57,12 @@ srecode-extract-state (cl-defmethod srecode-extract-state-set ((st srecode-extract-state) ins dict) "Set onto the extract state ST a new inserter INS and dictionary DICT." - (oset st lastinserter ins) - (oset st lastdict dict)) + (setf (oref st lastinserter) ins) + (setf (oref st lastdict) dict)) (cl-defmethod srecode-extract-state-set-anchor ((st srecode-extract-state)) "Reset the anchor point on extract state ST." - (oset st anchor (point))) + (setf (oref st anchor) (point))) (cl-defmethod srecode-extract-state-extract ((st srecode-extract-state) endpoint) diff --git a/lisp/cedet/srecode/fields.el b/lisp/cedet/srecode/fields.el index e46c5820c5..2ace52e005 100644 --- a/lisp/cedet/srecode/fields.el +++ b/lisp/cedet/srecode/fields.el @@ -107,10 +107,8 @@ initialize-instance (setq olay (make-overlay start end (current-buffer) t nil)) (overlay-put olay 'srecode-init-only t) - (oset olaid overlay olay) - (cl-call-next-method olaid (nreverse newargs)) - - )) + (setf (oref olaid overlay) olay) + (cl-call-next-method olaid (nreverse newargs)))) (cl-defmethod srecode-overlaid-activate ((olaid srecode-overlaid)) "Activate the overlaid area." @@ -125,9 +123,7 @@ srecode-overlaid-activate (overlay-put ol 'srecode olaid) - (oset olaid overlay ol) - - )) + (setf (oref olaid overlay) ol))) (cl-defmethod srecode-delete ((olaid srecode-overlaid)) "Delete the overlay from OLAID." @@ -196,12 +192,11 @@ initialize-instance &rest args) "Initialize IR, capturing the active fields, and creating the overlay." ;; Fill in the fields - (oset ir fields srecode-field-archive) + (setf (oref ir fields) srecode-field-archive) (setq srecode-field-archive nil) ;; Initialize myself first. - (cl-call-next-method) - ) + (cl-call-next-method)) (cl-defmethod srecode-overlaid-activate ((ir srecode-template-inserted-region)) "Activate the template area for IR." @@ -218,23 +213,21 @@ srecode-overlaid-activate (goto-char (overlay-start (oref first overlay)))) ;; Set ourselves up as 'active' - (oset ir active-region ir) + (setf (oref ir active-region) ir) ;; Setup the post command hook. - (add-hook 'post-command-hook 'srecode-field-post-command t t) - ) + (add-hook 'post-command-hook 'srecode-field-post-command t t)) (cl-defmethod srecode-delete ((ir srecode-template-inserted-region)) "Call into our base, but also clear out the fields." ;; Clear us out of the baseclass. - (oset ir active-region nil) + (setf (oref ir active-region) nil) ;; Clear our fields. (mapc 'srecode-delete (oref ir fields)) ;; Call to our base (cl-call-next-method) ;; Clear our hook. - (remove-hook 'post-command-hook 'srecode-field-post-command t) - ) + (remove-hook 'post-command-hook 'srecode-field-post-command t)) (defsubst srecode-active-template-region () "Return the active region for template fields." @@ -311,9 +304,7 @@ srecode-overlaid-activate (overlay-put tail 'srecode field) (overlay-put tail 'keymap srecode-field-keymap) (overlay-put tail 'face 'srecode-field-face) - (oset field tail tail) - ) - ) + (setf (oref field tail) tail))) (cl-defmethod srecode-delete ((olaid srecode-field)) "Delete our secondary overlay." diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el index c28f7be03a..7fb0edc005 100644 --- a/lisp/cedet/srecode/insert.el +++ b/lisp/cedet/srecode/insert.el @@ -140,11 +140,10 @@ srecode-insert-fcn (set-buffer standard-output) (setq end-mark (point-marker)) (goto-char (oref-default 'srecode-template-inserter-point point))) - (oset-default 'srecode-template-inserter-point point eieio-unbound) + (setf (oref-default 'srecode-template-inserter-point point) eieio-unbound) ;; Return the end-mark. - (or end-mark (point))) - ) + (or end-mark (point)))) (defun srecode--insert-into-buffer (template dictionary) "Insert a TEMPLATE with DICTIONARY into a buffer. @@ -256,11 +255,11 @@ srecode-resolve-argument-list ;; (cl-defmethod srecode-push ((st srecode-template)) "Push the srecoder template ST onto the active stack." - (oset st active (cons st (oref st active)))) + (setf (oref st active) (cons st (oref st active)))) (cl-defmethod srecode-pop ((st srecode-template)) "Pop the srecoder template ST onto the active stack." - (oset st active (cdr (oref st active)))) + (setf (oref st active) (cdr (oref st active)))) (cl-defmethod srecode-peek ((st srecode-template)) "Fetch the topmost active template record." @@ -542,16 +541,14 @@ srecode-inserter-apply-state (while prompts (when (string= (semantic-tag-name (car prompts)) (oref ins object-name)) - (oset ins prompt + (setf (oref ins prompt) (semantic-tag-get-attribute (car prompts) :text)) - (oset ins defaultfcn + (setf (oref ins defaultfcn) (semantic-tag-get-attribute (car prompts) :default)) - (oset ins read-fcn + (setf (oref ins read-fcn) (or (semantic-tag-get-attribute (car prompts) :read) - 'read-string)) - ) - (setq prompts (cdr prompts))) - )) + 'read-string))) + (setq prompts (cdr prompts))))) (cl-defmethod srecode-insert-method ((sti srecode-template-inserter-ask) dictionary) @@ -771,8 +768,7 @@ srecode-insert-method (let ((over (cdr srecode-template-inserter-point-override)) (srecode-template-inserter-point-override nil)) (funcall over dictionary)) - (oset sti point (point-marker)) - )) + (setf (oref sti point) (point-marker)))) (defclass srecode-template-inserter-subtemplate (srecode-template-inserter) () @@ -857,11 +853,11 @@ srecode-parse-input Return the remains of INPUT." (let* ((out (srecode-compile-split-code tag input STATE (oref ins object-name)))) - (oset ins template (srecode-template - (eieio-object-name-string ins) - :context nil - :args nil - :code (cdr out))) + (setf (oref ins template) + (srecode-template (eieio-object-name-string ins) + :context nil + :args nil + :code (cdr out))) (car out))) (cl-defmethod srecode-dump ((ins srecode-template-inserter-section-start) indent) @@ -964,7 +960,7 @@ srecode-insert-include-lookup ) ;; Store the found template into this object for later use. - (oset sti includedtemplate tmpl)) + (setf (oref sti includedtemplate) tmpl)) (unless (oref sti includedtemplate) ;; @todo - Call into a debugger to help find the template in question. diff --git a/lisp/cedet/srecode/srt-mode.el b/lisp/cedet/srecode/srt-mode.el index 4c1e030fce..7097c54e08 100644 --- a/lisp/cedet/srecode/srt-mode.el +++ b/lisp/cedet/srecode/srt-mode.el @@ -541,7 +541,7 @@ semantic-analyze-current-context (scope (semantic-calculate-scope point)) ) - (oset scope fullscope (append (oref scope localvar) globalvar)) + (setf (oref scope fullscope) (append (oref scope localvar) globalvar)) (when prefix ;; First, try to find the variable for the first diff --git a/lisp/cedet/srecode/table.el b/lisp/cedet/srecode/table.el index 55093d655c..8e3fd634ac 100644 --- a/lisp/cedet/srecode/table.el +++ b/lisp/cedet/srecode/table.el @@ -149,12 +149,12 @@ srecode-get-mode-table ;; If this is the first, update tables to have ;; all the mode specific tables in it. (setq table tmptable) - (oset table tables (oref table modetables))) + (setf (oref table tables) (oref table modetables))) ;; If there already is a table, then reset the tables ;; slot to include all the tables belonging to this new child node. - (oset table tables (append (oref table modetables) - (oref tmptable modetables))))) - ) + (setf (oref table tables) + (append (oref table modetables) + (oref tmptable modetables)))))) table)) (defun srecode-make-mode-table (mode) diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el index 2321ac1ed5..f1c87c0b00 100644 --- a/lisp/emacs-lisp/chart.el +++ b/lisp/emacs-lisp/chart.el @@ -161,8 +161,8 @@ chart-new-buffer (cl-defmethod initialize-instance :after ((obj chart) &rest _fields) "Initialize the chart OBJ being created with FIELDS. Make sure the width/height is correct." - (oset obj x-width (- (window-width) 10)) - (oset obj y-width (- (window-height) 12))) + (setf (oref obj x-width) (- (window-width) 10)) + (setf (oref obj y-width) (- (window-height) 12))) (defclass chart-axis () ((name :initarg :name @@ -429,7 +429,7 @@ chart-add-sequence :name (oref seq name) :items labels :chart c)) - (oset axis items labels))) + (setf (oref axis items) labels))) (let ((range (cons 0 1)) (l (oref seq data))) (if (not axis) @@ -439,11 +439,12 @@ chart-add-sequence (dolist (x l) (if (< x (car range)) (setcar range x)) (if (> x (cdr range)) (setcdr range x))) - (oset axis bounds range))) - (if (eq axis-label 'x-axis) (oset axis loweredge nil)) - (eieio-oset c axis-label axis) - )) - (oset c sequences (append (oref c sequences) (list seq)))) + (setf (oref axis bounds) range))) + (when (eq axis-label 'x-axis) + (setf (oref axis loweredge) nil)) + (eieio-oset c axis-label axis))) + (setf (oref c sequences) + (append (oref c sequences) (list seq)))) ;;; Charting optimizers @@ -473,10 +474,8 @@ chart-sort (setq s (oref s2 data))) (error "Sorting of chart %s not supported" (eieio-object-name c)))) (if (eq (oref c direction) 'horizontal) - (oset (oref c y-axis) items s) - (oset (oref c x-axis) items s) - )) - ) + (setf (oref (oref c y-axis) items) s) + (setf (oref (oref c x-axis) items) s)))) (defun chart-sort-matchlist (namelst numlst pred) "Sort NAMELST and NUMLST (both sequence objects) based on predicate PRED. @@ -501,8 +500,8 @@ chart-sort-matchlist ulst (cons (cdr (car newlist)) ulst)) (setq newlist (cdr newlist))) ;; 4 - Store them back - (oset namelst data (reverse alst)) - (oset numlst data (reverse ulst)))) + (setf (oref namelst data) (reverse alst)) + (setf (oref numlst data) (reverse ulst)))) ;;; Utilities diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index 010a2b673e..722fef08f4 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el @@ -76,7 +76,7 @@ clone (slot-makeunbound nobj slot))) (when params (shared-initialize nobj params)) - (oset nobj parent-instance obj) + (setf (oref nobj parent-instance) obj) nobj)) (cl-defmethod eieio-instance-inheritor-slot-boundp ((object eieio-instance-inheritor) @@ -158,7 +158,7 @@ make-instance ;; with class allocated slots or default values. (let ((old (oref-default class singleton))) (if (eq old eieio-unbound) - (oset-default class singleton (cl-call-next-method)) + (setf (oref-default class singleton) (cl-call-next-method)) old))) @@ -213,11 +213,9 @@ eieio-persistent-save-interactive Query user for file name with PROMPT if THIS does not yet specify a file. Optional argument NAME specifies a default file name." (unless (slot-boundp this 'file) - (oset this file - (read-file-name prompt nil - (if name - (concat name (oref this extension)) - )))) + (setf (oref this file) + (let ((def (and name (concat name (oref this extension))))) + (read-file-name prompt nil def)))) (oref this file)) (defun eieio-persistent-read (filename &optional class allow-subclass) @@ -253,7 +251,7 @@ eieio-persistent-read "Invalid object: %s is not an object of class %s nor a subclass" (car ret) class)) (setq ret (eieio-persistent-convert-list-to-object ret)) - (oset ret file filename)) + (setf (oref ret file) filename)) (kill-buffer " *tmp eieio read*")) ret)) diff --git a/lisp/emacs-lisp/eieio-speedbar.el b/lisp/emacs-lisp/eieio-speedbar.el index 5c6e0e516d..de99a6a278 100644 --- a/lisp/emacs-lisp/eieio-speedbar.el +++ b/lisp/emacs-lisp/eieio-speedbar.el @@ -346,14 +346,14 @@ eieio-speedbar-object-expand TOKEN is the object. INDENT is the current indentation level." (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) - (oset token expanded t) + (setf (oref token expanded) t) (speedbar-with-writable (save-excursion (end-of-line) (forward-char 1) (eieio-speedbar-expand token (1+ indent))))) ((string-match "-" text) ;we have to contract this node (speedbar-change-expand-button-char ?+) - (oset token expanded nil) + (setf (oref token expanded) nil) (speedbar-delete-subblock indent)) (t (error "Ooops... not sure what to do"))) (speedbar-center-buffer-smartly)) diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index fe2b80be01..03aad4b21a 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -658,6 +658,7 @@ object-remove-from-list ;; common code between oref and oset, so as to reduce the redundant work done ;; in (push foo (oref bar baz)), like we do for the `nth' expander? (gv-define-simple-setter eieio-oref eieio-oset) +(gv-define-simple-setter eieio-oref-default eieio-oset-default) ;;; diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el index 6979da8482..610c4f8843 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el @@ -115,7 +115,7 @@ eieio-test-persist-simple-1 (persist-test-save-and-compare persist-simple-1) ;; When the slot w/out an initarg HAS been changed - (oset persist-simple-1 slot3 3) + (setf (oref persist-simple-1 slot3) 3) (persist-test-save-and-compare persist-simple-1) (delete-file (oref persist-simple-1 file)))) diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el b/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el index 34c20b2003..4830435c77 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el @@ -195,7 +195,7 @@ static-method-class-method "Test static methods. Argument C is the class bound to this static method." (if (eieio-object-p c) (setq c (eieio-object-class c))) - (oset-default c some-slot value)) + (setf (oref-default c some-slot) value)) (ert-deftest eieio-test-04-static-method () ;; Call static method on a class and see if it worked @@ -213,7 +213,8 @@ eieio-test-05-static-method-2 "Test static methods. Argument C is the class bound to this static method." (if (eieio-object-p c) (setq c (eieio-object-class c))) - (oset-default c some-slot (intern (concat "moose-" (symbol-name value))))) + (setf (oref-default c some-slot) + (intern (concat "moose-" (symbol-name value))))) (static-method-class-method 'static-method-class-2 'class) (should (eq (oref-default 'static-method-class-2 some-slot) 'moose-class)) @@ -309,8 +310,8 @@ eieio-test-10-multiple-inheritance (ert-deftest eieio-test-11-self () ;; Try the self referencing test - (should (oset eitest-a self eitest-a)) - (should (oset eitest-ab self eitest-ab))) + (should (setf (oref eitest-a self) eitest-a)) + (should (setf (oref eitest-ab self) eitest-ab))) (defvar class-fun-value-seq '()) @@ -348,15 +349,15 @@ eieio-test-13-init-methods (call-next-method) (if (/= (oref a test-tag) 1) (error "shared-initialize test failed.")) - (oset a test-tag 2)) + (setf (oref a test-tag) 2)) (defmethod shared-initialize ((a class-a) &rest slots) "Shared initialize method for class-a." (call-next-method) - (oset a test-tag 1)) + (setf (oref a test-tag) 1)) (let ((ca (class-a))) - (should-not (/= (oref ca test-tag) 2)))) + (should (= (oref ca test-tag) 2)))) ;;; Perform slot testing @@ -409,11 +410,11 @@ eieio-test-17-virtual-slot (should (= (oref eitest-vsca base-value) 1)) (should (= (oref eitest-vsca :derived-value) 2)) - (oset eitest-vsca derived-value 3) + (setf (oref eitest-vsca derived-value) 3) (should (= (oref eitest-vsca base-value) 2)) (should (= (oref eitest-vsca :derived-value) 3)) - (oset eitest-vsca base-value 3) + (setf (oref eitest-vsca base-value) 3) (should (= (oref eitest-vsca base-value) 3)) (should (= (oref eitest-vsca :derived-value) 4)) @@ -432,19 +433,19 @@ eieio-test-18-slot-unbound (should (eq (oref eitest-a water) 'moose)) ;; Check if oset of unbound works - (oset eitest-a water 'moose) + (setf (oref eitest-a water) 'moose) (should (eq (oref eitest-a water) 'moose)) ;; oref/oref-default comparison (should-not (eq (oref eitest-a water) (oref-default eitest-a water))) ;; oset-default -> oref/oref-default comparison - (oset-default (eieio-object-class eitest-a) water 'moose) + (setf (oref-default (eieio-object-class eitest-a) water) 'moose) (should (eq (oref eitest-a water) (oref-default eitest-a water))) ;; After setting 'water to 'moose, make sure a new object has ;; the right stuff. - (oset-default (eieio-object-class eitest-a) water 'penguin) + (setf (oref-default (eieio-object-class eitest-a) water) 'penguin) (should (eq (oref (class-a) water) 'penguin)) ;; Revert the above @@ -457,9 +458,12 @@ eieio-test-18-slot-unbound (ert-deftest eieio-test-19-slot-type-checking () ;; Slot type checking ;; We should not be able to set a string here - (should-error (oset eitest-ab water "a string, not a symbol") :type 'invalid-slot-type) - (should-error (oset eitest-ab classslot "a string, not a symbol") :type 'invalid-slot-type) - (should-error (class-a :water "a string not a symbol") :type 'invalid-slot-type)) + (should-error (setf (oref eitest-ab water) "a string, not a symbol") + :type 'invalid-slot-type) + (should-error (setf (oref eitest-ab classslot) "a string, not a symbol") + :type 'invalid-slot-type) + (should-error (class-a :water "a string not a symbol") + :type 'invalid-slot-type)) (ert-deftest eieio-test-20-class-allocated-slots () ;; Test out class allocated slots @@ -468,7 +472,7 @@ eieio-test-20-class-allocated-slots ;; Make sure class slots do not track between objects (let ((newval 'moose)) - (oset eitest-aa classslot newval) + (setf (oref eitest-aa classslot) newval) (should (eq (oref eitest-a classslot) newval)) (should (eq (oref eitest-aa classslot) newval))) @@ -690,11 +694,11 @@ eitest-II2 (defvar eitest-II3 nil) (ert-deftest eieio-test-29-instance-inheritor () (setq eitest-II1 (II)) - (oset eitest-II1 slot2 'cat) + (setf (oref eitest-II1 slot2) 'cat) (setq eitest-II2 (clone eitest-II1 "eitest-II2 Test.")) - (oset eitest-II2 slot1 'moose) + (setf (oref eitest-II2 slot1) 'moose) (setq eitest-II3 (clone eitest-II2 "eitest-II3 Test.")) - (oset eitest-II3 slot3 'penguin) + (setf (oref eitest-II3 slot3) 'penguin) ;; Test that slots are non-initialized slots are unbounded (oref eitest-II2 slot1) @@ -881,7 +885,7 @@ eieio-test-35-named-object (should (setq N (NAMED :object-name "Foo"))) (should (string= "Foo" (oref N object-name))) (should-error (oref N missing-slot) :type 'invalid-slot-name) - (oset N object-name "NewName") + (setf (oref N object-name) "NewName") (should (string= "NewName" (oref N object-name))))) (defclass opt-test1 () -- 2.26.2