summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2018-06-12 18:41:46 -0400
committerNoam Postavsky <npostavs@gmail.com>2018-06-19 20:02:16 -0400
commite292c0973cf7a92819d312ea8a828b67e6adf1ab (patch)
tree5ae59aef028cd644b87d6d4d8909972515a2a3b4 /test
parent36737705b451ad4c765baa5789e3ceb752ee07a3 (diff)
downloademacs-e292c0973cf7a92819d312ea8a828b67e6adf1ab.tar.gz
Fix #'fun handling inside `labels' (Bug#31792)
* lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix last change". * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New test. * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring, link to relevant manual page. * doc/misc/cl.texi (Function Bindings): Don't imply that function cells of symbols are modified by cl-flet. Don't claim that cl-flet or cl-labels affect references of the form (quote FUNC).
Diffstat (limited to 'test')
-rw-r--r--test/lisp/emacs-lisp/cl-tests.el35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/cl-tests.el b/test/lisp/emacs-lisp/cl-tests.el
new file mode 100644
index 00000000000..b673822cd9a
--- /dev/null
+++ b/test/lisp/emacs-lisp/cl-tests.el
@@ -0,0 +1,35 @@
+;;; cl-tests.el --- tests for emacs-lisp/cl.el -*- lexical-binding:t -*-
+
+;; Copyright (C) 2018 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; This program is free software: you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation, either version 3 of the
+;; License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see `https://www.gnu.org/licenses/'.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'cl)
+(require 'ert)
+
+
+
+(ert-deftest labels-function-quoting ()
+ "Test that #'foo does the right thing in `labels'." ; Bug#31792.
+ (should (eq (funcall (labels ((foo () t))
+ #'foo))
+ t)))
+
+;;; cl-tests.el ends here