Dave Love [Wed, 29 Mar 2000 18:33:24 +0000 (18:33 +0000)]
Move provide to end. Doc fixes.
(iso-iso2sgml-trans-tab, iso-sgml2iso-trans-tab): New variables.
(iso-iso2sgml, iso-sgml2iso): New functions.
(iso-cvt-define-menu): Fix some entries and use backquote for
clarity.
Stefan Monnier [Wed, 29 Mar 2000 04:01:45 +0000 (04:01 +0000)]
(analyse_first): New function obtained by ripping out most
of re_compile_fastmap and generalizing it a little bit so that it
can also just return whether a given (sub)pattern can match the empty
string or not.
(regex_compile): Use `analyse_first' to decide whether the loop-check
needs to be done or not for *, +, *? and +? (the loop check is costly
for non-greedy repetition).
(re_compile_fastmap): Delegate the actual work to `analyse_first'.
Stefan Monnier [Mon, 27 Mar 2000 22:26:54 +0000 (22:26 +0000)]
(REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as an expression.
(enum re_opcode_t): Update description of succeed_n.
(PATFETCH): Always define.
(regex_compile): Use lookahead rather than PATUNFETCH (for repetition
operators, char classes, shy-groups and intervals).
Optimize special cases of intervals so as to only use succeed_n and
jump_n when really needed.
(re_compile_fastmap): Simplify handling of jump_n and succeed_n now
that we don't have to handle the special cases any more.
Simplify on_failure_jump handling as well.
Gerd Moellmann [Mon, 27 Mar 2000 19:43:47 +0000 (19:43 +0000)]
(mark_maybe_object): New function.
(mark_memory): Use it.
(SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
(setjmp_tested_p, longjmp_done): New variables.
(test_setjmp): New function.
(mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
(init_alloc): Initialize setjmp_tested_p and longjmp_done.
Gerd Moellmann [Mon, 27 Mar 2000 12:49:02 +0000 (12:49 +0000)]
(MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
(PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
(PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
(PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
(SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
(PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
(PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
(PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
(PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
(PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
Stefan Monnier [Sun, 26 Mar 2000 23:05:51 +0000 (23:05 +0000)]
(enum re_opcode_t): New opcode on_failure_jump_nastyloop.
(print_partial_compiled_pattern, re_compile_fastmap): Handle new opcode.
(regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
(re_match_2_internal): Add code for on_failure_jump_nastyloop when
executing it as well as when popping it off the stack to find infinite
loops in non-greedy repetition operators.
Stefan Monnier [Sun, 26 Mar 2000 21:19:58 +0000 (21:19 +0000)]
(log-edit-mode-map): Inherit from vc-log-mode-map
if it ever becomes used.
(log-edit-mode-hook): Default to vc-log-mode-hook.
(log-edit-mode): Fix the docstring.
Gerd Moellmann [Sun, 26 Mar 2000 19:32:02 +0000 (19:32 +0000)]
(Qfunction_documentation): New variable.
(syms_of_doc): Initialize Qfunction_documentation.
(Fdocumentation): If FUNCTION is a symbol with non-nil
`function-documentation' property, return a documentation derived
from that.
Gerd Moellmann [Sun, 26 Mar 2000 16:25:09 +0000 (16:25 +0000)]
(reset_buffer): Initialize buffer's cursor_type.
(init_buffer_once): Set default cursor_type value to t.
Mark cursor_type as local everywhere.
(syms_of_buffer): New per-buffer variable cursor-type.
Gerd Moellmann [Sun, 26 Mar 2000 14:07:30 +0000 (14:07 +0000)]
(buffer_permanent_local_flags): Make a char array.
(max_buffer_local_idx): New variable.
(reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
for new handling of per-buffer variables.
(buffer_slot_type_mismatch): Use new macros for per-buffer vars.
(init_buffer_once): Initialize per-buffer vars differently.
Set max_buffer_local_idx.
Gerd Moellmann [Sun, 26 Mar 2000 14:05:44 +0000 (14:05 +0000)]
(do_symval_forwarding, store_symval_forwarding)
(find_symbol_value, set_internal, default_value, Fset_default)
(Fkill_local_variable, Flocal_variable_p): Use new macros for
per-buffer variables.
Gerd Moellmann [Fri, 24 Mar 2000 20:49:56 +0000 (20:49 +0000)]
(open_paren_in_column_0_is_defun_start): New variable.
(find_defun_start): Consider an open parenthesis in column 0
a defun start only if open_paren_in_column_0_is_defun_start is set.
(syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
Gerd Moellmann [Fri, 24 Mar 2000 20:45:10 +0000 (20:45 +0000)]
(msb--choose-file-menu): Use `(apply #'list ...)'
instead of copy-list which is a function from CL.
(msb--choose-menu, msb--mode-menu-cond)
(msb--create-buffer-menu-2): Use dolist instead of mapc.
(msb--init-file-alist): Use mapcar instead of mapcan.
(msb--aggregate-alist): Use mapcar instead of mapcan. Fix
`(' in column 0 in doc string.
(msb--add-separators): Use mapcar instead of mapcan.
Gerd Moellmann [Fri, 24 Mar 2000 20:42:41 +0000 (20:42 +0000)]
(beginning-of-defun-raw): Add regexp
matching open parenthesis in column 0 to defun-prompt-regexp
only if open-paren-in-column-0-is-defun-start is set.
Stefan Monnier [Fri, 24 Mar 2000 18:37:48 +0000 (18:37 +0000)]
(byte-compile-warning-types, byte-compile-warnings): New warning `noruntime'.
(byte-compile-constants, byte-compile-variables): Fix docstring.
(byte-compile-initial-macro-environment): Use `byte-compile-eval' to
execute `eval-whenc-compile's body.
(byte-compile-unresolved-functions): Fix docstring.
(byte-compile-eval): New function.
(byte-compile-callargs-warn): Check if the function will be available
at runtime (via property `byte-compile-noruntime').
(byte-compile-print-syms): New function.
(byte-compile-warn-about-unresolved-functions): Also warn about
`noruntime' functions (and use `byte-compile-print-syms').
(byte-compile-file): Capitalize the message.
Gerd Moellmann [Fri, 24 Mar 2000 12:14:43 +0000 (12:14 +0000)]
(bootstrap-clean): If $(emacs) exists, build
loaddefs.el first. A loaddefs.el that's not up-to-date might
cause a bootstrap failure because things don't autoload as
expected.