Browse Source

Backport commit f8dbefbaa from Emacs

* lisp/ob-comint.el (org-babel-comint-in-buffer)
(org-babel-comint-with-output): Use `declare`.

* lisp/ob-core.el (org-babel-map-src-blocks): Use `declare`.
(org-babel-result-cond): Simplify edebug spec.

* lisp/org-clock.el (org-with-clock-position, org-with-clock):
* lisp/org-agenda.el (org-agenda-with-point-at-orig-entry):
* lisp/ob-tangle.el (org-babel-with-temp-filebuffer): Use `declare`.

Use `declare` instead of `def-edebug-spec` in most places
f8dbefbaa59bb17dd4a2dfa4d9ff560c46785792
Stefan Monnier
Fri Feb 12 16:08:01 2021 -0500
Stefan Monnier 4 years ago
parent
commit
7dd1cfb6ca
6 changed files with 19 additions and 26 deletions
  1. 2 4
      lisp/ob-comint.el
  2. 7 10
      lisp/ob-core.el
  3. 1 2
      lisp/ob-tangle.el
  4. 1 1
      lisp/org-agenda.el
  5. 2 4
      lisp/org-clock.el
  6. 6 5
      lisp/org-pcomplete.el

+ 2 - 4
lisp/ob-comint.el

@@ -44,7 +44,7 @@
 BUFFER is checked with `org-babel-comint-buffer-livep'.  BODY is
 BUFFER is checked with `org-babel-comint-buffer-livep'.  BODY is
 executed inside the protection of `save-excursion' and
 executed inside the protection of `save-excursion' and
 `save-match-data'."
 `save-match-data'."
-  (declare (indent 1))
+  (declare (indent 1) (debug t))
   `(progn
   `(progn
      (unless (org-babel-comint-buffer-livep ,buffer)
      (unless (org-babel-comint-buffer-livep ,buffer)
        (error "Buffer %s does not exist or has no process" ,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
 	 (save-excursion
 	   (let ((comint-input-filter (lambda (_input) nil)))
 	   (let ((comint-input-filter (lambda (_input) nil)))
 	     ,@body))))))
 	     ,@body))))))
-(def-edebug-spec org-babel-comint-in-buffer (form body))
 
 
 (defmacro org-babel-comint-with-output (meta &rest body)
 (defmacro org-babel-comint-with-output (meta &rest body)
   "Evaluate BODY in BUFFER and return process output.
   "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
 This macro ensures that the filter is removed in case of an error
 or user `keyboard-quit' during execution of body."
 or user `keyboard-quit' during execution of body."
-  (declare (indent 1))
+  (declare (indent 1) (debug (sexp body)))
   (let ((buffer (nth 0 meta))
   (let ((buffer (nth 0 meta))
 	(eoe-indicator (nth 1 meta))
 	(eoe-indicator (nth 1 meta))
 	(remove-echo (nth 2 meta))
 	(remove-echo (nth 2 meta))
@@ -112,7 +111,6 @@ or user `keyboard-quit' during execution of body."
 		     string-buffer))
 		     string-buffer))
 	   (setq string-buffer (substring string-buffer (match-end 0))))
 	   (setq string-buffer (substring string-buffer (match-end 0))))
 	 (split-string string-buffer comint-prompt-regexp)))))
 	 (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)
 (defun org-babel-comint-input-command (buffer cmd)
   "Pass CMD to BUFFER.
   "Pass CMD to BUFFER.

+ 7 - 10
lisp/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
 body ------------- string holding the body of the code block
 beg-body --------- point at the beginning of the body
 beg-body --------- point at the beginning of the body
 end-body --------- point at the end 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 ((tempvar (make-symbol "file")))
     `(let* ((case-fold-search t)
     `(let* ((case-fold-search t)
 	    (,tempvar ,file)
 	    (,tempvar ,file)
@@ -1139,7 +1139,6 @@ end-body --------- point at the end of the body"
 	       (goto-char end-block)))))
 	       (goto-char end-block)))))
        (unless visited-p (kill-buffer to-be-removed))
        (unless visited-p (kill-buffer to-be-removed))
        (goto-char point))))
        (goto-char point))))
-(def-edebug-spec org-babel-map-src-blocks (form body))
 
 
 ;;;###autoload
 ;;;###autoload
 (defmacro org-babel-map-inline-src-blocks (file &rest body)
 (defmacro org-babel-map-inline-src-blocks (file &rest body)
@@ -1354,7 +1353,7 @@ the `org-mode-hook'."
 	(goto-char (match-beginning 0))
 	(goto-char (match-beginning 0))
 	(org-babel-hide-hash)
 	(org-babel-hide-hash)
 	(goto-char (match-end 0))))))
 	(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)
 (defun org-babel-hash-at-point (&optional point)
   "Return the value of the hash at 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
 Add `org-babel-hide-result' as an invisibility spec for hiding
 portions of results lines."
 portions of results lines."
   (add-to-invisibility-spec '(org-babel-hide-result . t)))
   (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
 (defvar org-babel-hide-result-overlays nil
   "Overlays hiding results.")
   "Overlays hiding results.")
@@ -1443,11 +1442,11 @@ portions of results lines."
 	(push ov org-babel-hide-result-overlays)))))
 	(push ov org-babel-hide-result-overlays)))))
 
 
 ;; org-tab-after-check-for-cycling-hook
 ;; 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
 ;; Remove overlays when changing major mode
 (add-hook 'org-mode-hook
 (add-hook 'org-mode-hook
 	  (lambda () (add-hook 'change-major-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)
 (defun org-babel-params-from-properties (&optional lang no-eval)
   "Retrieve source block parameters specified as properties.
   "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)
 (defmacro org-babel-result-cond (result-params scalar-form &rest table-forms)
   "Call the code to parse raw string results according to RESULT-PARAMS."
   "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)
   (org-with-gensyms (params)
     `(let ((,params ,result-params))
     `(let ((,params ,result-params))
        (unless (member "none" ,params)
        (unless (member "none" ,params)
@@ -3093,7 +3091,6 @@ Emacs shutdown."))
 		      (not (member "table" ,params))))
 		      (not (member "table" ,params))))
 	     ,scalar-form
 	     ,scalar-form
 	   ,@table-forms)))))
 	   ,@table-forms)))))
-(def-edebug-spec org-babel-result-cond (form form body))
 
 
 (defun org-babel-temp-file (prefix &optional suffix)
 (defun org-babel-temp-file (prefix &optional suffix)
   "Create a temporary file in the `org-babel-temporary-directory'.
   "Create a temporary file in the `org-babel-temporary-directory'.
@@ -3136,7 +3133,7 @@ of `org-babel-temporary-directory'."
 		    org-babel-temporary-directory
 		    org-babel-temporary-directory
 		  "[directory not defined]"))))))
 		  "[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)
 (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.
   "Determine if the PAIR is a safe babel header arg according to SAFE-LIST.

+ 1 - 2
lisp/ob-tangle.el

@@ -150,7 +150,7 @@ represented in the file."
   "Open FILE into a temporary buffer execute BODY there like
   "Open FILE into a temporary buffer execute BODY there like
 `progn', then kill the FILE buffer returning the result of
 `progn', then kill the FILE buffer returning the result of
 evaluating BODY."
 evaluating BODY."
-  (declare (indent 1))
+  (declare (indent 1) (debug t))
   (let ((temp-path (make-symbol "temp-path"))
   (let ((temp-path (make-symbol "temp-path"))
 	(temp-result (make-symbol "temp-result"))
 	(temp-result (make-symbol "temp-result"))
 	(temp-file (make-symbol "temp-file"))
 	(temp-file (make-symbol "temp-file"))
@@ -164,7 +164,6 @@ evaluating BODY."
 	 (setf ,temp-result (progn ,@body)))
 	 (setf ,temp-result (progn ,@body)))
        (unless ,visited-p (kill-buffer ,temp-file))
        (unless ,visited-p (kill-buffer ,temp-file))
        ,temp-result)))
        ,temp-result)))
-(def-edebug-spec org-babel-with-temp-filebuffer (form body))
 
 
 ;;;###autoload
 ;;;###autoload
 (defun org-babel-tangle-file (file &optional target-file lang-re)
 (defun org-babel-tangle-file (file &optional target-file lang-re)

+ 1 - 1
lisp/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
 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
 in that string.  If STRING is nil, it will be fetched from the beginning
 of the current line."
 of the current line."
+  (declare (debug t))
   (org-with-gensyms (marker)
   (org-with-gensyms (marker)
     `(let ((,marker (get-text-property (if ,string 0 (point-at-bol))
     `(let ((,marker (get-text-property (if ,string 0 (point-at-bol))
 				       'org-hd-marker ,string)))
 				       'org-hd-marker ,string)))
@@ -2097,7 +2098,6 @@ of the current line."
 	 (save-excursion
 	 (save-excursion
 	   (goto-char ,marker)
 	   (goto-char ,marker)
 	   ,@body)))))
 	   ,@body)))))
-(def-edebug-spec org-agenda-with-point-at-orig-entry (form body))
 
 
 (defun org-add-agenda-custom-command (entry)
 (defun org-add-agenda-custom-command (entry)
   "Replace or add a command in `org-agenda-custom-commands'.
   "Replace or add a command in `org-agenda-custom-commands'.

+ 2 - 4
lisp/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)
 (defmacro org-with-clock-position (clock &rest forms)
   "Evaluate FORMS with CLOCK as the current active clock."
   "Evaluate FORMS with CLOCK as the current active clock."
+  (declare (indent 1) (debug t))
   `(with-current-buffer (marker-buffer (car ,clock))
   `(with-current-buffer (marker-buffer (car ,clock))
      (org-with-wide-buffer
      (org-with-wide-buffer
       (goto-char (car ,clock))
       (goto-char (car ,clock))
       (beginning-of-line)
       (beginning-of-line)
       ,@forms)))
       ,@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)
 (defmacro org-with-clock (clock &rest forms)
   "Evaluate FORMS with CLOCK as the current active clock.
   "Evaluate FORMS with CLOCK as the current active clock.
 This macro also protects the current active clock from being altered."
 This macro also protects the current active clock from being altered."
+  (declare (indent 1) (debug t))
   `(org-with-clock-position ,clock
   `(org-with-clock-position ,clock
      (let ((org-clock-start-time (cdr ,clock))
      (let ((org-clock-start-time (cdr ,clock))
 	   (org-clock-total-time)
 	   (org-clock-total-time)
@@ -932,8 +932,6 @@ This macro also protects the current active clock from being altered."
 				  (org-back-to-heading t)
 				  (org-back-to-heading t)
 				  (point-marker))))
 				  (point-marker))))
        ,@forms)))
        ,@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)
 (defsubst org-clock-clock-in (clock &optional resume start-time)
   "Clock in to the clock located by CLOCK.
   "Clock in to the clock located by CLOCK.

+ 6 - 5
lisp/org-pcomplete.el

@@ -239,11 +239,11 @@ When completing for #+STARTUP, for example, this function returns
   (require 'ox)
   (require 'ox)
   (pcomplete-here
   (pcomplete-here
    (and org-export-exclude-tags
    (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 ()
 (defun pcomplete/org-mode/file-option/filetags ()
   "Complete arguments for the #+FILETAGS file option."
   "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 ()
 (defun pcomplete/org-mode/file-option/language ()
   "Complete arguments for the #+LANGUAGE file option."
   "Complete arguments for the #+LANGUAGE file option."
@@ -264,13 +264,13 @@ When completing for #+STARTUP, for example, this function returns
   (require 'ox)
   (require 'ox)
   (pcomplete-here
   (pcomplete-here
    (and org-export-select-tags
    (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 ()
 (defun pcomplete/org-mode/file-option/startup ()
   "Complete arguments for the #+STARTUP file option."
   "Complete arguments for the #+STARTUP file option."
   (while (pcomplete-here
   (while (pcomplete-here
 	  (let ((opts (pcomplete-uniquify-list
 	  (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
 	    ;; Some options are mutually exclusive, and shouldn't be completed
 	    ;; against if certain other options have already been seen.
 	    ;; against if certain other options have already been seen.
 	    (dolist (arg pcomplete-args)
 	    (dolist (arg pcomplete-args)
@@ -340,7 +340,8 @@ When completing for #+STARTUP, for example, this function returns
   "Complete against TeX-style HTML entity names."
   "Complete against TeX-style HTML entity names."
   (require 'org-entities)
   (require 'org-entities)
   (while (pcomplete-here
   (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))))
 	  (substring pcomplete-stub 1))))
 
 
 (defun pcomplete/org-mode/todo ()
 (defun pcomplete/org-mode/todo ()