aboutsummaryrefslogtreecommitdiffstats
path: root/src/lread.c
diff options
context:
space:
mode:
authorStefan Monnier2012-05-29 23:59:42 -0400
committerStefan Monnier2012-05-29 23:59:42 -0400
commit61b108cc62d69c96c20b9e23b248185591563c1f (patch)
treee07c24a1ec29b567b1f2de381e486f83a5da6211 /src/lread.c
parent934f3f582d0369e95c6495748e3944405d3629b8 (diff)
downloademacs-61b108cc62d69c96c20b9e23b248185591563c1f.tar.gz
emacs-61b108cc62d69c96c20b9e23b248185591563c1f.zip
* lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.
(macro-declaration-function): Move var from C code. (macro-declaration-function): Define function with defalias. * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle defun/defmacro any more. * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature): Provide fallback for unknown arglist. (byte-compile-arglist-warn): Change calling convention. (byte-compile-output-file-form): Move print-vars binding. (byte-compile-output-docform): Simplify accordingly. (byte-compile-file-form-defun, byte-compile-file-form-defmacro) (byte-compile-defmacro-declaration): Remove. (byte-compile-file-form-defmumble): Generalize to defalias. (byte-compile-output-as-comment): Return byte-positions. Simplify callers accordingly. (byte-compile-lambda): Use `assert'. (byte-compile-defun, byte-compile-defmacro): Remove. (byte-compile-file-form-defalias): Use byte-compile-file-form-defmumble. (byte-compile-defalias-warn): Remove. * src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function): Move to byte-run.el. (Fautoload): Do the hash-doc more carefully. * src/data.c (Fdefalias): Purify definition, except for keymaps. (Qdefun): Move from eval.c. * src/lisp.h (Qdefun): Remove. * src/lread.c (read1): Tiny simplification. * lib-src/make-docfile.c: Improve comment style. (search_lisp_doc_at_eol): New function. (scan_lisp_file): Use it.
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/lread.c b/src/lread.c
index 7aba203d685..38b00a66962 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2982,7 +2982,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2982 2982
2983 /* If purifying, and string starts with \ newline, 2983 /* If purifying, and string starts with \ newline,
2984 return zero instead. This is for doc strings 2984 return zero instead. This is for doc strings
2985 that we are really going to find in etc/DOC.nn.nn */ 2985 that we are really going to find in etc/DOC.nn.nn. */
2986 if (!NILP (Vpurify_flag) && NILP (Vdoc_file_name) && cancel) 2986 if (!NILP (Vpurify_flag) && NILP (Vdoc_file_name) && cancel)
2987 return make_number (0); 2987 return make_number (0);
2988 2988
@@ -3095,18 +3095,17 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
3095 nbytes) 3095 nbytes)
3096 : nbytes); 3096 : nbytes);
3097 3097
3098 if (uninterned_symbol && ! NILP (Vpurify_flag)) 3098 name = ((uninterned_symbol && ! NILP (Vpurify_flag)
3099 name = make_pure_string (read_buffer, nchars, nbytes, multibyte); 3099 ? make_pure_string : make_specified_string)
3100 else 3100 (read_buffer, nchars, nbytes, multibyte));
3101 name = make_specified_string (read_buffer, nchars, nbytes, multibyte);
3102 result = (uninterned_symbol ? Fmake_symbol (name) 3101 result = (uninterned_symbol ? Fmake_symbol (name)
3103 : Fintern (name, Qnil)); 3102 : Fintern (name, Qnil));
3104 3103
3105 if (EQ (Vread_with_symbol_positions, Qt) 3104 if (EQ (Vread_with_symbol_positions, Qt)
3106 || EQ (Vread_with_symbol_positions, readcharfun)) 3105 || EQ (Vread_with_symbol_positions, readcharfun))
3107 Vread_symbol_positions_list = 3106 Vread_symbol_positions_list
3108 Fcons (Fcons (result, make_number (start_position)), 3107 = Fcons (Fcons (result, make_number (start_position)),
3109 Vread_symbol_positions_list); 3108 Vread_symbol_positions_list);
3110 return result; 3109 return result;
3111 } 3110 }
3112 } 3111 }
@@ -3520,7 +3519,7 @@ read_list (int flag, register Lisp_Object readcharfun)
3520 We don't use Fexpand_file_name because that would make 3519 We don't use Fexpand_file_name because that would make
3521 the directory absolute now. */ 3520 the directory absolute now. */
3522 elt = concat2 (build_string ("../lisp/"), 3521 elt = concat2 (build_string ("../lisp/"),
3523 Ffile_name_nondirectory (elt)); 3522 Ffile_name_nondirectory (elt));
3524 } 3523 }
3525 else if (EQ (elt, Vload_file_name) 3524 else if (EQ (elt, Vload_file_name)
3526 && ! NILP (elt) 3525 && ! NILP (elt)