File: nowarn-inline-after-defvar.el

package info (click to toggle)
emacs 1%3A30.1%2B1-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 187,300 kB
  • sloc: lisp: 1,367,529; ansic: 466,479; objc: 19,117; cpp: 8,817; java: 8,780; sh: 8,119; makefile: 7,288; python: 3,788; perl: 1,788; xml: 1,720; yacc: 1,566; asm: 1,150; php: 1,035; pascal: 1,011; awk: 937; cs: 880; ada: 725; ruby: 658; javascript: 187; erlang: 153; 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))