aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVibhav Pant2017-02-13 22:54:05 +0530
committerVibhav Pant2017-02-13 22:56:17 +0530
commitfffd4ffd747fe46bb7849a874e4ae265b6eda54e (patch)
treec3f2bc175f35c17cc4527da1bc075f5c6c6a34b0
parent271dcf8652ccf94d8582b2bcdb26f066d0b946a2 (diff)
downloademacs-fffd4ffd747fe46bb7849a874e4ae265b6eda54e.tar.gz
emacs-fffd4ffd747fe46bb7849a874e4ae265b6eda54e.zip
; etc/TODO: Remove 'switch' item, as it is now implemented.
-rw-r--r--etc/TODO14
1 files changed, 0 insertions, 14 deletions
diff --git a/etc/TODO b/etc/TODO
index fc442f93077..b102bdf35f0 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -35,20 +35,6 @@ Change src/bytecode.c so that calls from byte-code functions to byte-code
35functions don't go through Ffuncall/funcall_lambda/exec_byte_code but instead 35functions don't go through Ffuncall/funcall_lambda/exec_byte_code but instead
36stay within exec_byte_code. 36stay within exec_byte_code.
37 37
38** Add new 'switch' byte-code
39This byte-code would take one argument from the stack (the object to test)
40and one argument from the constant-pool (a switch table, implemented as an
41'eq' hash table) and would jump to the "label" contained in the hash table.
42
43Then add a 'case' special-form that can be compiled to this byte-code.
44This would behave just like cl-case, but instead of expanding to cond+eq it
45would be its own special form and would be compiled specially.
46
47Then change pcase to use 'case' when applicable.
48
49Then change the byte-compiler to recognize (cond ((eq x 'foo) bar) ...)
50and turn it into a 'case' for more efficient execution.
51
52** Improve the byte-compiler to recognize immutable (lexical) bindings 38** Improve the byte-compiler to recognize immutable (lexical) bindings
53and get rid of them if they're used only once and/or they're bound to 39and get rid of them if they're used only once and/or they're bound to
54a constant expression. 40a constant expression.