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.
Gerd Moellmann [Thu, 23 Mar 2000 13:53:14 +0000 (13:53 +0000)]
Changed the type of parameter passed to the
function defined by `quickurl-format-function'. Before only the
text of the URL was passed. Now the whole URL structure is passed
and the function is responsible for extracting the parts it
requires. Changed the default of `quickurl-format-function'
accordingly.
(quickurl-insert): Changed the `funcall' of
`quickurl-format-function' to match the above change.
(quickurl-list-insert): Changed the `url' case so that it makes
use of `quickurl-format-function', previous to this the format was
hard wired.
Stefan Monnier [Thu, 23 Mar 2000 02:39:58 +0000 (02:39 +0000)]
(makefile-warn-suspicious-lines): clean
up the code and the regexp and make sure the cursor is temporarily
moved to the suspicious line while querying the user.
Jason Rumney [Wed, 22 Mar 2000 23:15:30 +0000 (23:15 +0000)]
(single_submenu): Set help string to NULL if none.
(w32_menu_show): Set help string correctly.
(add-menu-item): Set help string in MIIM_DATA for menu item.
Load SetMenuItemInfoA explicitly.
(w32_menu_display_help): New function.
Jason Rumney [Wed, 22 Mar 2000 22:29:41 +0000 (22:29 +0000)]
(w32_wnd_proc): Handle WM_MENUSELECT message.
(QCdata): Moved to xdisp.c.
Include fontset.h after dispextern.h.
(Fx_create_frame): Do not create fontset.
(w32_load_system_font): Doc fix.
(Fx_close_connection): Free full_name if it is not shared.
Ken Raeburn [Wed, 22 Mar 2000 21:44:05 +0000 (21:44 +0000)]
Changes towards better type safety regarding intervals, primarily
regarding the "parent" handle. These just separate out the different
usages based on the type of parent (interval vs lisp object); later
changes will do type checking and enforcement.
* intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
(INT_LISPLIKE): New macro.
(NULL_INTERVAL_P): Use it.
(INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
* alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
explicit references to "parent" field of struct interval and
associated unclean type conversions.
* intervals.c (create_root_interval, root_interval, rotate_right,
rotate_left, balance_possible_root_interval, split_interval_right,
split_interval_left, interval_start_pos, find_interval,
next_interval, previous_interval, update_interval,
adjust_intervals_for_insertion, delete_node, delete_interval,
adjust_intervals_for_deletion, merge_interval_right,
merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
copy_intervals_to_string): Likewise.
* intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
Likewise.
* syntax.c (update_syntax_table): Likewise.
* intervals.c (reproduce_tree_obj): New function, like
reproduce_tree but takes a Lisp_Object for the parent. Declare
with prototype.
(graft_intervals_into_buffer): Use it when appropriate.
(reproduce_tree): Declare with prototype.
(balance_possible_root_interval): Check that the parent is a lisp
object before trying to examine its type.
Stefan Monnier [Wed, 22 Mar 2000 04:18:10 +0000 (04:18 +0000)]
(CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
definitions for non-Emacs compilation.
(enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
outside of `#ifdef emacs'.
(print_partial_compiled_pattern): Update.
(regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
(re_compile_fastmap): Merge handling of charset and charset_not (for
emacs and non-emacs compilation as well).
Similarly for (not)categoryspec and (not)syntaxspec.
Don't use the fastmap when reaching `anychar' since the added
complexity is not justified.
(re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
and (not)syntaxspec. Merge (not)categoryspec.
Stefan Monnier [Wed, 22 Mar 2000 03:10:07 +0000 (03:10 +0000)]
(find-file-run-dired): Update docstring.
(find-directory-functions): New hook.
(find-file-noselect): Run find-directory-functions rather than
calling dired directly.
Stefan Monnier [Wed, 22 Mar 2000 02:57:23 +0000 (02:57 +0000)]
* pcvs.el: Add a minimal leading commentary.
(cvs-make-cvs-buffer): Change the header part by removing the startup
message and adding a `Module' entry. Also replace the FOOTER and
HEADER special fileinfos with the new support in ewoc for updating
its own footer and header.
(cvs-update-header): Update to use the header/footer of the ewoc.
(cvs-mode): Use define-derived-mode and set truncate-lines to t.
(cvs-is-within-p): New function.
(cvs-mode-run): Take advantage of `save-some-buffers's new ability
to only examine some subset of the buffers.
* pcvs-info.el (cvs-fileinfo-pp): Use the new property-preserving
`format' instead of our own ad-hoc functions.
Remove HEADER and FOOTER cases, now handled in the EWOC.
(cvs-fileinfo<): Remove HEADER and FOOTER cases.
* pcvs-parse.el (cvs-parse-run-table): Change message for unknown
output to avoid scaring the user.
(cvs-parse-table): Catch message for non-up-to-date commits.
* pcvs-defs.el (cvs-startup-message): Remove.
(cvs-global-menu): New autoloaded menu.
* pcvs-util.el (cvs-string-fill): Remove.
* emacs-lisp/ewoc.el (ewoc--create-special-node): Remove.
(ewoc--refresh-node): Don't take the whole EWOC but only the relevant
PP part of it and also make it work for footers and headers.
(ewoc-create): Drop POS and BUFFER arguments.
Use the DLL's dummy node to store the end-of-footer position.
(ewoc-map, ewoc-invalidate): Update call to ewoc--refresh-node.
(ewoc-refresh): Remove unused `header' variable.
(ewoc-(get|set)-hf): New functions.