;;; -*- lexical-binding: t -*- ;; Correct (defun faw-str-decl-code (x) "something" (declare (pure t)) (print x)) (defun faw-doc-decl-code (x) (:documentation "something") (declare (pure t)) (print x)) (defun faw-str-int-code (x) "something" (interactive "P") (print x)) (defun faw-doc-int-code (x) (:documentation "something") (interactive "P") (print x)) (defun faw-decl-int-code (x) (declare (pure t)) (interactive "P") (print x)) (defun faw-str-decl-int-code (x) "something" (declare (pure t)) (interactive "P") (print x)) (defun faw-doc-decl-int-code (x) (:documentation "something") (declare (pure t)) (interactive "P") (print x)) ;; Correct (last string is return value) (defun faw-str () "something") (defun faw-decl-str () (declare (pure t)) "something") (defun faw-decl-int-str () (declare (pure t)) (interactive) "something") (defun faw-str-str () "something" "something else") (defun faw-doc-str () (:documentation "something") "something else") ;; Incorrect (bad order) (defun faw-int-decl-code (x) (interactive "P") (declare (pure t)) (print x)) (defun faw-int-str-code (x) (interactive "P") "something" (print x)) (defun faw-int-doc-code (x) (interactive "P") (:documentation "something") (print x)) (defun faw-decl-str-code (x) (declare (pure t)) "something" (print x)) (defun faw-decl-doc-code (x) (declare (pure t)) (:documentation "something") (print x)) (defun faw-str-int-decl-code (x) "something" (interactive "P") (declare (pure t)) (print x)) (defun faw-doc-int-decl-code (x) (:documentation "something") (interactive "P") (declare (pure t)) (print x)) (defun faw-int-str-decl-code (x) (interactive "P") "something" (declare (pure t)) (print x)) (defun faw-int-doc-decl-code (x) (interactive "P") (:documentation "something") (declare (pure t)) (print x)) (defun faw-int-decl-str-code (x) (interactive "P") (declare (pure t)) "something" (print x)) (defun faw-int-decl-doc-code (x) (interactive "P") (declare (pure t)) (:documentation "something") (print x)) (defun faw-decl-int-str-code (x) (declare (pure t)) (interactive "P") "something" (print x)) (defun faw-decl-int-doc-code (x) (declare (pure t)) (interactive "P") (:documentation "something") (print x)) (defun faw-decl-str-int-code (x) (declare (pure t)) "something" (interactive "P") (print x)) (defun faw-decl-doc-int-code (x) (declare (pure t)) (:documentation "something") (interactive "P") (print x)) ;; Incorrect (duplication) (defun faw-str-str-decl-int-code (x) "something" "something else" (declare (pure t)) (interactive "P") (print x)) (defun faw-str-doc-decl-int-code (x) "something" (:documentation "something else") (declare (pure t)) (interactive "P") (print x)) (defun faw-doc-str-decl-int-code (x) (:documentation "something") "something else" (declare (pure t)) (interactive "P") (print x)) (defun faw-doc-doc-decl-int-code (x) (:documentation "something") (:documentation "something else") (declare (pure t)) (interactive "P") (print x)) (defun faw-str-decl-str-int-code (x) "something" (declare (pure t)) "something else" (interactive "P") (print x)) (defun faw-doc-decl-str-int-code (x) (:documentation "something") (declare (pure t)) "something else" (interactive "P") (print x)) (defun faw-str-decl-doc-int-code (x) "something" (declare (pure t)) (:documentation "something else") (interactive "P") (print x)) (defun faw-doc-decl-doc-int-code (x) (:documentation "something") (declare (pure t)) (:documentation "something else") (interactive "P") (print x)) (defun faw-str-decl-decl-int-code (x) "something" (declare (pure t)) (declare (indent 1)) (interactive "P") (print x)) (defun faw-doc-decl-decl-int-code (x) (:documentation "something") (declare (pure t)) (declare (indent 1)) (interactive "P") (print x)) (defun faw-str-decl-int-decl-code (x) "something" (declare (pure t)) (interactive "P") (declare (indent 1)) (print x)) (defun faw-doc-decl-int-decl-code (x) (:documentation "something") (declare (pure t)) (interactive "P") (declare (indent 1)) (print x)) (defun faw-str-decl-int-int-code (x) "something" (declare (pure t)) (interactive "P") (interactive "p") (print x)) (defun faw-doc-decl-int-int-code (x) (:documentation "something") (declare (pure t)) (interactive "P") (interactive "p") (print x)) (defun faw-str-int-decl-int-code (x) "something" (interactive "P") (declare (pure t)) (interactive "p") (print x)) (defun faw-doc-int-decl-int-code (x) (:documentation "something") (interactive "P") (declare (pure t)) (interactive "p") (print x))