diff options
| author | Stefan Monnier | 2025-04-07 00:58:32 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2025-04-07 00:58:32 -0400 |
| commit | fb5da5035a4975172e35680f78bd9d70a0124ead (patch) | |
| tree | eceb20098f19998051560fbb4008df11ed893cc4 | |
| parent | 94148549d782af3fb6677bc121fd5fc8dee3ea63 (diff) | |
| parent | 31c5fd3bfba31687de31e1e4c3d3501401f023bc (diff) | |
| download | emacs-fb5da5035a4975172e35680f78bd9d70a0124ead.tar.gz emacs-fb5da5035a4975172e35680f78bd9d70a0124ead.zip | |
Merge branch 'cedet-object-name'
33 files changed, 92 insertions, 95 deletions
diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el index e68a3e9129e..50f80288288 100644 --- a/lisp/auth-source-pass.el +++ b/lisp/auth-source-pass.el | |||
| @@ -149,7 +149,6 @@ HOSTS can be a string or a list of strings." | |||
| 149 | 149 | ||
| 150 | (defvar auth-source-pass-backend | 150 | (defvar auth-source-pass-backend |
| 151 | (auth-source-backend | 151 | (auth-source-backend |
| 152 | (when (<= emacs-major-version 25) "password-store") | ||
| 153 | :source "." ;; not used | 152 | :source "." ;; not used |
| 154 | :type 'password-store | 153 | :type 'password-store |
| 155 | :search-function #'auth-source-pass-search) | 154 | :search-function #'auth-source-pass-search) |
diff --git a/lisp/cedet/ede/base.el b/lisp/cedet/ede/base.el index 4e27cd0cb69..599b855991d 100644 --- a/lisp/cedet/ede/base.el +++ b/lisp/cedet/ede/base.el | |||
| @@ -627,14 +627,14 @@ instead of the current project." | |||
| 627 | "Fills :directory or :file slots if they're missing in project THIS. | 627 | "Fills :directory or :file slots if they're missing in project THIS. |
| 628 | The other slot will be used to calculate values. | 628 | The other slot will be used to calculate values. |
| 629 | PROJECT-FILE-NAME is a name of project file (short name, like `pom.xml', etc." | 629 | PROJECT-FILE-NAME is a name of project file (short name, like `pom.xml', etc." |
| 630 | (when (and (or (not (slot-boundp this :file)) | 630 | (when (and (not (and (slot-boundp this 'file) |
| 631 | (not (oref this file))) | 631 | (oref this file))) |
| 632 | (slot-boundp this :directory) | 632 | (slot-boundp this 'directory) |
| 633 | (oref this directory)) | 633 | (oref this directory)) |
| 634 | (oset this file (expand-file-name project-file-name (oref this directory)))) | 634 | (oset this file (expand-file-name project-file-name (oref this directory)))) |
| 635 | (when (and (or (not (slot-boundp this :directory)) | 635 | (when (and (not (and (slot-boundp this 'directory) |
| 636 | (not (oref this directory))) | 636 | (oref this directory))) |
| 637 | (slot-boundp this :file) | 637 | (slot-boundp this 'file) |
| 638 | (oref this file)) | 638 | (oref this file)) |
| 639 | (oset this directory (file-name-directory (oref this file)))) | 639 | (oset this directory (file-name-directory (oref this file)))) |
| 640 | ) | 640 | ) |
diff --git a/lisp/cedet/ede/config.el b/lisp/cedet/ede/config.el index 89e83386879..fb21baf2985 100644 --- a/lisp/cedet/ede/config.el +++ b/lisp/cedet/ede/config.el | |||
| @@ -154,14 +154,9 @@ the directory isn't on the `safe' list, ask to add it to the safe list." | |||
| 154 | (when (file-exists-p fname) | 154 | (when (file-exists-p fname) |
| 155 | (message "Ignoring EDE config file for now and creating a new one. Use C-c . g to load it.") | 155 | (message "Ignoring EDE config file for now and creating a new one. Use C-c . g to load it.") |
| 156 | ;; Set how it was ignored. | 156 | ;; Set how it was ignored. |
| 157 | (if loadask | 157 | (setq ignore-type (if loadask 'manual 'auto))) |
| 158 | (setq ignore-type 'manual) | ||
| 159 | (setq ignore-type 'auto)) | ||
| 160 | ) | ||
| 161 | ;; Create a new one. | 158 | ;; Create a new one. |
| 162 | (setq config (make-instance class | 159 | (setq config (make-instance class :file fname)) |
| 163 | "Configuration" | ||
| 164 | :file fname)) | ||
| 165 | (oset config ignored-file ignore-type) | 160 | (oset config ignored-file ignore-type) |
| 166 | 161 | ||
| 167 | ;; Set initial values based on project. | 162 | ;; Set initial values based on project. |
diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el index a43bd2f6f2a..4616d196716 100644 --- a/lisp/cedet/ede/cpp-root.el +++ b/lisp/cedet/ede/cpp-root.el | |||
| @@ -327,7 +327,7 @@ If one doesn't exist, create a new one for this directory." | |||
| 327 | (ans (object-assoc dir :path targets)) | 327 | (ans (object-assoc dir :path targets)) |
| 328 | ) | 328 | ) |
| 329 | (when (not ans) | 329 | (when (not ans) |
| 330 | (setq ans (ede-cpp-root-target dir | 330 | (setq ans (ede-cpp-root-target |
| 331 | :name (file-name-nondirectory | 331 | :name (file-name-nondirectory |
| 332 | (directory-file-name dir)) | 332 | (directory-file-name dir)) |
| 333 | :path dir | 333 | :path dir |
diff --git a/lisp/cedet/ede/emacs.el b/lisp/cedet/ede/emacs.el index c51968ebb8c..ca91a7e4ffb 100644 --- a/lisp/cedet/ede/emacs.el +++ b/lisp/cedet/ede/emacs.el | |||
| @@ -118,7 +118,7 @@ All directories need at least one target.") | |||
| 118 | "Make sure the targets slot is bound." | 118 | "Make sure the targets slot is bound." |
| 119 | (cl-call-next-method) | 119 | (cl-call-next-method) |
| 120 | (unless (slot-boundp this 'targets) | 120 | (unless (slot-boundp this 'targets) |
| 121 | (oset this :targets nil))) | 121 | (oset this targets nil))) |
| 122 | 122 | ||
| 123 | ;;; File Stuff | 123 | ;;; File Stuff |
| 124 | ;; | 124 | ;; |
diff --git a/lisp/cedet/ede/generic.el b/lisp/cedet/ede/generic.el index 162f37f9373..7c6e2ec715f 100644 --- a/lisp/cedet/ede/generic.el +++ b/lisp/cedet/ede/generic.el | |||
| @@ -153,7 +153,7 @@ The class allocated value is replace by different sub classes.") | |||
| 153 | "Make sure the targets slot is bound." | 153 | "Make sure the targets slot is bound." |
| 154 | (cl-call-next-method) | 154 | (cl-call-next-method) |
| 155 | (unless (slot-boundp this 'targets) | 155 | (unless (slot-boundp this 'targets) |
| 156 | (oset this :targets nil)) | 156 | (oset this targets nil)) |
| 157 | ) | 157 | ) |
| 158 | 158 | ||
| 159 | (cl-defmethod ede-project-root ((this ede-generic-project)) | 159 | (cl-defmethod ede-project-root ((this ede-generic-project)) |
diff --git a/lisp/cedet/ede/linux.el b/lisp/cedet/ede/linux.el index d42f91c7500..34296972ddd 100644 --- a/lisp/cedet/ede/linux.el +++ b/lisp/cedet/ede/linux.el | |||
| @@ -227,7 +227,7 @@ All directories need at least one target.") | |||
| 227 | "Make sure the targets slot is bound." | 227 | "Make sure the targets slot is bound." |
| 228 | (cl-call-next-method) | 228 | (cl-call-next-method) |
| 229 | (unless (slot-boundp this 'targets) | 229 | (unless (slot-boundp this 'targets) |
| 230 | (oset this :targets nil))) | 230 | (oset this targets nil))) |
| 231 | 231 | ||
| 232 | ;;; File Stuff | 232 | ;;; File Stuff |
| 233 | ;; | 233 | ;; |
| @@ -377,9 +377,9 @@ Argument COMMAND is the command to use for compiling the target." | |||
| 377 | (inc (ede-linux--include-path dir bdir arch)) | 377 | (inc (ede-linux--include-path dir bdir arch)) |
| 378 | (ver (ede-linux-version dir))) | 378 | (ver (ede-linux-version dir))) |
| 379 | (oset this version ver) | 379 | (oset this version ver) |
| 380 | (oset this :build-directory bdir) | 380 | (oset this build-directory bdir) |
| 381 | (oset this :architecture arch) | 381 | (oset this architecture arch) |
| 382 | (oset this :include-path inc) | 382 | (oset this include-path inc) |
| 383 | )) | 383 | )) |
| 384 | 384 | ||
| 385 | (provide 'ede/linux) | 385 | (provide 'ede/linux) |
diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el index bad8952ec60..1651b4d3ad3 100644 --- a/lisp/cedet/ede/locate.el +++ b/lisp/cedet/ede/locate.el | |||
| @@ -89,7 +89,7 @@ based on `ede-locate-setup-options'." | |||
| 89 | (when (called-interactively-p 'interactive) | 89 | (when (called-interactively-p 'interactive) |
| 90 | (message "Setting locator to ede-locate-base")) | 90 | (message "Setting locator to ede-locate-base")) |
| 91 | (setq ans 'ede-locate-base)) | 91 | (setq ans 'ede-locate-base)) |
| 92 | (oset proj locate-obj (make-instance ans "Loc" :root root)) | 92 | (oset proj locate-obj (make-instance ans :root root)) |
| 93 | (when (called-interactively-p 'interactive) | 93 | (when (called-interactively-p 'interactive) |
| 94 | (message "Setting locator to %s" ans)) | 94 | (message "Setting locator to %s" ans)) |
| 95 | )) | 95 | )) |
diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el index f45cf1b8616..e66751ba9b1 100644 --- a/lisp/cedet/ede/project-am.el +++ b/lisp/cedet/ede/project-am.el | |||
| @@ -480,7 +480,7 @@ This is used when subprojects are made in named subdirectories." | |||
| 480 | (bug (nth 2 pi)) | 480 | (bug (nth 2 pi)) |
| 481 | (cof (nth 3 pi)) | 481 | (cof (nth 3 pi)) |
| 482 | (ampf (project-am-makefile | 482 | (ampf (project-am-makefile |
| 483 | pn :name pn | 483 | :name pn |
| 484 | :version ver | 484 | :version ver |
| 485 | :mailinglist (or bug "") | 485 | :mailinglist (or bug "") |
| 486 | :file fn))) | 486 | :file fn))) |
diff --git a/lisp/cedet/ede/simple.el b/lisp/cedet/ede/simple.el index f1f61c50421..3f7a359a445 100644 --- a/lisp/cedet/ede/simple.el +++ b/lisp/cedet/ede/simple.el | |||
| @@ -86,7 +86,7 @@ ROOTPROJ is nil, since we will only create a single EDE project here." | |||
| 86 | (obj nil)) | 86 | (obj nil)) |
| 87 | (when pf | 87 | (when pf |
| 88 | (setq obj (eieio-persistent-read pf)) | 88 | (setq obj (eieio-persistent-read pf)) |
| 89 | (oset obj :directory dir) | 89 | (oset obj directory dir) |
| 90 | ) | 90 | ) |
| 91 | obj)) | 91 | obj)) |
| 92 | 92 | ||
diff --git a/lisp/cedet/semantic/analyze/refs.el b/lisp/cedet/semantic/analyze/refs.el index 45e74c2b27a..3d3dfdc7975 100644 --- a/lisp/cedet/semantic/analyze/refs.el +++ b/lisp/cedet/semantic/analyze/refs.el | |||
| @@ -89,8 +89,7 @@ Use `semantic-analyze-current-tag' to debug this fcn." | |||
| 89 | 89 | ||
| 90 | (setq allhits (semantic--analyze-refs-full-lookup tag scope t)) | 90 | (setq allhits (semantic--analyze-refs-full-lookup tag scope t)) |
| 91 | 91 | ||
| 92 | (semantic-analyze-references (semantic-tag-name tag) | 92 | (semantic-analyze-references :tag tag |
| 93 | :tag tag | ||
| 94 | :tagdb db | 93 | :tagdb db |
| 95 | :scope scope | 94 | :scope scope |
| 96 | :rawsearchdata allhits) | 95 | :rawsearchdata allhits) |
diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index 81639b98176..659e30a45d9 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el | |||
| @@ -1256,8 +1256,7 @@ Use `semantic-analyze-current-tag' to debug this fcn." | |||
| 1256 | (setq allhits (semantic--analyze-refs-full-lookup tag scope t))) | 1256 | (setq allhits (semantic--analyze-refs-full-lookup tag scope t))) |
| 1257 | 1257 | ||
| 1258 | ;; (setq refs | 1258 | ;; (setq refs |
| 1259 | (semantic-analyze-references (semantic-tag-name tag) | 1259 | (semantic-analyze-references :tag tag |
| 1260 | :tag tag | ||
| 1261 | :tagdb db | 1260 | :tagdb db |
| 1262 | :scope scope | 1261 | :scope scope |
| 1263 | :rawsearchdata allhits)))) ;;) | 1262 | :rawsearchdata allhits)))) ;;) |
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el index 736025e1d54..e0d16d6fbce 100644 --- a/lisp/cedet/semantic/complete.el +++ b/lisp/cedet/semantic/complete.el | |||
| @@ -1899,7 +1899,7 @@ completion text in ghost text." | |||
| 1899 | (mapcar | 1899 | (mapcar |
| 1900 | (lambda (class) | 1900 | (lambda (class) |
| 1901 | (let* ((C (intern (car class))) | 1901 | (let* ((C (intern (car class))) |
| 1902 | (doc (documentation-property C 'variable-documentation)) | 1902 | (doc (cl--class-docstring (cl--find-class C))) |
| 1903 | (doc1 (car (split-string doc "\n"))) | 1903 | (doc1 (car (split-string doc "\n"))) |
| 1904 | ) | 1904 | ) |
| 1905 | (list 'const | 1905 | (list 'const |
| @@ -1930,7 +1930,7 @@ DEFAULT-TAG is a semantic tag or string to use as the default value. | |||
| 1930 | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. | 1930 | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. |
| 1931 | HISTORY is a symbol representing a variable to store the history in." | 1931 | HISTORY is a symbol representing a variable to store the history in." |
| 1932 | (semantic-complete-read-tag-engine | 1932 | (semantic-complete-read-tag-engine |
| 1933 | (semantic-collector-buffer-deep prompt :buffer (current-buffer)) | 1933 | (semantic-collector-buffer-deep :buffer (current-buffer)) |
| 1934 | (semantic-displayer-traditional-with-focus-highlight) | 1934 | (semantic-displayer-traditional-with-focus-highlight) |
| 1935 | ;;(semantic-displayer-tooltip) | 1935 | ;;(semantic-displayer-tooltip) |
| 1936 | prompt | 1936 | prompt |
| @@ -1952,7 +1952,7 @@ DEFAULT-TAG is a semantic tag or string to use as the default value. | |||
| 1952 | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. | 1952 | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. |
| 1953 | HISTORY is a symbol representing a variable to store the history in." | 1953 | HISTORY is a symbol representing a variable to store the history in." |
| 1954 | (semantic-complete-read-tag-engine | 1954 | (semantic-complete-read-tag-engine |
| 1955 | (semantic-collector-local-members prompt :buffer (current-buffer)) | 1955 | (semantic-collector-local-members :buffer (current-buffer)) |
| 1956 | (semantic-displayer-traditional-with-focus-highlight) | 1956 | (semantic-displayer-traditional-with-focus-highlight) |
| 1957 | ;;(semantic-displayer-tooltip) | 1957 | ;;(semantic-displayer-tooltip) |
| 1958 | prompt | 1958 | prompt |
| @@ -1974,8 +1974,7 @@ DEFAULT-TAG is a semantic tag or string to use as the default value. | |||
| 1974 | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. | 1974 | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. |
| 1975 | HISTORY is a symbol representing a variable to store the history in." | 1975 | HISTORY is a symbol representing a variable to store the history in." |
| 1976 | (semantic-complete-read-tag-engine | 1976 | (semantic-complete-read-tag-engine |
| 1977 | (semantic-collector-project-brutish prompt | 1977 | (semantic-collector-project-brutish :buffer (current-buffer) |
| 1978 | :buffer (current-buffer) | ||
| 1979 | :path (current-buffer) | 1978 | :path (current-buffer) |
| 1980 | ) | 1979 | ) |
| 1981 | (semantic-displayer-traditional-with-focus-highlight) | 1980 | (semantic-displayer-traditional-with-focus-highlight) |
| @@ -2049,7 +2048,6 @@ prompts. these are calculated from the CONTEXT variable passed in." | |||
| 2049 | (setq syms (nreverse (cdr (nreverse syms)))) | 2048 | (setq syms (nreverse (cdr (nreverse syms)))) |
| 2050 | (semantic-complete-read-tag-engine | 2049 | (semantic-complete-read-tag-engine |
| 2051 | (semantic-collector-analyze-completions | 2050 | (semantic-collector-analyze-completions |
| 2052 | prompt | ||
| 2053 | :buffer (oref context buffer) | 2051 | :buffer (oref context buffer) |
| 2054 | :context context) | 2052 | :context context) |
| 2055 | (semantic-displayer-traditional-with-focus-highlight) | 2053 | (semantic-displayer-traditional-with-focus-highlight) |
diff --git a/lisp/cedet/semantic/db-ebrowse.el b/lisp/cedet/semantic/db-ebrowse.el index 3e34f4a1ea1..51e52afa64a 100644 --- a/lisp/cedet/semantic/db-ebrowse.el +++ b/lisp/cedet/semantic/db-ebrowse.el | |||
| @@ -309,11 +309,7 @@ If there is no database for DIRECTORY available, then | |||
| 309 | ) | 309 | ) |
| 310 | (if found | 310 | (if found |
| 311 | (setq db found) | 311 | (setq db found) |
| 312 | (setq db (make-instance | 312 | (setq db (make-instance dbeC :ebrowse-struct ebd)) |
| 313 | dbeC | ||
| 314 | directory | ||
| 315 | :ebrowse-struct ebd | ||
| 316 | )) | ||
| 317 | (oset db reference-directory directory)) | 313 | (oset db reference-directory directory)) |
| 318 | 314 | ||
| 319 | ;; Once we recycle or make a new DB, refresh the | 315 | ;; Once we recycle or make a new DB, refresh the |
diff --git a/lisp/cedet/semantic/db-file.el b/lisp/cedet/semantic/db-file.el index f15e6e69cb0..3edbc4a2fcd 100644 --- a/lisp/cedet/semantic/db-file.el +++ b/lisp/cedet/semantic/db-file.el | |||
| @@ -138,10 +138,6 @@ If DIRECTORY doesn't exist, create a new one." | |||
| 138 | (unless db | 138 | (unless db |
| 139 | (setq db (make-instance | 139 | (setq db (make-instance |
| 140 | dbc ; Create the database requested. Perhaps | 140 | dbc ; Create the database requested. Perhaps |
| 141 | (concat (file-name-nondirectory | ||
| 142 | (directory-file-name | ||
| 143 | directory)) | ||
| 144 | "/") | ||
| 145 | :file fn :tables nil | 141 | :file fn :tables nil |
| 146 | :semantic-tag-version semantic-tag-version | 142 | :semantic-tag-version semantic-tag-version |
| 147 | :semanticdb-version semanticdb-file-version))) | 143 | :semanticdb-version semanticdb-file-version))) |
diff --git a/lisp/cedet/semantic/db-typecache.el b/lisp/cedet/semantic/db-typecache.el index 62eb72af08f..92ddb65ef68 100644 --- a/lisp/cedet/semantic/db-typecache.el +++ b/lisp/cedet/semantic/db-typecache.el | |||
| @@ -136,7 +136,7 @@ If there is no table, create one, and fill it in." | |||
| 136 | ;; Make sure we have a cache object in the DB index. | 136 | ;; Make sure we have a cache object in the DB index. |
| 137 | (when (not cache) | 137 | (when (not cache) |
| 138 | ;; The object won't change as we fill it with stuff. | 138 | ;; The object won't change as we fill it with stuff. |
| 139 | (setq cache (semanticdb-typecache (semanticdb-full-filename table))) | 139 | (setq cache (semanticdb-typecache)) |
| 140 | (oset idx type-cache cache)) | 140 | (oset idx type-cache cache)) |
| 141 | 141 | ||
| 142 | cache)) | 142 | cache)) |
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el index ffbb3431a81..375e43f2561 100644 --- a/lisp/cedet/semantic/db.el +++ b/lisp/cedet/semantic/db.el | |||
| @@ -188,7 +188,6 @@ If one doesn't exist, create it." | |||
| 188 | (oref obj index) | 188 | (oref obj index) |
| 189 | (let ((idx nil)) | 189 | (let ((idx nil)) |
| 190 | (setq idx (funcall semanticdb-default-find-index-class | 190 | (setq idx (funcall semanticdb-default-find-index-class |
| 191 | (concat (eieio-object-name obj) " index") | ||
| 192 | ;; Fill in the defaults | 191 | ;; Fill in the defaults |
| 193 | :table obj | 192 | :table obj |
| 194 | )) | 193 | )) |
| @@ -413,7 +412,6 @@ If the table for FILE does not exist, create one." | |||
| 413 | ;; This implementation will satisfy autoloaded classes | 412 | ;; This implementation will satisfy autoloaded classes |
| 414 | ;; for tables. | 413 | ;; for tables. |
| 415 | (setq newtab (funcall (oref db new-table-class) | 414 | (setq newtab (funcall (oref db new-table-class) |
| 416 | (file-name-nondirectory file) | ||
| 417 | :file (file-name-nondirectory file) | 415 | :file (file-name-nondirectory file) |
| 418 | )) | 416 | )) |
| 419 | (setf (slot-value newtab 'parent-db) db) | 417 | (setf (slot-value newtab 'parent-db) db) |
| @@ -486,7 +484,7 @@ other than :table." | |||
| 486 | (if obj | 484 | (if obj |
| 487 | obj ;; Just return it. | 485 | obj ;; Just return it. |
| 488 | ;; No object, let's create a new one and return that. | 486 | ;; No object, let's create a new one and return that. |
| 489 | (setq obj (funcall desired-class "Cache" :table table)) | 487 | (setq obj (make-instance desired-class :table table)) |
| 490 | (object-add-to-list table 'cache obj) | 488 | (object-add-to-list table 'cache obj) |
| 491 | obj))) | 489 | obj))) |
| 492 | 490 | ||
diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el index edb8e091a2a..edb2fe414e6 100644 --- a/lisp/cedet/semantic/mru-bookmark.el +++ b/lisp/cedet/semantic/mru-bookmark.el | |||
| @@ -197,7 +197,7 @@ The resulting bookmark is then sorted within the ring." | |||
| 197 | (ring-remove ring idx)) | 197 | (ring-remove ring idx)) |
| 198 | (setq idx (1+ idx))) | 198 | (setq idx (1+ idx))) |
| 199 | ;; Create a new mark | 199 | ;; Create a new mark |
| 200 | (let ((sbm (semantic-bookmark (semantic-tag-name tag) | 200 | (let ((sbm (semantic-bookmark :object-name (semantic-tag-name tag) |
| 201 | :tag tag))) | 201 | :tag tag))) |
| 202 | ;; Take the mark, and update it for the current state. | 202 | ;; Take the mark, and update it for the current state. |
| 203 | (ring-insert ring sbm) | 203 | (ring-insert ring sbm) |
diff --git a/lisp/cedet/srecode/compile.el b/lisp/cedet/srecode/compile.el index 08082b9ecc1..95e86c63a90 100644 --- a/lisp/cedet/srecode/compile.el +++ b/lisp/cedet/srecode/compile.el | |||
| @@ -199,8 +199,7 @@ STATE is the current compilation state." | |||
| 199 | (tag nil) | 199 | (tag nil) |
| 200 | (class nil) | 200 | (class nil) |
| 201 | (table nil) | 201 | (table nil) |
| 202 | (STATE (srecode-compile-state (file-name-nondirectory | 202 | (STATE (srecode-compile-state)) |
| 203 | (buffer-file-name)))) | ||
| 204 | (mode nil) | 203 | (mode nil) |
| 205 | (application nil) | 204 | (application nil) |
| 206 | (framework nil) | 205 | (framework nil) |
| @@ -263,7 +262,7 @@ STATE is the current compilation state." | |||
| 263 | ;; Create a compound dictionary value from "value". | 262 | ;; Create a compound dictionary value from "value". |
| 264 | (require 'srecode/dictionary) | 263 | (require 'srecode/dictionary) |
| 265 | (let ((cv (srecode-dictionary-compound-variable | 264 | (let ((cv (srecode-dictionary-compound-variable |
| 266 | name :value value))) | 265 | :value value))) |
| 267 | (setq vars (cons (cons name cv) vars))) | 266 | (setq vars (cons (cons name cv) vars))) |
| 268 | )) | 267 | )) |
| 269 | ) | 268 | ) |
| @@ -361,7 +360,7 @@ STATE is the current compile state as an object of class | |||
| 361 | :where 'end))))))) | 360 | :where 'end))))))) |
| 362 | 361 | ||
| 363 | ;; Construct and return the template object. | 362 | ;; Construct and return the template object. |
| 364 | (srecode-template (semantic-tag-name tag) | 363 | (srecode-template :object-name (semantic-tag-name tag) |
| 365 | :context context | 364 | :context context |
| 366 | :args (nreverse addargs) | 365 | :args (nreverse addargs) |
| 367 | :dictionary root-dict | 366 | :dictionary root-dict |
| @@ -504,7 +503,8 @@ PROPS are additional properties that might need to be passed | |||
| 504 | to the inserter constructor." | 503 | to the inserter constructor." |
| 505 | ;;(message "Compile: %s %S" name props) | 504 | ;;(message "Compile: %s %S" name props) |
| 506 | (if (not key) | 505 | (if (not key) |
| 507 | (apply #'make-instance 'srecode-template-inserter-variable name props) | 506 | (apply #'make-instance 'srecode-template-inserter-variable |
| 507 | :object-name name props) | ||
| 508 | (let ((classes (eieio-class-children 'srecode-template-inserter)) | 508 | (let ((classes (eieio-class-children 'srecode-template-inserter)) |
| 509 | (new nil)) | 509 | (new nil)) |
| 510 | ;; Loop over the various subclasses and | 510 | ;; Loop over the various subclasses and |
| @@ -515,7 +515,8 @@ to the inserter constructor." | |||
| 515 | (when (and (not (class-abstract-p (car classes))) | 515 | (when (and (not (class-abstract-p (car classes))) |
| 516 | (equal (oref-default (car classes) key) key)) | 516 | (equal (oref-default (car classes) key) key)) |
| 517 | ;; Create the new class, and apply state. | 517 | ;; Create the new class, and apply state. |
| 518 | (setq new (apply #'make-instance (car classes) name props)) | 518 | (setq new (apply #'make-instance (car classes) |
| 519 | :object-name name props)) | ||
| 519 | (srecode-inserter-apply-state new STATE) | 520 | (srecode-inserter-apply-state new STATE) |
| 520 | ) | 521 | ) |
| 521 | (setq classes (cdr classes))) | 522 | (setq classes (cdr classes))) |
| @@ -589,7 +590,7 @@ A list of defined variables VARS provides a variable table." | |||
| 589 | (cl-defmethod srecode-dump ((tmp srecode-template)) | 590 | (cl-defmethod srecode-dump ((tmp srecode-template)) |
| 590 | "Dump the contents of the SRecode template tmp." | 591 | "Dump the contents of the SRecode template tmp." |
| 591 | (princ "== Template \"") | 592 | (princ "== Template \"") |
| 592 | (princ (eieio-object-name-string tmp)) | 593 | (princ (slot-value tmp 'object-name)) |
| 593 | (princ "\" in context ") | 594 | (princ "\" in context ") |
| 594 | (princ (oref tmp context)) | 595 | (princ (oref tmp context)) |
| 595 | (princ "\n") | 596 | (princ "\n") |
| @@ -635,7 +636,7 @@ Argument INDENT specifies the indentation level for the list." | |||
| 635 | (cl-defmethod srecode-dump ((ins srecode-template-inserter) _indent) | 636 | (cl-defmethod srecode-dump ((ins srecode-template-inserter) _indent) |
| 636 | "Dump the state of the SRecode template inserter INS." | 637 | "Dump the state of the SRecode template inserter INS." |
| 637 | (princ "INS: \"") | 638 | (princ "INS: \"") |
| 638 | (princ (eieio-object-name-string ins)) | 639 | (princ (slot-value ins 'object-name)) |
| 639 | (when (oref ins secondname) | 640 | (when (oref ins secondname) |
| 640 | (princ "\" : \"") | 641 | (princ "\" : \"") |
| 641 | (princ (oref ins secondname))) | 642 | (princ (oref ins secondname))) |
diff --git a/lisp/cedet/srecode/cpp.el b/lisp/cedet/srecode/cpp.el index d49ccde24fa..63613969191 100644 --- a/lisp/cedet/srecode/cpp.el +++ b/lisp/cedet/srecode/cpp.el | |||
| @@ -146,8 +146,7 @@ specified in a C file." | |||
| 146 | (value-dict (srecode-dictionary-add-section-dictionary | 146 | (value-dict (srecode-dictionary-add-section-dictionary |
| 147 | dict "VALUE"))) | 147 | dict "VALUE"))) |
| 148 | (srecode-semantic-apply-tag-to-dict | 148 | (srecode-semantic-apply-tag-to-dict |
| 149 | (srecode-semantic-tag (semantic-tag-name value-tag) | 149 | (srecode-semantic-tag :prime value-tag) |
| 150 | :prime value-tag) | ||
| 151 | value-dict)) | 150 | value-dict)) |
| 152 | 151 | ||
| 153 | ;; Discriminate using statements referring to namespaces and | 152 | ;; Discriminate using statements referring to namespaces and |
| @@ -224,8 +223,7 @@ specified in a C file." | |||
| 224 | (let ((template-dict (srecode-dictionary-add-section-dictionary | 223 | (let ((template-dict (srecode-dictionary-add-section-dictionary |
| 225 | templates-dict "ARGS"))) | 224 | templates-dict "ARGS"))) |
| 226 | (srecode-semantic-apply-tag-to-dict | 225 | (srecode-semantic-apply-tag-to-dict |
| 227 | (srecode-semantic-tag (semantic-tag-name template) | 226 | (srecode-semantic-tag :prime template) |
| 228 | :prime template) | ||
| 229 | template-dict))))) | 227 | template-dict))))) |
| 230 | ) | 228 | ) |
| 231 | 229 | ||
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el index 2fbed835bdd..bac3b7c48d3 100644 --- a/lisp/cedet/srecode/dictionary.el +++ b/lisp/cedet/srecode/dictionary.el | |||
| @@ -369,7 +369,7 @@ values but STATE is nil." | |||
| 369 | (srecode-dictionary-set-value | 369 | (srecode-dictionary-set-value |
| 370 | dict name | 370 | dict name |
| 371 | (srecode-dictionary-compound-variable | 371 | (srecode-dictionary-compound-variable |
| 372 | name :value value :state state))))) | 372 | :value value :state state))))) |
| 373 | (setq entries (nthcdr 2 entries))) | 373 | (setq entries (nthcdr 2 entries))) |
| 374 | dict) | 374 | dict) |
| 375 | 375 | ||
| @@ -536,7 +536,7 @@ inserted with a new editable field.") | |||
| 536 | (error "Unknown default value for value %S" name))) | 536 | (error "Unknown default value for value %S" name))) |
| 537 | 537 | ||
| 538 | ;; Create a field from the inserter. | 538 | ;; Create a field from the inserter. |
| 539 | (srecode-field name :name name | 539 | (srecode-field :name name |
| 540 | :start start | 540 | :start start |
| 541 | :end (point) | 541 | :end (point) |
| 542 | :prompt (oref sti prompt) | 542 | :prompt (oref sti prompt) |
diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el index 2e70469fa39..3b4da876a2c 100644 --- a/lisp/cedet/srecode/insert.el +++ b/lisp/cedet/srecode/insert.el | |||
| @@ -648,8 +648,7 @@ Use DICTIONARY to resolve values." | |||
| 648 | Use DICTIONARY to resolve values." | 648 | Use DICTIONARY to resolve values." |
| 649 | (let* ((default (srecode-insert-ask-default sti dictionary)) | 649 | (let* ((default (srecode-insert-ask-default sti dictionary)) |
| 650 | (compound-value | 650 | (compound-value |
| 651 | (srecode-field-value (oref sti object-name) | 651 | (srecode-field-value :firstinserter sti |
| 652 | :firstinserter sti | ||
| 653 | :defaultvalue default)) | 652 | :defaultvalue default)) |
| 654 | ) | 653 | ) |
| 655 | ;; Return this special compound value as the thing to insert. | 654 | ;; Return this special compound value as the thing to insert. |
| @@ -806,7 +805,7 @@ Arguments ESCAPE-START and ESCAPE-END are the current escape sequences in use." | |||
| 806 | (srecode-insert-report-error | 805 | (srecode-insert-report-error |
| 807 | dict | 806 | dict |
| 808 | "Only section dictionaries allowed for `%s'" | 807 | "Only section dictionaries allowed for `%s'" |
| 809 | (eieio-object-name-string sti))) | 808 | (slot-value sti 'object-name))) |
| 810 | 809 | ||
| 811 | ;; Output the code from the sub-template. | 810 | ;; Output the code from the sub-template. |
| 812 | (srecode-insert-method (slot-value sti slot) dict)) | 811 | (srecode-insert-method (slot-value sti slot) dict)) |
| @@ -860,10 +859,10 @@ applied to the text between the section start and the | |||
| 860 | "For the section inserter INS, parse INPUT. | 859 | "For the section inserter INS, parse INPUT. |
| 861 | Shorten input until the END token is found. | 860 | Shorten input until the END token is found. |
| 862 | Return the remains of INPUT." | 861 | Return the remains of INPUT." |
| 863 | (let* ((out (srecode-compile-split-code tag input STATE | 862 | (let* ((name (oref ins object-name)) |
| 864 | (oref ins object-name)))) | 863 | (out (srecode-compile-split-code tag input STATE name))) |
| 865 | (oset ins template (srecode-template | 864 | (oset ins template (srecode-template |
| 866 | (eieio-object-name-string ins) | 865 | :object-name name |
| 867 | :context nil | 866 | :context nil |
| 868 | :args nil | 867 | :args nil |
| 869 | :code (cdr out))) | 868 | :code (cdr out))) |
diff --git a/lisp/cedet/srecode/map.el b/lisp/cedet/srecode/map.el index 784e0c2d931..923cca4be0c 100644 --- a/lisp/cedet/srecode/map.el +++ b/lisp/cedet/srecode/map.el | |||
| @@ -338,7 +338,7 @@ if that file is NEW, otherwise assume the mode has not changed." | |||
| 338 | ;; Only do the save if we are dirty, or if we are in an interactive | 338 | ;; Only do the save if we are dirty, or if we are in an interactive |
| 339 | ;; Emacs. | 339 | ;; Emacs. |
| 340 | (when (and dirty (not noninteractive) | 340 | (when (and dirty (not noninteractive) |
| 341 | (slot-boundp srecode-current-map :file)) | 341 | (slot-boundp srecode-current-map 'file)) |
| 342 | (eieio-persistent-save srecode-current-map)) | 342 | (eieio-persistent-save srecode-current-map)) |
| 343 | )) | 343 | )) |
| 344 | 344 | ||
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el index e266a7a679a..573f1f6afd7 100644 --- a/lisp/cedet/srecode/mode.el +++ b/lisp/cedet/srecode/mode.el | |||
| @@ -207,7 +207,7 @@ MENU-DEF is the menu to bind this into." | |||
| 207 | (ctxtcons (assoc ctxt alltabs)) | 207 | (ctxtcons (assoc ctxt alltabs)) |
| 208 | (bind (if (slot-boundp temp 'binding) | 208 | (bind (if (slot-boundp temp 'binding) |
| 209 | (oref temp binding))) | 209 | (oref temp binding))) |
| 210 | (name (eieio-object-name-string temp))) | 210 | (name (slot-value temp 'object-name))) |
| 211 | 211 | ||
| 212 | (when (not ctxtcons) | 212 | (when (not ctxtcons) |
| 213 | (if (string= context ctxt) | 213 | (if (string= context ctxt) |
diff --git a/lisp/cedet/srecode/semantic.el b/lisp/cedet/srecode/semantic.el index bfacda54557..1db041cdfd0 100644 --- a/lisp/cedet/srecode/semantic.el +++ b/lisp/cedet/srecode/semantic.el | |||
| @@ -129,8 +129,7 @@ variable default values, and other things." | |||
| 129 | larg nil nil))) | 129 | larg nil nil))) |
| 130 | ;; Apply the sub-argument to the subdictionary. | 130 | ;; Apply the sub-argument to the subdictionary. |
| 131 | (srecode-semantic-apply-tag-to-dict | 131 | (srecode-semantic-apply-tag-to-dict |
| 132 | (srecode-semantic-tag (semantic-tag-name larg) | 132 | (srecode-semantic-tag :prime larg) |
| 133 | :prime larg) | ||
| 134 | subdict) | 133 | subdict) |
| 135 | ) | 134 | ) |
| 136 | ;; Next! | 135 | ;; Next! |
| @@ -203,8 +202,7 @@ variable default values, and other things." | |||
| 203 | (when (not tag) | 202 | (when (not tag) |
| 204 | (error "No tag for current template. Use the semantic kill-ring")) | 203 | (error "No tag for current template. Use the semantic kill-ring")) |
| 205 | (srecode-semantic-apply-tag-to-dict | 204 | (srecode-semantic-apply-tag-to-dict |
| 206 | (srecode-semantic-tag (semantic-tag-name tag) | 205 | (srecode-semantic-tag :prime tag) |
| 207 | :prime tag) | ||
| 208 | dict))) | 206 | dict))) |
| 209 | 207 | ||
| 210 | ;;; :tagtype ARGUMENT HANDLING | 208 | ;;; :tagtype ARGUMENT HANDLING |
| @@ -394,7 +392,7 @@ as `function' will leave point where code might be inserted." | |||
| 394 | ;; Resolve TAG into the dictionary. We may have a :tag arg | 392 | ;; Resolve TAG into the dictionary. We may have a :tag arg |
| 395 | ;; from the macro such that we don't need to do this. | 393 | ;; from the macro such that we don't need to do this. |
| 396 | (when (not (srecode-dictionary-lookup-name dict "TAG")) | 394 | (when (not (srecode-dictionary-lookup-name dict "TAG")) |
| 397 | (let ((tagobj (srecode-semantic-tag (semantic-tag-name tag) :prime tag)) | 395 | (let ((tagobj (srecode-semantic-tag :prime tag)) |
| 398 | ) | 396 | ) |
| 399 | (srecode-semantic-apply-tag-to-dict tagobj dict))) | 397 | (srecode-semantic-apply-tag-to-dict tagobj dict))) |
| 400 | 398 | ||
diff --git a/lisp/cedet/srecode/srt-mode.el b/lisp/cedet/srecode/srt-mode.el index 44c82e55b53..45040246fb2 100644 --- a/lisp/cedet/srecode/srt-mode.el +++ b/lisp/cedet/srecode/srt-mode.el | |||
| @@ -276,7 +276,7 @@ we can tell font lock about them.") | |||
| 276 | (prin1 (format "%c" key)) | 276 | (prin1 (format "%c" key)) |
| 277 | ))) | 277 | ))) |
| 278 | (terpri) | 278 | (terpri) |
| 279 | (princ (documentation-property C 'variable-documentation)) | 279 | (princ (cl--class-docstring (cl--find-class C))) |
| 280 | (terpri) | 280 | (terpri) |
| 281 | (when showexample | 281 | (when showexample |
| 282 | (princ "Example:") | 282 | (princ "Example:") |
| @@ -503,7 +503,7 @@ section or ? for an ask variable." | |||
| 503 | (when inserter | 503 | (when inserter |
| 504 | (let ((base | 504 | (let ((base |
| 505 | (cons (oref inserter object-name) | 505 | (cons (oref inserter object-name) |
| 506 | (if (and (slot-boundp inserter :secondname) | 506 | (if (and (slot-boundp inserter 'secondname) |
| 507 | (oref inserter secondname)) | 507 | (oref inserter secondname)) |
| 508 | (split-string (oref inserter secondname) | 508 | (split-string (oref inserter secondname) |
| 509 | ":") | 509 | ":") |
diff --git a/lisp/cedet/srecode/table.el b/lisp/cedet/srecode/table.el index ba87c0a01d2..6f98038b614 100644 --- a/lisp/cedet/srecode/table.el +++ b/lisp/cedet/srecode/table.el | |||
| @@ -180,7 +180,6 @@ INIT are the initialization parameters for the new template table." | |||
| 180 | (old (srecode-mode-table-find mt file)) | 180 | (old (srecode-mode-table-find mt file)) |
| 181 | (attr (file-attributes file)) | 181 | (attr (file-attributes file)) |
| 182 | (new (apply #'srecode-template-table | 182 | (new (apply #'srecode-template-table |
| 183 | (file-name-nondirectory file) | ||
| 184 | :file file | 183 | :file file |
| 185 | :filesize (file-attribute-size attr) | 184 | :filesize (file-attribute-size attr) |
| 186 | :filedate (file-attribute-modification-time attr) | 185 | :filedate (file-attribute-modification-time attr) |
diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el index f95fd65fa5c..b3a8698e31d 100644 --- a/lisp/emacs-lisp/eieio-core.el +++ b/lisp/emacs-lisp/eieio-core.el | |||
| @@ -740,18 +740,19 @@ Argument FN is the function calling this verifier." | |||
| 740 | 740 | ||
| 741 | ;;; Get/Set slots in an object. | 741 | ;;; Get/Set slots in an object. |
| 742 | 742 | ||
| 743 | (eval-and-compile | ||
| 744 | (defun eieio--check-slot-name (exp _obj slot &rest _) | ||
| 745 | (pcase slot | ||
| 746 | ((and (or `',name (and name (pred keywordp))) | ||
| 747 | (guard (not (eieio--known-slot-name-p name)))) | ||
| 748 | (macroexp-warn-and-return | ||
| 749 | (format-message "Unknown slot `%S'" name) | ||
| 750 | exp nil 'compile-only name)) | ||
| 751 | (_ exp)))) | ||
| 752 | |||
| 743 | (defun eieio-oref (obj slot) | 753 | (defun eieio-oref (obj slot) |
| 744 | "Return the value in OBJ at SLOT in the object vector." | 754 | "Return the value in OBJ at SLOT in the object vector." |
| 745 | (declare (compiler-macro | 755 | (declare (compiler-macro eieio--check-slot-name) |
| 746 | (lambda (exp) | ||
| 747 | (ignore obj) | ||
| 748 | (pcase slot | ||
| 749 | ((and (or `',name (and name (pred keywordp))) | ||
| 750 | (guard (not (eieio--known-slot-name-p name)))) | ||
| 751 | (macroexp-warn-and-return | ||
| 752 | (format-message "Unknown slot `%S'" name) | ||
| 753 | exp nil 'compile-only name)) | ||
| 754 | (_ exp)))) | ||
| 755 | ;; FIXME: Make it a gv-expander such that the hash-table lookup is | 756 | ;; FIXME: Make it a gv-expander such that the hash-table lookup is |
| 756 | ;; only performed once when used in `push' and friends? | 757 | ;; only performed once when used in `push' and friends? |
| 757 | (gv-setter eieio-oset)) | 758 | (gv-setter eieio-oset)) |
| @@ -822,6 +823,7 @@ Fills in CLASS's SLOT with its default value." | |||
| 822 | (defun eieio-oset (obj slot value) | 823 | (defun eieio-oset (obj slot value) |
| 823 | "Do the work for the macro `oset'. | 824 | "Do the work for the macro `oset'. |
| 824 | Fills in OBJ's SLOT with VALUE." | 825 | Fills in OBJ's SLOT with VALUE." |
| 826 | (declare (compiler-macro eieio--check-slot-name)) | ||
| 825 | (cl-check-type slot symbol) | 827 | (cl-check-type slot symbol) |
| 826 | (cond | 828 | (cond |
| 827 | ((cl-typep obj '(or eieio-object cl-structure-object)) | 829 | ((cl-typep obj '(or eieio-object cl-structure-object)) |
diff --git a/lisp/emacs-lisp/eieio-custom.el b/lisp/emacs-lisp/eieio-custom.el index 3f5291d0dee..375a1652d3d 100644 --- a/lisp/emacs-lisp/eieio-custom.el +++ b/lisp/emacs-lisp/eieio-custom.el | |||
| @@ -31,6 +31,7 @@ | |||
| 31 | ;; `:custom'. | 31 | ;; `:custom'. |
| 32 | 32 | ||
| 33 | (require 'eieio) | 33 | (require 'eieio) |
| 34 | (require 'eieio-base) ;; For `eieio-named's slot. | ||
| 34 | (require 'widget) | 35 | (require 'widget) |
| 35 | (require 'wid-edit) | 36 | (require 'wid-edit) |
| 36 | 37 | ||
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 424baafc503..2a80c5d7c3e 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el | |||
| @@ -304,7 +304,7 @@ and reference them using the function `class-option'." | |||
| 304 | ;; but hide it so we don't trigger indefinitely. | 304 | ;; but hide it so we don't trigger indefinitely. |
| 305 | `(,(car whole) (identity ,(car slots)) | 305 | `(,(car whole) (identity ,(car slots)) |
| 306 | ,@(cdr slots)) | 306 | ,@(cdr slots)) |
| 307 | nil nil (car slots)))) | 307 | '(obsolete eieio-constructor-name-arg) nil (car slots)))) |
| 308 | 308 | ||
| 309 | ;;; Get/Set slots in an object. | 309 | ;;; Get/Set slots in an object. |
| 310 | ;; | 310 | ;; |
| @@ -554,6 +554,7 @@ after they are created." | |||
| 554 | Setting a slot's value makes it bound. Calling `slot-makeunbound' will | 554 | Setting a slot's value makes it bound. Calling `slot-makeunbound' will |
| 555 | make a slot unbound. | 555 | make a slot unbound. |
| 556 | OBJECT can be an instance or a class." | 556 | OBJECT can be an instance or a class." |
| 557 | (declare (compiler-macro eieio--check-slot-name)) | ||
| 557 | ;; Skip typechecking while retrieving this value. | 558 | ;; Skip typechecking while retrieving this value. |
| 558 | (let ((eieio-skip-typecheck t)) | 559 | (let ((eieio-skip-typecheck t)) |
| 559 | ;; Return nil if the magic symbol is in there. | 560 | ;; Return nil if the magic symbol is in there. |
| @@ -700,6 +701,20 @@ for each slot. For example: | |||
| 700 | 701 | ||
| 701 | (make-instance \\='foo :slot1 value1 :slotN valueN)") | 702 | (make-instance \\='foo :slot1 value1 :slotN valueN)") |
| 702 | 703 | ||
| 704 | (put 'make-instance 'compiler-macro | ||
| 705 | (lambda (whole class &rest slots) | ||
| 706 | (if (or (null slots) (keywordp (car slots)) | ||
| 707 | ;; Detect the second pass! | ||
| 708 | (eq 'identity (car-safe (car slots)))) | ||
| 709 | whole | ||
| 710 | (macroexp-warn-and-return | ||
| 711 | (format "Obsolete name arg %S to `make-instance'" (car slots)) | ||
| 712 | ;; Keep the name arg, for backward compatibility, | ||
| 713 | ;; but hide it so we don't trigger indefinitely. | ||
| 714 | `(,(car whole) ,class (identity ,(car slots)) | ||
| 715 | ,@(cdr slots)) | ||
| 716 | '(obsolete eieio-constructor-name-arg) nil (car slots))))) | ||
| 717 | |||
| 703 | (define-obsolete-function-alias 'constructor #'make-instance "25.1") | 718 | (define-obsolete-function-alias 'constructor #'make-instance "25.1") |
| 704 | 719 | ||
| 705 | (cl-defmethod make-instance | 720 | (cl-defmethod make-instance |
diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el index c9da7d92deb..13c33a219ee 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el | |||
| @@ -138,7 +138,7 @@ | |||
| 138 | (:AFTER eitest-B-base1) | 138 | (:AFTER eitest-B-base1) |
| 139 | (:AFTER eitest-B) | 139 | (:AFTER eitest-B) |
| 140 | ))) | 140 | ))) |
| 141 | (eitest-F (eitest-B nil)) | 141 | (eitest-F (eitest-B)) |
| 142 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) | 142 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) |
| 143 | (eieio-test-match ans))) | 143 | (eieio-test-match ans))) |
| 144 | 144 | ||
| @@ -153,7 +153,9 @@ | |||
| 153 | (ert-deftest eieio-test-method-order-list-4 () | 153 | (ert-deftest eieio-test-method-order-list-4 () |
| 154 | ;; Both of these situations should succeed. | 154 | ;; Both of these situations should succeed. |
| 155 | (should (eitest-H 'eitest-A)) | 155 | (should (eitest-H 'eitest-A)) |
| 156 | (should (eitest-H (eitest-A nil)))) | 156 | (let ((eieio-backward-compatibility t)) |
| 157 | (with-suppressed-warnings ((obsolete eieio-constructor-name-arg)) | ||
| 158 | (should (eitest-H (eitest-A nil)))))) | ||
| 157 | 159 | ||
| 158 | ;;; Return value from :PRIMARY | 160 | ;;; Return value from :PRIMARY |
| 159 | ;; | 161 | ;; |
| @@ -213,7 +215,7 @@ | |||
| 213 | (:STATIC C-base1) | 215 | (:STATIC C-base1) |
| 214 | (:STATIC C-base2) | 216 | (:STATIC C-base2) |
| 215 | ))) | 217 | ))) |
| 216 | (C nil) | 218 | (C) |
| 217 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) | 219 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) |
| 218 | (eieio-test-match ans))) | 220 | (eieio-test-match ans))) |
| 219 | 221 | ||
| @@ -262,7 +264,7 @@ | |||
| 262 | (:PRIMARY D-base2) | 264 | (:PRIMARY D-base2) |
| 263 | (:PRIMARY D-base0) | 265 | (:PRIMARY D-base0) |
| 264 | ))) | 266 | ))) |
| 265 | (eitest-F (D nil)) | 267 | (eitest-F (D)) |
| 266 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) | 268 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) |
| 267 | (eieio-test-match ans))) | 269 | (eieio-test-match ans))) |
| 268 | 270 | ||
| @@ -304,7 +306,7 @@ | |||
| 304 | (:PRIMARY E-base2) | 306 | (:PRIMARY E-base2) |
| 305 | (:PRIMARY E-base0) | 307 | (:PRIMARY E-base0) |
| 306 | ))) | 308 | ))) |
| 307 | (eitest-F (E nil)) | 309 | (eitest-F (E)) |
| 308 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) | 310 | (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) |
| 309 | (eieio-test-match ans))) | 311 | (eieio-test-match ans))) |
| 310 | 312 | ||
diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el b/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el index 51996fe51be..fced6bc3df2 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el | |||
| @@ -430,6 +430,9 @@ METHOD is the method that was attempting to be called." | |||
| 430 | (defclass virtual-slot-class () | 430 | (defclass virtual-slot-class () |
| 431 | ((base-value :initarg :base-value)) | 431 | ((base-value :initarg :base-value)) |
| 432 | "Class has real slot :base-value and simulated slot :derived-value.") | 432 | "Class has real slot :base-value and simulated slot :derived-value.") |
| 433 | |||
| 434 | (eieio-declare-slots derived-value) | ||
| 435 | |||
| 433 | (with-suppressed-warnings ((obsolete defmethod) | 436 | (with-suppressed-warnings ((obsolete defmethod) |
| 434 | (obsolete defgeneric)) | 437 | (obsolete defgeneric)) |
| 435 | (defmethod slot-missing ((vsc virtual-slot-class) | 438 | (defmethod slot-missing ((vsc virtual-slot-class) |
diff --git a/test/lisp/jsonrpc-tests.el b/test/lisp/jsonrpc-tests.el index 68eaae6c44b..148f5870434 100644 --- a/test/lisp/jsonrpc-tests.el +++ b/test/lisp/jsonrpc-tests.el | |||
| @@ -76,7 +76,6 @@ | |||
| 76 | (setq endpoint | 76 | (setq endpoint |
| 77 | (make-instance | 77 | (make-instance |
| 78 | 'jsonrpc--test-client | 78 | 'jsonrpc--test-client |
| 79 | "Emacs RPC client" | ||
| 80 | :process | 79 | :process |
| 81 | (open-network-stream "JSONRPC test tcp endpoint" | 80 | (open-network-stream "JSONRPC test tcp endpoint" |
| 82 | nil "localhost" | 81 | nil "localhost" |