emacs/test/lisp/emacs-lisp/bytecomp-resources/fun-attr-warn.el

267 lines
4.7 KiB
EmacsLisp

;;; -*- 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))