File: nowarn-inline-after-defvar.el

package info (click to toggle)
emacs 1%3A28.2%2B1-15%2Bdeb12u4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 173,452 kB
  • sloc: lisp: 1,235,793; ansic: 359,020; objc: 17,115; sh: 7,359; makefile: 6,248; cpp: 1,851; yacc: 1,566; xml: 1,530; perl: 1,459; php: 1,035; pascal: 1,011; python: 993; awk: 781; cs: 770; ada: 725; ruby: 405; javascript: 181; erlang: 153; java: 65; tcl: 16
file content (17 lines) | stat: -rw-r--r-- 615 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
;; -*- lexical-binding: t; -*-

;; In this test, we try and make sure that inlined functions's code isn't
;; mistakenly re-interpreted in the caller's context: we import an
;; inlinable function from another file where `foo-var' is a normal
;; lexical variable, and then call(inline) it in a function where
;; `foo-var' is a dynamically-scoped variable.

(require 'foo-inlinable
         (expand-file-name "foo-inlinable.el"
                           (file-name-directory
                            (or byte-compile-current-file load-file-name))))

(defvar foo-var)

(defun foo-fun ()
  (+ (foo-inlineable 5) 1))