1. 19 Nov, 1994 1 commit
    • Richard M. Stallman's avatar
      (struct regexp_cache): New field `posix'. · b819a390
      Richard M. Stallman authored
      (compile_pattern_1): New arg `posix'.  Controls the syntax spec
      for parsing; also record it in the cache.
      (compile_pattern): New arg `posix'.
      (looking_at_1, string_match_1, fast_string_match): Pass 0 for new arg.
      (search_buffer): New arg `posix'.  Now static.
      (search_command): New arg `posix'.  All callers changed.
      (Fposix_search_forward, Fposix_search_backward): New functions.
      (string_match_1, looking_at_1): New subroutines broken out.
      (Fstring_match, Flooking_at): Use them.
      (Fposix_string_match, Fposix_looking_at): New functions.
      (syms_of_search): defsubr new functions.
      b819a390
  2. 19 Oct, 1994 1 commit
    • Karl Heuer's avatar
      (searchbufs): New variable, replaces searchbuf and last_regexp and · 487282dc
      Karl Heuer authored
      search_fastmap.
      (syms_of_search): Initialize it.
      (searchbuf_head): New variable.
      (compile_pattern_1): Renamed from compile_pattern and made static.
      Copy the regexp string in case the caller modifies it in place later.
      (compile_pattern): New code, uses a cached entry if one is available.
      The pattern buffer is now a return value instead of an arg.
      (set_search_regs): Set num_regs directly, since there's no active
      pattern buffer to pass to re_set_registers.
      (Fstore_match_data): Likewise.
      (Flooking_at): Use the new calling convention for compile_pattern.
      (Fstring_match, fast_string_match, search_buffer): Likewise.
      487282dc
  3. 11 Oct, 1994 1 commit
  4. 08 Oct, 1994 1 commit
    • Jim Blandy's avatar
      * search.c: #include "region-cache.h". · 9169c321
      Jim Blandy authored
      (max, min): Make these functions, not macros; we'd like to pass
      them arguments that would be bad to evaluate more than once.
      (newline_cache_on_off): New function.
      (scan_buffer): New argument END.  Call newline_cache_on_off.  If
      this buffer's newline cache is enabled, consult it to see if we
      need to scan a region for newlines, and store information in the
      cache after doing so.
      (find_next_newline): Pass new arg to scan_buffer.
      (find_before_next_newline): New function.
      9169c321
  5. 04 Oct, 1994 2 commits
  6. 27 Sep, 1994 1 commit
  7. 23 Sep, 1994 1 commit
  8. 20 Sep, 1994 1 commit
  9. 23 Aug, 1994 1 commit
  10. 11 Aug, 1994 1 commit
  11. 14 Jun, 1994 1 commit
  12. 11 Jun, 1994 1 commit
  13. 25 May, 1994 2 commits
  14. 04 May, 1994 1 commit
  15. 05 Apr, 1994 1 commit
  16. 27 Mar, 1994 1 commit
  17. 14 Mar, 1994 1 commit
  18. 10 Mar, 1994 1 commit
  19. 04 Mar, 1994 1 commit
  20. 03 Feb, 1994 1 commit
  21. 10 Jan, 1994 1 commit
  22. 10 Nov, 1993 2 commits
  23. 25 Oct, 1993 1 commit
  24. 08 Oct, 1993 1 commit
  25. 07 Oct, 1993 1 commit
  26. 14 Sep, 1993 1 commit
  27. 10 Sep, 1993 1 commit
  28. 14 Aug, 1993 1 commit
  29. 27 Jul, 1993 1 commit
  30. 10 Jun, 1993 1 commit
  31. 09 Jun, 1993 1 commit
  32. 22 May, 1993 1 commit
  33. 04 May, 1993 1 commit
  34. 07 Apr, 1993 1 commit
  35. 31 Mar, 1993 1 commit
    • Jim Blandy's avatar
      Put interrupt input blocking in a separate file from xterm.h. · 9ac0d9e0
      Jim Blandy authored
      	This isn't specific to X, and it allows us to avoid #including
      	xterm.h in files that don't really have anything to do with X.
      	* blockinput.h: New file.
      	* xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
      	UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
      	(x_input_blocked, x_pending_input): Deleted; there are analogs
      	in blockinput.h called interrupt_input_blocked and
      	interrupt_input_pending.
      	* keyboard.c (interrupt_input_blocked, interrupt_input_pending):
      	New variables, used by the macros in blockinput.h.
      	* xterm.c: #include blockinput.h.
      	(x_input_blocked, x_pending_input): Deleted.
      	(XTread_socket): Test and set interrupt_input_blocked and
      	interrupt_input_pending instead of the old variables.
      	* alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
      	#include blockinput.h.
      	* eval.c: #include blockinput.h instead of xterm.h.
      	* keyboard.c: #include blockinput.h.
      	(input_poll_signal): Just test
      	interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
      	x_input_blocked.
      
      	Block the processing of interrupt input while we're manipulating the
      	malloc heap.
      	* alloc.c: (xfree): New function, to make it easy to free things
      	safely.
      	(xmalloc, xrealloc): Block X input while doing the deed.
      	(VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
      	instead of free.
      	(uninterrupt_malloc): New function, to install input-blocking
      	hooks into the GNU malloc routines.
      	* emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
      	on startup.
      	* alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
      	Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
      	Use xmalloc instead of malloc; don't bother to check if out of
      	memory here.
      	(Fgarbage_collect): Call xrealloc instead of realloc.
      	* buffer.c: Use xmalloc and xfree instead of malloc and free;
      	don't bother to check if out of memory here.
      	(Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
      	calls to ralloc routines.
      	* insdel.c: Same.
      	* lisp.h (xfree): New extern declaration.
      	* xfaces.c (xfree): Don't #define this to be free; use the
      	definition in alloc.c.
      	* dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
      	xmenu.c, xterm.c: Use xfree instead of free.
      	* hftctl.c: Use xfree and xmalloc instead of free and malloc.
      	* keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
      	and malloc.
      	* search.c: Since the regexp routines can malloc, BLOCK_INPUT
      	while runing them.  #include blockinput.h.
      	* sysdep.c: #include blockinput.h.  Call xfree and xmalloc instead
      	of free and malloc.  BLOCK_INPUT around routines which we know
      	will call malloc.
      
      	ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
      	xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
      	these depend on blockinput.h.
      9ac0d9e0
  36. 28 Mar, 1993 1 commit
  37. 22 Feb, 1993 1 commit