emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master f8dbefb: Use `declare` instead of `def-edebug-spec` in most place


From: Stefan Monnier
Subject: master f8dbefb: Use `declare` instead of `def-edebug-spec` in most places
Date: Fri, 12 Feb 2021 16:08:11 -0500 (EST)

branch: master
commit f8dbefbaa59bb17dd4a2dfa4d9ff560c46785792
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    Use `declare` instead of `def-edebug-spec` in most places
    
    * lisp/speedbar.el: Use lexical-binding.
    (speedbar-with-writable): Use `declare`.
    
    * lisp/subr.el (def-edebug-spec): Use `declare`.
    
    * lisp/cedet/ede/base.el: Use lexical-binding.
    (ede-with-projectfile): Use `declare`.
    (recentf-exclude): Declare var.
    
    * lisp/cedet/ede/pmake.el: Use lexical-binding.
    (ede-pmake-insert-variable-shared, ede-pmake-insert-variable-once):
    Use `declare`.
    
    * lisp/cedet/ede/proj-comp.el: Use lexical-binding.
    (ede-compiler-begin-unique, ede-compiler-only-once)
    (ede-linker-begin-unique, ede-linker-only-once): Use `declare`.
    
    * lisp/cedet/semantic/ctxt.el: Use lexical-binding.
    (semantic-with-buffer-narrowed-to-context)
    (semantic-with-buffer-narrowed-to-command): Use `declare`.
    (semantic--progress-reporter): Declare var.
    (semantic-ctxt-end-of-symbol-default): Remove unused var `fieldsep`.
    
    * lisp/cedet/semantic/lex-spp.el: Use lexical-binding.
    (define-lex-spp-macro-declaration-analyzer)
    (define-lex-spp-include-analyzer, semantic-lex-with-macro-used)
    (define-lex-spp-macro-undeclaration-analyzer): Use `declare`.
    (semantic-lex-spp-symbol-remove): Rename arg to avoid colliding with
    dynamic variable `obarray`.
    (semantic-lex-spp-symbol-pop): Remove unused var `oldvalue`.
    (semantic-lex-spp-lex-text-string): Remove unused var `analyzer`.
    
    * lisp/cedet/semantic/lex.el (define-lex)
    (semantic-lex-unterminated-syntax-protection, define-lex-analyzer)
    (define-lex-regex-analyzer, define-lex-block-analyzer)
    (semantic-lex-catch-errors): Use `declare`.
    
    * lisp/cedet/semantic/tag.el: Use lexical-binding.
    (semantic-with-buffer-narrowed-to-current-tag)
    (semantic-with-buffer-narrowed-to-tag): Use `declare`.
    
    * lisp/cedet/semantic/wisent.el: Use lexical-binding.
    (define-wisent-lexer): Use `declare`.
    
    * lisp/emacs-lisp/cl-lib.el (cl-pushnew): The arg to :test can be any
    form not just function form.
    
    * lisp/org/ob-comint.el (org-babel-comint-in-buffer)
    (org-babel-comint-with-output): Use `declare`.
    
    * lisp/org/ob-core.el (org-babel-map-src-blocks): Use `declare`.
    (org-babel-result-cond): Simplify edebug spec.
    
    * lisp/org/org-clock.el (org-with-clock-position, org-with-clock):
    * lisp/org/org-agenda.el (org-agenda-with-point-at-orig-entry):
    * lisp/org/ob-tangle.el (org-babel-with-temp-filebuffer): Use `declare`.
    
    * lisp/textmodes/rst.el (push): Remove redundant edebug spec.
    
    * lisp/vc/pcvs-parse.el: Use lexical-binding.
    (cvs-parse-buffer): Rename arg to avoid dynbound conflict.
    (cvs-or): Use `declare`.
---
 lisp/cedet/ede/base.el         | 29 ++++++++--------------
 lisp/cedet/ede/pmake.el        | 22 ++++++++---------
 lisp/cedet/ede/proj-comp.el    | 35 ++++++++-------------------
 lisp/cedet/semantic/ctxt.el    | 24 +++++++-----------
 lisp/cedet/semantic/lex-spp.el | 55 ++++++++++++------------------------------
 lisp/cedet/semantic/lex.el     | 38 ++++++-----------------------
 lisp/cedet/semantic/tag.el     | 14 +++--------
 lisp/cedet/semantic/wisent.el  | 15 ++----------
 lisp/emacs-lisp/cl-lib.el      |  2 +-
 lisp/eshell/esh-var.el         |  2 +-
 lisp/org/ob-comint.el          |  6 ++---
 lisp/org/ob-core.el            | 17 ++++++-------
 lisp/org/ob-tangle.el          |  3 +--
 lisp/org/org-agenda.el         |  2 +-
 lisp/org/org-clock.el          |  6 ++---
 lisp/org/org-pcomplete.el      | 11 +++++----
 lisp/pcmpl-gnu.el              |  8 +++---
 lisp/pcmpl-linux.el            |  6 ++---
 lisp/pcmpl-unix.el             |  2 +-
 lisp/pcmpl-x.el                |  3 ++-
 lisp/shell.el                  |  2 +-
 lisp/speedbar.el               |  9 ++-----
 lisp/subr.el                   |  1 +
 lisp/textmodes/rst.el          |  4 ---
 lisp/vc/pcvs-parse.el          | 15 ++++++------
 25 files changed, 111 insertions(+), 220 deletions(-)

diff --git a/lisp/cedet/ede/base.el b/lisp/cedet/ede/base.el
index 810d6ef..3fcc023 100644
--- a/lisp/cedet/ede/base.el
+++ b/lisp/cedet/ede/base.el
@@ -1,4 +1,4 @@
-;;; ede/base.el --- Baseclasses for EDE.
+;;; ede/base.el --- Baseclasses for EDE  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
 
@@ -288,7 +288,7 @@ All specific project types must derive from this project."
 ;;
 (defmacro ede-with-projectfile (obj &rest forms)
   "For the project in which OBJ resides, execute FORMS."
-  (declare (indent 1))
+  (declare (indent 1) (debug t))
   (unless (symbolp obj)
     (message "Beware! ede-with-projectfile's first arg is copied: %S" obj))
   `(let* ((pf (if (obj-of-class-p ,obj 'ede-target)
@@ -317,13 +317,15 @@ If set to nil, then the cache is not saved."
 (defvar ede-project-cache-files nil
   "List of project files EDE has seen before.")
 
+(defvar recentf-exclude)
+
 (defun ede-save-cache ()
   "Save a cache of EDE objects that Emacs has seen before."
   (interactive)
   (when ede-project-placeholder-cache-file
     (let ((p ede-projects)
          (c ede-project-cache-files)
-         (recentf-exclude '( (lambda (f) t) ))
+         (recentf-exclude `( ,(lambda (_) t) ))
          )
       (condition-case nil
          (progn
@@ -461,7 +463,7 @@ Not all buffers need headers, so return nil if no 
applicable."
       (ede-buffer-header-file ede-object (current-buffer))
     nil))
 
-(cl-defmethod ede-buffer-header-file ((this ede-project) buffer)
+(cl-defmethod ede-buffer-header-file ((_this ede-project) _buffer)
   "Return nil, projects don't have header files."
   nil)
 
@@ -487,12 +489,12 @@ Some projects may have multiple documentation files, so 
return a list."
       (ede-buffer-documentation-files ede-object (current-buffer))
     nil))
 
-(cl-defmethod ede-buffer-documentation-files ((this ede-project) buffer)
+(cl-defmethod ede-buffer-documentation-files ((this ede-project) _buffer)
   "Return all documentation in project THIS based on BUFFER."
   ;; Find the info node.
   (ede-documentation this))
 
-(cl-defmethod ede-buffer-documentation-files ((this ede-target) buffer)
+(cl-defmethod ede-buffer-documentation-files ((_this ede-target) buffer)
   "Check for some documentation files for THIS.
 Also do a quick check to see if there is a Documentation tag in this BUFFER."
   (with-current-buffer buffer
@@ -518,7 +520,7 @@ files in the project."
            proj (cdr proj)))
     found))
 
-(cl-defmethod ede-documentation ((this ede-target))
+(cl-defmethod ede-documentation ((_this ede-target))
   "Return a list of files that provide documentation.
 Documentation is not for object THIS, but is provided by THIS for other
 files in the project."
@@ -529,7 +531,7 @@ files in the project."
   (ede-html-documentation (ede-toplevel))
   )
 
-(cl-defmethod ede-html-documentation ((this ede-project))
+(cl-defmethod ede-html-documentation ((_this ede-project))
   "Return a list of HTML files provided by project THIS."
 
   )
@@ -636,18 +638,7 @@ PROJECT-FILE-NAME is a name of project file (short name, 
like `pom.xml', etc."
     (oset this directory (file-name-directory (oref this file))))
   )
 
-
-
 
-;;; Hooks & Autoloads
-;;
-;;  These let us watch various activities, and respond appropriately.
-
-;; (add-hook 'edebug-setup-hook
-;;       (lambda ()
-;;         (def-edebug-spec ede-with-projectfile
-;;           (form def-body))))
-
 (provide 'ede/base)
 
 ;; Local variables:
diff --git a/lisp/cedet/ede/pmake.el b/lisp/cedet/ede/pmake.el
index 4c948df..e1fe856 100644
--- a/lisp/cedet/ede/pmake.el
+++ b/lisp/cedet/ede/pmake.el
@@ -1,4 +1,4 @@
-;;; ede-pmake.el --- EDE Generic Project Makefile code generator.
+;;; ede-pmake.el --- EDE Generic Project Makefile code generator  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 1998-2005, 2007-2021 Free Software Foundation, Inc.
 
@@ -241,6 +241,7 @@ MFILENAME is the makefile to generate."
 (defmacro ede-pmake-insert-variable-shared (varname &rest body)
   "Add VARNAME into the current Makefile.
 Execute BODY in a location where a value can be placed."
+  (declare (debug t) (indent 1))
   `(let ((addcr t) (v ,varname))
      (if (save-excursion
           (goto-char (point-max))
@@ -258,11 +259,11 @@ Execute BODY in a location where a value can be placed."
      ,@body
      (if addcr (insert "\n"))
      (goto-char (point-max))))
-(put 'ede-pmake-insert-variable-shared 'lisp-indent-function 1)
 
 (defmacro ede-pmake-insert-variable-once (varname &rest body)
   "Add VARNAME into the current Makefile if it doesn't exist.
 Execute BODY in a location where a value can be placed."
+  (declare (debug t) (indent 1))
   `(let ((addcr t) (v ,varname))
        (unless
           (save-excursion
@@ -271,7 +272,6 @@ Execute BODY in a location where a value can be placed."
         ,@body
         (when addcr (insert "\n"))
         (goto-char (point-max)))))
-(put 'ede-pmake-insert-variable-once 'lisp-indent-function 1)
 
 ;;; SOURCE VARIABLE NAME CONSTRUCTION
 
@@ -289,7 +289,7 @@ Change .  to _ in the variable name."
 
 ;;; DEPENDENCY FILE GENERATOR LISTS
 ;;
-(cl-defmethod ede-proj-makefile-dependency-files ((this ede-proj-target))
+(cl-defmethod ede-proj-makefile-dependency-files ((_this ede-proj-target))
   "Return a list of source files to convert to dependencies.
 Argument THIS is the target to get sources from."
   nil)
@@ -302,7 +302,7 @@ Argument THIS is the target to get sources from."
 Use CONFIGURATION as the current configuration to query."
   (cdr (assoc configuration (oref this configuration-variables))))
 
-(cl-defmethod ede-proj-makefile-insert-variables-new ((this ede-proj-project))
+(cl-defmethod ede-proj-makefile-insert-variables-new ((_this ede-proj-project))
   "Insert variables needed by target THIS.
 
 NOTE: Not yet in use!  This is part of an SRecode conversion of
@@ -420,7 +420,7 @@ Use CONFIGURATION as the current configuration to query."
   (cdr (assoc configuration (oref this configuration-variables))))
 
 (cl-defmethod ede-proj-makefile-insert-variables ((this 
ede-proj-target-makefile)
-                                              &optional moresource)
+                                              &optional _moresource)
   "Insert variables needed by target THIS.
 Optional argument MORESOURCE is a list of additional sources to add to the
 sources variable."
@@ -449,12 +449,12 @@ sources variable."
                            (ede-proj-makefile-insert-variables linker)))))
 
 (cl-defmethod ede-proj-makefile-insert-automake-pre-variables
-  ((this ede-proj-target))
+  ((_this ede-proj-target))
   "Insert variables needed by target THIS in Makefile.am before SOURCES."
   nil)
 
 (cl-defmethod ede-proj-makefile-insert-automake-post-variables
-  ((this ede-proj-target))
+  ((_this ede-proj-target))
   "Insert variables needed by target THIS in Makefile.am after SOURCES."
   nil)
 
@@ -511,7 +511,7 @@ Argument THIS is the project that should insert stuff."
   (mapc 'ede-proj-makefile-insert-dist-dependencies (oref this targets))
   )
 
-(cl-defmethod ede-proj-makefile-insert-dist-dependencies ((this 
ede-proj-target))
+(cl-defmethod ede-proj-makefile-insert-dist-dependencies ((_this 
ede-proj-target))
   "Insert any symbols that the DIST rule should depend on.
 Argument THIS is the target that should insert stuff."
   nil)
@@ -530,7 +530,7 @@ Argument THIS is the target that should insert stuff."
            (insert " " (ede-subproject-relative-path sproj))
            ))))
 
-(cl-defmethod ede-proj-makefile-automake-insert-extradist ((this 
ede-proj-project))
+(cl-defmethod ede-proj-makefile-automake-insert-extradist ((_this 
ede-proj-project))
   "Insert the EXTRADIST variable entries needed for Automake and EDE."
   (proj-comp-insert-variable-once "EXTRA_DIST" (insert "Project.ede")))
 
@@ -602,7 +602,7 @@ Argument THIS is the target that should insert stuff."
            "\t@false\n\n"
            "\n\n# End of Makefile\n")))
 
-(cl-defmethod ede-proj-makefile-insert-rules ((this ede-proj-target))
+(cl-defmethod ede-proj-makefile-insert-rules ((_this ede-proj-target))
   "Insert rules needed by THIS target."
   nil)
 
diff --git a/lisp/cedet/ede/proj-comp.el b/lisp/cedet/ede/proj-comp.el
index 26aa668..ba52784 100644
--- a/lisp/cedet/ede/proj-comp.el
+++ b/lisp/cedet/ede/proj-comp.el
@@ -1,4 +1,4 @@
-;;; ede/proj-comp.el --- EDE Generic Project compiler/rule driver
+;;; ede/proj-comp.el --- EDE Generic Project compiler/rule driver  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2021 Free Software
 ;; Foundation, Inc.
@@ -172,12 +172,12 @@ Adds this rule to a .PHONY list."))
 This is used when creating a Makefile to prevent duplicate variables and
 rules from being created.")
 
-(cl-defmethod initialize-instance :after ((this ede-compiler) &rest fields)
+(cl-defmethod initialize-instance :after ((this ede-compiler) &rest _fields)
   "Make sure that all ede compiler objects are cached in
 `ede-compiler-list'."
   (add-to-list 'ede-compiler-list this))
 
-(cl-defmethod initialize-instance :after ((this ede-linker) &rest fields)
+(cl-defmethod initialize-instance :after ((this ede-linker) &rest _fields)
   "Make sure that all ede compiler objects are cached in
 `ede-linker-list'."
   (add-to-list 'ede-linker-list this))
@@ -185,11 +185,13 @@ rules from being created.")
 (defmacro ede-compiler-begin-unique (&rest body)
   "Execute BODY, making sure that `ede-current-build-list' is maintained.
 This will prevent rules from creating duplicate variables or rules."
+  (declare (indent 0) (debug t))
   `(let ((ede-current-build-list nil))
     ,@body))
 
 (defmacro ede-compiler-only-once (object &rest body)
   "Using OBJECT, execute BODY only once per Makefile generation."
+  (declare (indent 1) (debug t))
   `(if (not (member ,object ede-current-build-list))
        (progn
         (add-to-list 'ede-current-build-list ,object)
@@ -198,25 +200,18 @@ This will prevent rules from creating duplicate variables 
or rules."
 (defmacro ede-linker-begin-unique (&rest body)
   "Execute BODY, making sure that `ede-current-build-list' is maintained.
 This will prevent rules from creating duplicate variables or rules."
+  (declare (indent 0) (debug t))
   `(let ((ede-current-build-list nil))
     ,@body))
 
 (defmacro ede-linker-only-once (object &rest body)
   "Using OBJECT, execute BODY only once per Makefile generation."
+  (declare (indent 1) (debug t))
   `(if (not (member ,object ede-current-build-list))
        (progn
         (add-to-list 'ede-current-build-list ,object)
         ,@body)))
 
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec ede-compiler-begin-unique def-body)
-           (def-edebug-spec ede-compiler-only-once (form def-body))
-           (def-edebug-spec ede-linker-begin-unique def-body)
-           (def-edebug-spec ede-linker-only-once (form def-body))
-           (def-edebug-spec ede-pmake-insert-variable-shared (form def-body))
-           ))
-
 ;;; Queries
 (defun ede-proj-find-compiler (compilers sourcetype)
   "Return a compiler from the list COMPILERS that will compile SOURCETYPE."
@@ -246,7 +241,7 @@ This will prevent rules from creating duplicate variables 
or rules."
      )
    (oref this autoconf)))
 
-(cl-defmethod ede-proj-flush-autoconf ((this ede-compilation-program))
+(cl-defmethod ede-proj-flush-autoconf ((_this ede-compilation-program))
   "Flush the configure file (current buffer) to accommodate THIS."
   nil)
 
@@ -281,8 +276,8 @@ If this compiler creates code that can be linked together,
 then the object files created by the compiler are considered intermediate."
   (oref this uselinker))
 
-(cl-defmethod ede-compiler-intermediate-object-variable ((this ede-compiler)
-                                                     targetname)
+(cl-defmethod ede-compiler-intermediate-object-variable ((_this ede-compiler)
+                                                        targetname)
   "Return a string based on THIS representing a make object variable.
 TARGETNAME is the name of the target that these objects belong to."
   (concat targetname "_OBJ"))
@@ -343,16 +338,6 @@ compiler it decides to use after inserting in the rule."
        commands))
     (insert "\n")))
 
-;;; Some details about our new macro
-;;
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec ede-compiler-begin-unique def-body)))
-(put 'ede-compiler-begin-unique 'lisp-indent-function 0)
-(put 'ede-compiler-only-once 'lisp-indent-function 1)
-(put 'ede-linker-begin-unique 'lisp-indent-function 0)
-(put 'ede-linker-only-once 'lisp-indent-function 1)
-
 (provide 'ede/proj-comp)
 
 ;;; ede/proj-comp.el ends here
diff --git a/lisp/cedet/semantic/ctxt.el b/lisp/cedet/semantic/ctxt.el
index 8d5b5dc..17ffaef 100644
--- a/lisp/cedet/semantic/ctxt.el
+++ b/lisp/cedet/semantic/ctxt.el
@@ -1,4 +1,4 @@
-;;; semantic/ctxt.el --- Context calculations for Semantic tools.
+;;; semantic/ctxt.el --- Context calculations for Semantic tools  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 1999-2021 Free Software Foundation, Inc.
 
@@ -137,18 +137,16 @@ Return non-nil if there is no upper context."
 
 (defmacro semantic-with-buffer-narrowed-to-context (&rest body)
   "Execute BODY with the buffer narrowed to the current context."
+  (declare (indent 0) (debug t))
   `(save-restriction
      (semantic-narrow-to-context)
      ,@body))
-(put 'semantic-with-buffer-narrowed-to-context 'lisp-indent-function 0)
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec semantic-with-buffer-narrowed-to-context
-             (def-body))))
 
 ;;; Local Variables
 ;;
-;;
+
+(defvar semantic--progress-reporter)
+
 (define-overloadable-function semantic-get-local-variables (&optional point)
   "Get the local variables based on POINT's context.
 Local variables are returned in Semantic tag format.
@@ -345,14 +343,10 @@ beginning and end of a command."
 
 (defmacro semantic-with-buffer-narrowed-to-command (&rest body)
   "Execute BODY with the buffer narrowed to the current command."
+  (declare (indent 0) (debug t))
   `(save-restriction
      (semantic-narrow-to-command)
      ,@body))
-(put 'semantic-with-buffer-narrowed-to-command 'lisp-indent-function 0)
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec semantic-with-buffer-narrowed-to-command
-             (def-body))))
 
 (define-overloadable-function semantic-ctxt-end-of-symbol (&optional point)
   "Move point to the end of the current symbol under POINT.
@@ -374,7 +368,7 @@ work on C like languages."
         ;; NOTE: The [ \n] expression below should used \\s-, but that
         ;; doesn't work in C since \n means end-of-comment, and isn't
         ;; really whitespace.
-        (fieldsep (concat "[ \t\n\r]*\\(" fieldsep1 "\\)[ 
\t\n\r]*\\(\\w\\|\\s_\\)"))
+        ;;(fieldsep (concat "[ \t\n\r]*\\(" fieldsep1 "\\)[ 
\t\n\r]*\\(\\w\\|\\s_\\)"))
         (case-fold-search semantic-case-fold)
         (continuesearch t)
         (end nil)
@@ -655,7 +649,7 @@ POINT defaults to the value of point in current buffer.
 You should override this function in multiple mode buffers to
 determine which major mode apply at point.")
 
-(defun semantic-ctxt-current-mode-default (&optional point)
+(defun semantic-ctxt-current-mode-default (&optional _point)
   "Return the major mode active at POINT.
 POINT defaults to the value of point in current buffer.
 This default implementation returns the current major mode."
@@ -671,7 +665,7 @@ The return value can be a mixed list of either strings 
(names of
 types that are in scope) or actual tags (type declared locally
 that may or may not have a name.)")
 
-(defun semantic-ctxt-scoped-types-default (&optional point)
+(defun semantic-ctxt-scoped-types-default (&optional _point)
   "Return a list of scoped types by name for the current context at POINT.
 This is very different for various languages, and does nothing unless
 overridden."
diff --git a/lisp/cedet/semantic/lex-spp.el b/lisp/cedet/semantic/lex-spp.el
index 408011c..5675b9f 100644
--- a/lisp/cedet/semantic/lex-spp.el
+++ b/lisp/cedet/semantic/lex-spp.el
@@ -1,4 +1,4 @@
-;;; semantic/lex-spp.el --- Semantic Lexical Pre-processor
+;;; semantic/lex-spp.el --- Semantic Lexical Pre-processor  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 2006-2021 Free Software Foundation, Inc.
 
@@ -106,22 +106,12 @@ added and removed from this symbol table.")
 Pushes NAME into the macro stack.  The above stack is checked
 by `semantic-lex-spp-symbol' to not return true for any symbol
 currently being expanded."
+  (declare (indent 1) (debug (symbolp def-body)))
   `(unwind-protect
        (progn
         (push ,name semantic-lex-spp-expanded-macro-stack)
         ,@body)
      (pop semantic-lex-spp-expanded-macro-stack)))
-(put 'semantic-lex-with-macro-used 'lisp-indent-function 1)
-
-(add-hook
- 'edebug-setup-hook
- #'(lambda ()
-
-     (def-edebug-spec semantic-lex-with-macro-used
-       (symbolp def-body)
-       )
-
-     ))
 
 ;;; MACRO TABLE UTILS
 ;;
@@ -190,7 +180,7 @@ Disable debugging by entering nothing."
       (setq semantic-lex-spp-debug-symbol nil)
     (setq semantic-lex-spp-debug-symbol sym)))
 
-(defmacro semantic-lex-spp-validate-value (name value)
+(defmacro semantic-lex-spp-validate-value (_name _value)
   "Validate the NAME and VALUE of a macro before it is set."
 ;  `(progn
 ;     (when (not (semantic-lex-spp-value-valid-p ,value))
@@ -212,12 +202,11 @@ the dynamic map."
                        (semantic-lex-spp-dynamic-map)))
        value))
 
-(defsubst semantic-lex-spp-symbol-remove (name &optional obarray)
+(defsubst semantic-lex-spp-symbol-remove (name &optional map)
   "Remove the spp symbol with NAME.
-If optional OBARRAY is non-nil, then use that obarray instead of
+If optional obarray MAP is non-nil, then use that obarray instead of
 the dynamic map."
-  (unintern name (or obarray
-                    (semantic-lex-spp-dynamic-map))))
+  (unintern name (or map (semantic-lex-spp-dynamic-map))))
 
 (defun semantic-lex-spp-symbol-push (name value)
   "Push macro NAME with VALUE into the map.
@@ -246,7 +235,7 @@ Reverse with `semantic-lex-spp-symbol-pop'."
         (stack (semantic-lex-spp-dynamic-map-stack))
         (mapsym (intern name map))
         (stacksym (intern name stack))
-        (oldvalue nil)
+        ;; (oldvalue nil)
         )
     (if (or (not (boundp stacksym) )
            (= (length (symbol-value stacksym)) 0))
@@ -324,7 +313,7 @@ For use with semanticdb restoration of state."
     ;; Default obarray for below is the dynamic map.
     (semantic-lex-spp-symbol-set (car e) (cdr e))))
 
-(defun semantic-lex-spp-reset-hook (start end)
+(defun semantic-lex-spp-reset-hook (start _end)
   "Reset anything needed by SPP for parsing.
 In this case, reset the dynamic macro symbol table if
 START is (point-min).
@@ -354,7 +343,7 @@ Return non-nil if it matches"
       (string-match regex value))
     ))
 
-(defun semantic-lex-spp-simple-macro-to-macro-stream (val beg end argvalues)
+(defun semantic-lex-spp-simple-macro-to-macro-stream (val beg end _argvalues)
   "Convert lexical macro contents VAL into a macro expansion stream.
 These are for simple macro expansions that a user may have typed in directly.
 As such, we need to analyze the input text, to figure out what kind of real
@@ -819,7 +808,7 @@ ARGVALUES are values for any arg list, or nil."
 ;; An analyzer that will push tokens from a macro in place
 ;; of the macro symbol.
 ;;
-(defun semantic-lex-spp-analyzer-do-replace (sym val beg end)
+(defun semantic-lex-spp-analyzer-do-replace (_sym val beg end)
   "Do the lexical replacement for SYM with VAL.
 Argument BEG and END specify the bounds of SYM in the buffer."
   (if (not val)
@@ -1045,7 +1034,7 @@ and variable state from the current buffer."
         (fresh-toks nil)
         (toks nil)
         (origbuff (current-buffer))
-        (analyzer semantic-lex-analyzer)
+        ;; (analyzer semantic-lex-analyzer)
         (important-vars '(semantic-lex-spp-macro-symbol-obarray
                           semantic-lex-spp-project-macro-symbol-obarray
                           semantic-lex-spp-dynamic-macro-symbol-obarray
@@ -1176,6 +1165,7 @@ of type `spp-macro-def' is to be created.
 VALFORM are forms that return the value to be saved for this macro, or nil.
 When implementing a macro, you can use `semantic-lex-spp-stream-for-macro'
 to convert text into a lexical stream for storage in the macro."
+  (declare (debug (&define name stringp stringp form def-body)))
   (let ((start (make-symbol "start"))
        (end (make-symbol "end"))
        (val (make-symbol "val"))
@@ -1209,6 +1199,7 @@ REGEXP is a regular expression for the analyzer to match.
 See `define-lex-regex-analyzer' for more on regexp.
 TOKIDX is an index into REGEXP for which a new lexical token
 of type `spp-macro-undef' is to be created."
+  (declare (debug (&define name stringp stringp form)))
   (let ((start (make-symbol "start"))
        (end (make-symbol "end")))
     `(define-lex-regex-analyzer ,name
@@ -1244,7 +1235,7 @@ Note: Not implemented yet."
   :group 'semantic
   :type 'boolean)
 
-(defun semantic-lex-spp-merge-header (name)
+(defun semantic-lex-spp-merge-header (_name)
   "Extract and merge any macros from the header with NAME.
 Finds the header file belonging to NAME, gets the macros
 from that file, and then merge the macros with our current
@@ -1269,6 +1260,7 @@ type of include.  The return value should be of the form:
   (NAME . TYPE)
 where NAME is the name of the include, and TYPE is the type of the include,
 where a valid symbol is `system', or nil."
+  (declare (debug (&define name stringp stringp form def-body)))
   (let ((start (make-symbol "start"))
        (end (make-symbol "end"))
        (val (make-symbol "val"))
@@ -1369,23 +1361,6 @@ If BUFFER is not provided, use the current buffer."
        (princ "\n")
        ))))
 
-;;; EDEBUG Handlers
-;;
-(add-hook
- 'edebug-setup-hook
- #'(lambda ()
-
-     (def-edebug-spec define-lex-spp-macro-declaration-analyzer
-       (&define name stringp stringp form def-body)
-       )
-
-     (def-edebug-spec define-lex-spp-macro-undeclaration-analyzer
-       (&define name stringp stringp form)
-       )
-
-     (def-edebug-spec define-lex-spp-include-analyzer
-       (&define name stringp stringp form def-body))))
-
 (provide 'semantic/lex-spp)
 
 ;; Local variables:
diff --git a/lisp/cedet/semantic/lex.el b/lisp/cedet/semantic/lex.el
index ae70d5c..b3399aa 100644
--- a/lisp/cedet/semantic/lex.el
+++ b/lisp/cedet/semantic/lex.el
@@ -760,6 +760,7 @@ If two analyzers can match the same text, it is important 
to order the
 analyzers so that the one you want to match first occurs first.  For
 example, it is good to put a number analyzer in front of a symbol
 analyzer which might mistake a number for a symbol."
+  (declare (debug (&define name stringp (&rest symbolp))))
   `(defun ,name  (start end &optional depth length)
      ,(concat doc "\nSee `semantic-lex' for more information.")
      ;; Make sure the state of block parsing starts over.
@@ -1064,14 +1065,13 @@ the desired syntax, and a position returned.
 If `debug-on-error' is set, errors are not caught, so that you can
 debug them.
 Avoid using a large FORMS since it is duplicated."
+  (declare (indent 1) (debug t))
   `(if (and debug-on-error semantic-lex-debug-analyzers)
        (progn ,@forms)
      (condition-case nil
          (progn ,@forms)
        (error
         (semantic-lex-unterminated-syntax-detected ,syntax)))))
-(put 'semantic-lex-unterminated-syntax-protection
-     'lisp-indent-function 1)
 
 (defmacro define-lex-analyzer (name doc condition &rest forms)
   "Create a single lexical analyzer NAME with DOC.
@@ -1096,6 +1096,7 @@ Proper action in FORMS is to move the value of 
`semantic-lex-end-point' to
 after the location of the analyzed entry, and to add any discovered tokens
 at the beginning of `semantic-lex-token-stream'.
 This can be done by using `semantic-lex-push-token'."
+  (declare (debug (&define name stringp form def-body)))
   `(eval-and-compile
      (defvar ,name nil ,doc)
      (defun ,name nil)
@@ -1122,6 +1123,7 @@ This can be done by using `semantic-lex-push-token'."
   "Create a lexical analyzer with NAME and DOC that will match REGEXP.
 FORMS are evaluated upon a successful match.
 See `define-lex-analyzer' for more about analyzers."
+  (declare (debug (&define name stringp form def-body)))
   `(define-lex-analyzer ,name
      ,doc
      (looking-at ,regexp)
@@ -1139,6 +1141,8 @@ expression.
 FORMS are evaluated upon a successful match BEFORE the new token is
 created.  It is valid to ignore FORMS.
 See `define-lex-analyzer' for more about analyzers."
+  (declare (debug
+            (&define name stringp form symbolp [ &optional form ] def-body)))
   `(define-lex-analyzer ,name
      ,doc
      (looking-at ,regexp)
@@ -1163,6 +1167,7 @@ where BLOCK-SYM is the symbol returned in a block token.  
OPEN-DELIM
 and CLOSE-DELIM are respectively the open and close delimiters
 identifying a block.  OPEN-SYM and CLOSE-SYM are respectively the
 symbols returned in open and close tokens."
+  (declare (debug (&define name stringp form (&rest form))))
   (let ((specs (cons spec1 specs))
         spec open olist clist)
     (while specs
@@ -1684,6 +1689,7 @@ the error will be caught here without the buffer's cache 
being thrown
 out of date.
 If there is an error, the syntax that failed is returned.
 If there is no error, then the last value of FORMS is returned."
+  (declare (indent 1) (debug (symbolp def-body)))
   (let ((ret (make-symbol "ret"))
         (syntax (make-symbol "syntax"))
         (start (make-symbol "start"))
@@ -1707,36 +1713,8 @@ If there is no error, then the last value of FORMS is 
returned."
          ;;(message "Buffer not currently parsable (%S)." ,ret)
          (semantic-parse-tree-unparseable))
        ,ret)))
-(put 'semantic-lex-catch-errors 'lisp-indent-function 1)
 
 
-;;; Interfacing with edebug
-;;
-(add-hook
- 'edebug-setup-hook
- #'(lambda ()
-
-     (def-edebug-spec define-lex
-       (&define name stringp (&rest symbolp))
-       )
-     (def-edebug-spec define-lex-analyzer
-       (&define name stringp form def-body)
-       )
-     (def-edebug-spec define-lex-regex-analyzer
-       (&define name stringp form def-body)
-       )
-     (def-edebug-spec define-lex-simple-regex-analyzer
-       (&define name stringp form symbolp [ &optional form ] def-body)
-       )
-     (def-edebug-spec define-lex-block-analyzer
-       (&define name stringp form (&rest form))
-       )
-     (def-edebug-spec semantic-lex-catch-errors
-       (symbolp def-body)
-       )
-
-     ))
-
 ;;; Compatibility with Semantic 1.x lexical analysis
 
 (defvar semantic-flex-tokens semantic-lex-tokens
diff --git a/lisp/cedet/semantic/tag.el b/lisp/cedet/semantic/tag.el
index 85defe4..3d7bce8 100644
--- a/lisp/cedet/semantic/tag.el
+++ b/lisp/cedet/semantic/tag.el
@@ -1,4 +1,4 @@
-;;; semantic/tag.el --- tag creation and access
+;;; semantic/tag.el --- Tag creation and access  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 1999-2005, 2007-2021 Free Software Foundation, Inc.
 
@@ -1038,25 +1038,17 @@ See `semantic-tag-bounds'."
 
 (defmacro semantic-with-buffer-narrowed-to-current-tag (&rest body)
   "Execute BODY with the buffer narrowed to the current tag."
+  (declare (indent 0) (debug t))
   `(save-restriction
      (semantic-narrow-to-tag (semantic-current-tag))
      ,@body))
-(put 'semantic-with-buffer-narrowed-to-current-tag 'lisp-indent-function 0)
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec semantic-with-buffer-narrowed-to-current-tag
-             (def-body))))
 
 (defmacro semantic-with-buffer-narrowed-to-tag (tag &rest body)
   "Narrow to TAG, and execute BODY."
+  (declare (indent 1) (debug t))
   `(save-restriction
      (semantic-narrow-to-tag ,tag)
      ,@body))
-(put 'semantic-with-buffer-narrowed-to-tag 'lisp-indent-function 1)
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec semantic-with-buffer-narrowed-to-tag
-             (def-body))))
 
 ;;; Tag Hooks
 ;;
diff --git a/lisp/cedet/semantic/wisent.el b/lisp/cedet/semantic/wisent.el
index d5b7324..ecd9683 100644
--- a/lisp/cedet/semantic/wisent.el
+++ b/lisp/cedet/semantic/wisent.el
@@ -1,4 +1,4 @@
-;;; semantic/wisent.el --- Wisent - Semantic gateway
+;;; semantic/wisent.el --- Wisent - Semantic gateway  -*- lexical-binding: t; 
-*-
 
 ;; Copyright (C) 2001-2007, 2009-2021 Free Software Foundation, Inc.
 
@@ -69,6 +69,7 @@ Returned tokens must have the form:
   (TOKSYM VALUE START . END)
 
 where VALUE is the buffer substring between START and END positions."
+  (declare (debug (&define name stringp def-body)))
   `(defun
      ,name () ,doc
      (cond
@@ -319,18 +320,6 @@ the standard function `semantic-parse-region'."
                       (point-max))))))
     ;; Return parse tree
     (nreverse ptree)))
-
-;;; Interfacing with edebug
-;;
-(add-hook
- 'edebug-setup-hook
- #'(lambda ()
-
-     (def-edebug-spec define-wisent-lexer
-       (&define name stringp def-body)
-       )
-
-     ))
 
 (provide 'semantic/wisent)
 
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el
index 3bf3fd2..f06452e 100644
--- a/lisp/emacs-lisp/cl-lib.el
+++ b/lisp/emacs-lisp/cl-lib.el
@@ -140,7 +140,7 @@ to an element already in the list stored in PLACE.
 \n(fn X PLACE [KEYWORD VALUE]...)"
   (declare (debug
             (form place &rest
-                  &or [[&or ":test" ":test-not" ":key"] function-form]
+                  &or [[&or ":test" ":test-not" ":key"] form]
                   [keywordp form])))
   (if (symbolp place)
       (if (null keys)
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index a09c47c..9fccc6b 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -355,7 +355,7 @@ This function is explicit for adding to 
`eshell-parse-argument-hook'."
 (defun pcomplete/eshell-mode/setq ()
   "Completion function for Eshell's `setq'."
   (while (and (pcomplete-here (all-completions pcomplete-stub
-                                              obarray 'boundp))
+                                              obarray #'boundp))
              (pcomplete-here))))
 
 ;; FIXME the real "env" command does more than this, it runs a program
diff --git a/lisp/org/ob-comint.el b/lisp/org/ob-comint.el
index 18d4f3c..b14849d 100644
--- a/lisp/org/ob-comint.el
+++ b/lisp/org/ob-comint.el
@@ -44,7 +44,7 @@
 BUFFER is checked with `org-babel-comint-buffer-livep'.  BODY is
 executed inside the protection of `save-excursion' and
 `save-match-data'."
-  (declare (indent 1))
+  (declare (indent 1) (debug t))
   `(progn
      (unless (org-babel-comint-buffer-livep ,buffer)
        (error "Buffer %s does not exist or has no process" ,buffer))
@@ -53,7 +53,6 @@ executed inside the protection of `save-excursion' and
         (save-excursion
           (let ((comint-input-filter (lambda (_input) nil)))
             ,@body))))))
-(def-edebug-spec org-babel-comint-in-buffer (form body))
 
 (defmacro org-babel-comint-with-output (meta &rest body)
   "Evaluate BODY in BUFFER and return process output.
@@ -67,7 +66,7 @@ elements are optional.
 
 This macro ensures that the filter is removed in case of an error
 or user `keyboard-quit' during execution of body."
-  (declare (indent 1))
+  (declare (indent 1) (debug (sexp body)))
   (let ((buffer (nth 0 meta))
        (eoe-indicator (nth 1 meta))
        (remove-echo (nth 2 meta))
@@ -112,7 +111,6 @@ or user `keyboard-quit' during execution of body."
                     string-buffer))
           (setq string-buffer (substring string-buffer (match-end 0))))
         (split-string string-buffer comint-prompt-regexp)))))
-(def-edebug-spec org-babel-comint-with-output (sexp body))
 
 (defun org-babel-comint-input-command (buffer cmd)
   "Pass CMD to BUFFER.
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el
index 1343410..b1fd694 100644
--- a/lisp/org/ob-core.el
+++ b/lisp/org/ob-core.el
@@ -1100,7 +1100,7 @@ end-header-args -- point at the end of the header-args
 body ------------- string holding the body of the code block
 beg-body --------- point at the beginning of the body
 end-body --------- point at the end of the body"
-  (declare (indent 1))
+  (declare (indent 1) (debug t))
   (let ((tempvar (make-symbol "file")))
     `(let* ((case-fold-search t)
            (,tempvar ,file)
@@ -1139,7 +1139,6 @@ end-body --------- point at the end of the body"
               (goto-char end-block)))))
        (unless visited-p (kill-buffer to-be-removed))
        (goto-char point))))
-(def-edebug-spec org-babel-map-src-blocks (form body))
 
 ;;;###autoload
 (defmacro org-babel-map-inline-src-blocks (file &rest body)
@@ -1354,7 +1353,7 @@ the `org-mode-hook'."
        (goto-char (match-beginning 0))
        (org-babel-hide-hash)
        (goto-char (match-end 0))))))
-(add-hook 'org-mode-hook 'org-babel-hide-all-hashes)
+(add-hook 'org-mode-hook #'org-babel-hide-all-hashes)
 
 (defun org-babel-hash-at-point (&optional point)
   "Return the value of the hash at POINT.
@@ -1372,7 +1371,7 @@ This can be called with `\\[org-ctrl-c-ctrl-c]'."
 Add `org-babel-hide-result' as an invisibility spec for hiding
 portions of results lines."
   (add-to-invisibility-spec '(org-babel-hide-result . t)))
-(add-hook 'org-mode-hook 'org-babel-result-hide-spec)
+(add-hook 'org-mode-hook #'org-babel-result-hide-spec)
 
 (defvar org-babel-hide-result-overlays nil
   "Overlays hiding results.")
@@ -1443,11 +1442,11 @@ portions of results lines."
        (push ov org-babel-hide-result-overlays)))))
 
 ;; org-tab-after-check-for-cycling-hook
-(add-hook 'org-tab-first-hook 'org-babel-hide-result-toggle-maybe)
+(add-hook 'org-tab-first-hook #'org-babel-hide-result-toggle-maybe)
 ;; Remove overlays when changing major mode
 (add-hook 'org-mode-hook
          (lambda () (add-hook 'change-major-mode-hook
-                         'org-babel-show-result-all 'append 'local)))
+                         #'org-babel-show-result-all 'append 'local)))
 
 (defun org-babel-params-from-properties (&optional lang no-eval)
   "Retrieve source block parameters specified as properties.
@@ -3075,8 +3074,7 @@ Emacs shutdown."))
 
 (defmacro org-babel-result-cond (result-params scalar-form &rest table-forms)
   "Call the code to parse raw string results according to RESULT-PARAMS."
-  (declare (indent 1)
-          (debug (form form &rest form)))
+  (declare (indent 1) (debug t))
   (org-with-gensyms (params)
     `(let ((,params ,result-params))
        (unless (member "none" ,params)
@@ -3093,7 +3091,6 @@ Emacs shutdown."))
                      (not (member "table" ,params))))
             ,scalar-form
           ,@table-forms)))))
-(def-edebug-spec org-babel-result-cond (form form body))
 
 (defun org-babel-temp-file (prefix &optional suffix)
   "Create a temporary file in the `org-babel-temporary-directory'.
@@ -3136,7 +3133,7 @@ of `org-babel-temporary-directory'."
                    org-babel-temporary-directory
                  "[directory not defined]"))))))
 
-(add-hook 'kill-emacs-hook 'org-babel-remove-temporary-directory)
+(add-hook 'kill-emacs-hook #'org-babel-remove-temporary-directory)
 
 (defun org-babel-one-header-arg-safe-p (pair safe-list)
   "Determine if the PAIR is a safe babel header arg according to SAFE-LIST.
diff --git a/lisp/org/ob-tangle.el b/lisp/org/ob-tangle.el
index 3c3943c..aa0373a 100644
--- a/lisp/org/ob-tangle.el
+++ b/lisp/org/ob-tangle.el
@@ -150,7 +150,7 @@ represented in the file."
   "Open FILE into a temporary buffer execute BODY there like
 `progn', then kill the FILE buffer returning the result of
 evaluating BODY."
-  (declare (indent 1))
+  (declare (indent 1) (debug t))
   (let ((temp-path (make-symbol "temp-path"))
        (temp-result (make-symbol "temp-result"))
        (temp-file (make-symbol "temp-file"))
@@ -164,7 +164,6 @@ evaluating BODY."
         (setf ,temp-result (progn ,@body)))
        (unless ,visited-p (kill-buffer ,temp-file))
        ,temp-result)))
-(def-edebug-spec org-babel-with-temp-filebuffer (form body))
 
 ;;;###autoload
 (defun org-babel-tangle-file (file &optional target-file lang-re)
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 99e5464..b9799d2 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -2090,6 +2090,7 @@ Note that functions in this alist don't need to be 
quoted."
 If STRING is non-nil, the text property will be fetched from position 0
 in that string.  If STRING is nil, it will be fetched from the beginning
 of the current line."
+  (declare (debug t))
   (org-with-gensyms (marker)
     `(let ((,marker (get-text-property (if ,string 0 (point-at-bol))
                                       'org-hd-marker ,string)))
@@ -2097,7 +2098,6 @@ of the current line."
         (save-excursion
           (goto-char ,marker)
           ,@body)))))
-(def-edebug-spec org-agenda-with-point-at-orig-entry (form body))
 
 (defun org-add-agenda-custom-command (entry)
   "Replace or add a command in `org-agenda-custom-commands'.
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 2073b33..2844b0e 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -911,17 +911,17 @@ If CLOCK-SOUND is non-nil, it overrides 
`org-clock-sound'."
 
 (defmacro org-with-clock-position (clock &rest forms)
   "Evaluate FORMS with CLOCK as the current active clock."
+  (declare (indent 1) (debug t))
   `(with-current-buffer (marker-buffer (car ,clock))
      (org-with-wide-buffer
       (goto-char (car ,clock))
       (beginning-of-line)
       ,@forms)))
-(def-edebug-spec org-with-clock-position (form body))
-(put 'org-with-clock-position 'lisp-indent-function 1)
 
 (defmacro org-with-clock (clock &rest forms)
   "Evaluate FORMS with CLOCK as the current active clock.
 This macro also protects the current active clock from being altered."
+  (declare (indent 1) (debug t))
   `(org-with-clock-position ,clock
      (let ((org-clock-start-time (cdr ,clock))
           (org-clock-total-time)
@@ -932,8 +932,6 @@ This macro also protects the current active clock from 
being altered."
                                  (org-back-to-heading t)
                                  (point-marker))))
        ,@forms)))
-(def-edebug-spec org-with-clock (form body))
-(put 'org-with-clock 'lisp-indent-function 1)
 
 (defsubst org-clock-clock-in (clock &optional resume start-time)
   "Clock in to the clock located by CLOCK.
diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el
index 29d9d58..d8a4937 100644
--- a/lisp/org/org-pcomplete.el
+++ b/lisp/org/org-pcomplete.el
@@ -239,11 +239,11 @@ When completing for #+STARTUP, for example, this function 
returns
   (require 'ox)
   (pcomplete-here
    (and org-export-exclude-tags
-       (list (mapconcat 'identity org-export-exclude-tags " ")))))
+       (list (mapconcat #'identity org-export-exclude-tags " ")))))
 
 (defun pcomplete/org-mode/file-option/filetags ()
   "Complete arguments for the #+FILETAGS file option."
-  (pcomplete-here (and org-file-tags (mapconcat 'identity org-file-tags " "))))
+  (pcomplete-here (and org-file-tags (mapconcat #'identity org-file-tags " 
"))))
 
 (defun pcomplete/org-mode/file-option/language ()
   "Complete arguments for the #+LANGUAGE file option."
@@ -264,13 +264,13 @@ When completing for #+STARTUP, for example, this function 
returns
   (require 'ox)
   (pcomplete-here
    (and org-export-select-tags
-       (list (mapconcat 'identity org-export-select-tags " ")))))
+       (list (mapconcat #'identity org-export-select-tags " ")))))
 
 (defun pcomplete/org-mode/file-option/startup ()
   "Complete arguments for the #+STARTUP file option."
   (while (pcomplete-here
          (let ((opts (pcomplete-uniquify-list
-                      (mapcar 'car org-startup-options))))
+                      (mapcar #'car org-startup-options))))
            ;; Some options are mutually exclusive, and shouldn't be completed
            ;; against if certain other options have already been seen.
            (dolist (arg pcomplete-args)
@@ -340,7 +340,8 @@ When completing for #+STARTUP, for example, this function 
returns
   "Complete against TeX-style HTML entity names."
   (require 'org-entities)
   (while (pcomplete-here
-         (pcomplete-uniquify-list (remove nil (mapcar 'car-safe org-entities)))
+         (pcomplete-uniquify-list
+          (remove nil (mapcar #'car-safe org-entities)))
          (substring pcomplete-stub 1))))
 
 (defun pcomplete/org-mode/todo ()
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el
index dd964e3..6c68645 100644
--- a/lisp/pcmpl-gnu.el
+++ b/lisp/pcmpl-gnu.el
@@ -106,7 +106,7 @@
     (while (pcomplete-here (completion-table-in-turn
                             (pcmpl-gnu-make-rule-names)
                             (pcomplete-entries))
-                           nil 'identity))))
+                           nil #'identity))))
 
 (defun pcmpl-gnu-makefile-names ()
   "Return a list of possible makefile names."
@@ -336,7 +336,7 @@ Return the new list."
                          (pcomplete-match-string 1 0)))))
     (unless saw-option
       (pcomplete-here
-       (mapcar 'char-to-string
+       (mapcar #'char-to-string
               (string-to-list
                "01234567ABCFGIKLMNOPRSTUVWXZbcdfghiklmoprstuvwxz")))
       (if (pcomplete-match "[xt]" 'first 1)
@@ -355,7 +355,7 @@ Return the new list."
                      (pcmpl-gnu-with-file-buffer
                       file (mapcar #'tar-header-name tar-parse-info)))))
              (pcomplete-entries))
-           nil 'identity))))
+           nil #'identity))))
 
 ;;;###autoload
 
@@ -391,7 +391,7 @@ Return the new list."
                (string= prec "-execdir"))
            (while (pcomplete-here* (funcall 
pcomplete-command-completion-function)
                                    (pcomplete-arg 'last) t))))
-    (while (pcomplete-here (pcomplete-dirs) nil 'identity))))
+    (while (pcomplete-here (pcomplete-dirs) nil #'identity))))
 
 ;;;###autoload
 (defalias 'pcomplete/gdb 'pcomplete/xargs)
diff --git a/lisp/pcmpl-linux.el b/lisp/pcmpl-linux.el
index 2f42dbd..263d646 100644
--- a/lisp/pcmpl-linux.el
+++ b/lisp/pcmpl-linux.el
@@ -50,20 +50,20 @@
   (while (pcomplete-here
          (if (file-directory-p "/proc")
               (directory-files "/proc" nil "\\`[0-9]+\\'"))
-         nil 'identity)))
+         nil #'identity)))
 
 ;;;###autoload
 (defun pcomplete/umount ()
   "Completion for GNU/Linux `umount'."
   (pcomplete-opt "hVafrnvt(pcmpl-linux-fs-types)")
   (while (pcomplete-here (pcmpl-linux-mounted-directories)
-                        nil 'identity)))
+                        nil #'identity)))
 
 ;;;###autoload
 (defun pcomplete/mount ()
   "Completion for GNU/Linux `mount'."
   (pcomplete-opt "hVanfFrsvwt(pcmpl-linux-fs-types)o?L?U?")
-  (while (pcomplete-here (pcomplete-entries) nil 'identity)))
+  (while (pcomplete-here (pcomplete-entries) nil #'identity)))
 
 (defconst pcmpl-linux-fs-modules-path-format "/lib/modules/%s/kernel/fs/")
 
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el
index 70273b9..c1aaf82 100644
--- a/lisp/pcmpl-unix.el
+++ b/lisp/pcmpl-unix.el
@@ -77,7 +77,7 @@ being via `pcmpl-ssh-known-hosts-file'."
   (let ((pcomplete-help "(fileutils)rm invocation"))
     (pcomplete-opt "dfirRv")
     (while (pcomplete-here (pcomplete-all-entries) nil
-                          'expand-file-name))))
+                          #'expand-file-name))))
 
 ;;;###autoload
 (defun pcomplete/xargs ()
diff --git a/lisp/pcmpl-x.el b/lisp/pcmpl-x.el
index 61d8866..084f0e6 100644
--- a/lisp/pcmpl-x.el
+++ b/lisp/pcmpl-x.el
@@ -301,7 +301,8 @@ long options."
          "nst" "ntd" "nto" "nvf" "obi" "obs" "ofp" "osh" "ovf" "par"
          "pch" "pck" "pia" "pin" "pow" "prc" "pre" "pro" "rch" "ret"
          "rng" "rpt" "rvl" "sig" "spa" "stl" "stu" "stv" "sus" "tai"
-         "tes" "thr" "ucp" "use" "voi" "zdi") (match-string 2 cur)))
+         "tes" "thr" "ucp" "use" "voi" "zdi")
+       (match-string 2 cur)))
      ((string-match "\\`-[LIn]\\([^;]+;\\)*\\([^;]*\\)\\'" cur)
       (pcomplete-here (pcomplete-dirs) (match-string 2 cur)))
      ((string-match "\\`-[Ee]\\(.*\\)\\'" cur)
diff --git a/lisp/shell.el b/lisp/shell.el
index 3212824..9238ad1 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -463,7 +463,7 @@ Shell buffers.  It implements `shell-completion-execonly' 
for
   (if (pcomplete-match "/")
       (pcomplete-here (pcomplete-entries nil
                                         (if shell-completion-execonly
-                                            'file-executable-p)))
+                                            #'file-executable-p)))
     (pcomplete-here
      (nth 2 (shell--command-completion-data)))))
 
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index e43978f..d64c721 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -1,4 +1,4 @@
-;;; speedbar --- quick access to files and tags in a frame
+;;; speedbar --- quick access to files and tags in a frame  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -1640,7 +1640,7 @@ variable `speedbar-obj-alist'."
 
 (defmacro speedbar-with-writable (&rest forms)
   "Allow the buffer to be writable and evaluate FORMS."
-  (declare (indent 0))
+  (declare (indent 0) (debug t))
   `(let ((inhibit-read-only t))
      ,@forms))
 
@@ -4001,11 +4001,6 @@ TEXT is the buffer's name, TOKEN and INDENT are unused."
   "Speedbar face for separator labels in a display."
   :group 'speedbar-faces)
 
-;; some edebug hooks
-(add-hook 'edebug-setup-hook
-         (lambda ()
-           (def-edebug-spec speedbar-with-writable def-body)))
-
 ;; Fix a font lock problem for some versions of Emacs
 (and (boundp 'font-lock-global-modes)
      font-lock-global-modes
diff --git a/lisp/subr.el b/lisp/subr.el
index eb28728..454ea54 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -88,6 +88,7 @@ Both SYMBOL and SPEC are unevaluated.  The SPEC can be:
 a symbol (naming a function with an Edebug specification); or a list.
 The elements of the list describe the argument types; see
 Info node `(elisp)Specification List' for details."
+  (declare (indent 1))
   `(put (quote ,symbol) 'edebug-form-spec (quote ,spec)))
 
 (defmacro lambda (&rest cdr)
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 2b31e7e..c51285d 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -105,10 +105,6 @@
 ;; Common Lisp stuff
 (require 'cl-lib)
 
-;; Correct wrong declaration.
-(def-edebug-spec push
-  (&or [form symbolp] [form gv-place]))
-
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Support for `testcover'
 
diff --git a/lisp/vc/pcvs-parse.el b/lisp/vc/pcvs-parse.el
index 4381650..a95ea0d 100644
--- a/lisp/vc/pcvs-parse.el
+++ b/lisp/vc/pcvs-parse.el
@@ -1,4 +1,4 @@
-;;; pcvs-parse.el --- the CVS output parser
+;;; pcvs-parse.el --- the CVS output parser  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 1991-2021 Free Software Foundation, Inc.
 
@@ -73,12 +73,12 @@ by `$'."
   '("status" "add" "commit" "update" "remove" "checkout" "ci")
   "List of CVS commands whose output is understood by the parser.")
 
-(defun cvs-parse-buffer (parse-spec dont-change-disc &optional subdir)
+(defun cvs-parse-buffer (parse-spec dcd &optional subdir)
   "Parse current buffer according to PARSE-SPEC.
 PARSE-SPEC is a function of no argument advancing the point and returning
   either a fileinfo or t (if the matched text should be ignored) or
   nil if it didn't match anything.
-DONT-CHANGE-DISC just indicates whether the command was changing the disc
+DCD just indicates whether the command was changing the disc
   or not (useful to tell the difference between `cvs-examine' and `cvs-update'
   output.
 The path names should be interpreted as relative to SUBDIR (defaults
@@ -86,6 +86,7 @@ The path names should be interpreted as relative to SUBDIR 
(defaults
 Return a list of collected entries, or t if an error occurred."
   (goto-char (point-min))
   (let ((fileinfos ())
+       (dont-change-disc dcd)
        (cvs-current-dir "")
        (case-fold-search nil)
        (cvs-current-subdir (or subdir "")))
@@ -134,12 +135,12 @@ Match RE and if successful, execute MATCHES."
 
 (defmacro cvs-or (&rest alts)
   "Try each one of the ALTS alternatives until one matches."
+  (declare (debug t))
   `(let ((-cvs-parse-point (point)))
      ,(cons 'or
            (mapcar (lambda (es)
                      `(or ,es (ignore (goto-char -cvs-parse-point))))
                    alts))))
-(def-edebug-spec cvs-or t)
 
 ;; This is how parser tables should be executed
 (defun cvs-parse-run-table (parse-spec)
@@ -190,9 +191,9 @@ The remaining KEYS are passed directly to 
`cvs-create-fileinfo'."
             file (cvs-parse-msg) :subtype subtype keys))))
 
 ;;;; CVS Process Parser Tables:
-;;;;
-;;;; The table for status and update could actually be merged since they
-;;;; don't conflict.  But they don't overlap much either.
+;;
+;; The table for status and update could actually be merged since they
+;; don't conflict.  But they don't overlap much either.
 
 (defun cvs-parse-table ()
   "Table of message objects for `cvs-parse-process'."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]