home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / lucid / lemacs-19.6 / src / insdel.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-26  |  2.7 KB  |  72 lines

  1. /* Buffer insertion/deletion and gap motion for GNU Emacs.
  2.    Copyright (C) 1985-1993 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. #ifndef _EMACS_INSDEL_H_
  21. #define _EMACS_INSDEL_H_
  22.  
  23. /* Move gap to position `pos'.   Note that this can quit!  */
  24. extern void move_gap (int pos);
  25.  
  26. /* Make the gap INCREMENT characters longer.  */
  27. extern void make_gap (int increment);
  28.  
  29. /* Check that it is okay to modify the buffer between START and END.
  30.    Run the before-change-function, if any.  */
  31. extern void prepare_to_modify_buffer (int start, int end);
  32.  
  33. extern void modify_region (int start, int end);
  34.  
  35. /* Signal a change immediatly after it happens. */
  36. extern void signal_after_change (int pos, int lendel, int lenins);
  37.  
  38. extern void insert_relocatable_raw_string (const char *string,
  39.                                            int length, 
  40.                                            Lisp_Object obj);
  41.  
  42. extern void insert_from_string (Lisp_Object obj, int pos, int length);
  43.  
  44. /* Insert a raw string of specified length before point */
  45. extern void insert_raw_string (const char *string, int length);
  46.  
  47. extern void insert (const char *string, int length);
  48.  
  49. /* Insert the null-terminated string S before point */
  50. extern void insert_string (const char *s);
  51.  
  52. /* Insert the character C before point */
  53. /*   insert_relocatable_raw_string (&ch, 1, 0) */
  54. extern void insert_char (char c);
  55.  
  56. /* Like `insert_raw_string' except that all markers pointing
  57.    at the place where the insertion happens are adjusted to point after it. */
  58. extern void insert_before_markers (const char *string, int length);
  59.  
  60. extern void insert_from_string_before_markers (Lisp_Object string,
  61.                                                int pos, int length);
  62.  
  63. /* Insert the string which begins at INDEX in buffer B into
  64.    the current buffer at point. */
  65. extern void insert_buffer_string (struct buffer *b, int index, int length);
  66.  
  67. /* Delete characters in current buffer
  68.    from FROM up to (but not including) TO.  */
  69. extern void del_range (int from, int to);
  70.  
  71. #endif /* _EMACS_INSDEL_H_ */
  72.