Commit graph

827 commits

Author SHA1 Message Date
Dmitry Antipov
0c16dfed70 * intervals.c (adjust_intervals_for_insertion): Initialize `newi'
with RESET_INTERVAL.
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
Remove duplicated buffer name initialization.
2012-05-02 13:21:54 -04:00
Paul Eggert
13c379eed0 Do not avoid creating empty evaporating overlays (Bug#9642).
* buffer.c (Fmove_overlay): Revert the change of 2012-04-23.
That is, do not delete an evaporating overlay if it becomes
empty after its bounds are adjusted to fit within its buffer.
This fix caused other problems, and I'm reverting it until we get
to the bottom of them.
2012-04-28 15:17:27 -07:00
Paul Eggert
89a438bd86 Do not create empty overlays with the evaporate property (Bug#9642).
* buffer.c (Fmove_overlay): Delete an evaporating overlay
if it becomes empty after its bounds are adjusted to fit within
its buffer.  Without this fix, in a nonempty buffer (let ((o
(make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1))
yields an empty overlay that has the evaporate property, which is
not supposed to happen.
2012-04-23 15:46:35 -07:00
Paul Eggert
a041960a7c Improve ralloc.c interface checking.
See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
* buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc)
(r_alloc_free) [REL_ALLOC]: Move decls from here ...
* lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable)
[REL_ALLOC]: ... to here, to check interface.
* m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]:
Remove decls.  This fixes an "It stinks!".
2012-04-15 18:10:42 -07:00
Chong Yidong
fb7ada5f94 Remove * characters from the front of variable docstrings. 2012-04-09 21:05:48 +08:00
Glenn Morris
fd06db5dd6 Remove ucs-set-table-for-input dead code
This function was removed with ucs-tables.el in 2008.

* lisp/international/mule-cmds.el (set-default-coding-systems):
* lisp/files.el (normal-mode):
Remove guarded calls to ucs-set-table-for-input. 

* src/buffer.c (Qucs_set_table_for_input): Remove.
(Fget_buffer_create): Don't call Qucs_set_table_for_input.
(init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input.

Fixes: debbugs:9821
2012-04-08 17:58:00 -07:00
Paul Eggert
9af5ed8756 * buffer.c (compare_overlays): Don't assume args differ (Bug#6830). 2012-03-12 01:27:25 -07:00
Stefan Monnier
cae0700001 * src/buffer.c (compare_overlays): Avoid qsort's instability.
Fixes: debbugs:6830
2012-03-09 11:46:25 -05:00
Glenn Morris
96a72ee9ff * src/buffer.c (buffer-list-update-hook): Doc fix. 2012-03-01 21:57:19 -05:00
Chong Yidong
a59225b146 Update Files chapter in Lisp manual.
* doc/lispref/files.texi (Files): Mention magic file names as arguments.
(Reading from Files): Copyedits.
(File Attributes): Mention how to change file modes.
(Changing Files): Use standard "file permissions" terminology.
Add xref to File Attributes node.
(Locating Files): Document locate-user-emacs-file.
(Unique File Names): Recommend against using make-temp-name.

* src/buffer.c (Fget_file_buffer): Protect against invalid file
handler return value.

* src/fileio.c (Vfile_name_handler_alist): Doc fix.
2012-02-21 21:24:48 +08:00
Chong Yidong
0992bd9c06 Fix and doc-fix for `buffer-local-variables'.
* src/buffer.c (Fbuffer_local_variables)
(buffer_lisp_local_variables): Handle unbound vars correctly;
don't let Qunbound leak into Lisp.

* doc/lispref/variables.texi (Creating Buffer-Local): Minor clarification
to buffer-local-variables doc.

Fixes: debbugs:10715
2012-02-07 14:34:52 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
e47695319f Spelling fixes. 2011-11-26 20:43:11 -08:00
Martin Rudalics
56e2e794b0 In Fkill_buffer do replace_buffer_in_windows before Fset_buffer. (Bug#10114)
* buffer.c (Fkill_buffer): Run replace_buffer_in_windows before
making another buffer current.  (Bug#10114)
2011-11-23 10:57:27 +01:00
Juanma Barranquero
cd1181dbec Fix typos. 2011-11-20 04:48:53 +01:00
Paul Eggert
5396468298 Spelling fixes. 2011-11-19 01:18:31 -08:00
Paul Eggert
da6062e6ea Spelling fixes. 2011-11-14 23:55:13 -08:00
Stefan Monnier
a66cfb1c67 * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>: Don't
advertise functionality which we discourage or doesn't work.
2011-10-07 09:08:47 -04:00
Paul Eggert
4222c55da7 * buffer.h (struct buffer): Use time_t, not int, for a time stamp.
This fixes a Y2038 bug on 64-bit hosts.
* buffer.c (reset_buffer):
* fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
(Fclear_buffer_auto_save_failure):
Use 0, not -1, to represent an unset failure time, since time_t
might not be signed.
2011-09-30 13:22:01 -07:00
Glenn Morris
32bbb17c0e * src/buffer.c (truncate-lines): Doc fix. 2011-09-24 19:30:31 -07:00
Paul Eggert
a974cdce9b Merge from trunk. 2011-08-25 12:06:56 -07:00
Chong Yidong
e4ed06f12b Delete record-buffer, and rename unrecord-buffer to bury-buffer-internal.
* lisp/window.el (bury-buffer, quit-window): Use bury-buffer-internal.

* src/buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer.
Change return value to nil.
(Frecord_buffer): Delete unused function.
2011-08-24 20:45:23 -04:00
Paul Eggert
fe5c5d3780 * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT,
since either will do and ptrdiff_t is convenient with xpalloc.
2011-08-15 12:23:11 -07:00
Paul Eggert
0065d05491 Adjust in response to jan.h.d's comments.
See, for example <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#26>.
2011-08-04 19:15:35 -07:00
Paul Eggert
18ab493650 Merge from trunk. 2011-07-28 22:31:12 -07:00
Paul Eggert
6e1fc4528b * buffer.c: Memory overflow fixes.
(overlays_at, overlays_in, record_overlay_string, overlay_strings):
Don't update size of array until after memory allocation succeeds,
because xmalloc/xrealloc may not return.
2011-07-28 13:28:33 -07:00
Eli Zaretskii
bc7ece8713 src/buffer.c: Fix last change. 2011-07-28 20:46:21 +03:00
Eli Zaretskii
4cc60b9b85 Turn on bidi-display-reordering by default.
src/buffer.c (init_buffer_once, syms_of_buffer): Set
 bidi-display-reordering to t by default.
 doc/emacs/mule.texi (Bidirectional Editing): Document the fact that
 bidi-display-reordering is t by default.
 lispref/display.texi (Bidirectional Display): Document the fact that
 bidi-display-reordering is t by default.
2011-07-28 20:18:25 +03:00
Paul Eggert
cf950e6bbd Merge from trunk. 2011-07-13 23:41:47 -07:00
Eli Zaretskii
0be0ce4741 src/buffer.c (mmap_find): Fix a typo. 2011-07-13 00:09:28 -04:00
Paul Eggert
89bfafe5d3 Merge from trunk. 2011-07-12 20:45:56 -07:00
Paul Eggert
2941c447eb * buffer.c (Fget_buffer_create): Initialized inhibit_shrinking.
The old code sometimes used this field without initializing it.
2011-07-12 18:15:33 -07:00
Paul Eggert
da85a02af7 Merge from trunk. 2011-07-10 23:05:57 -07:00
Andreas Schwab
1dae0f0aad Protoize
* src/buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
(mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Protoize.
* src/data.c (fmod): Likewise.
* src/dispnew.c (swap_glyphs_in_rows): Likewise.
* src/emacs.c (memory_warning_signal): Likewise.
* src/floatfns.c (float_error): Likewise.
* src/font.c (check_gstring, check_otf_features, otf_tag_symbol)
(otf_open, font_otf_capability, generate_otf_features)
(font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
Likewise.
* src/image.c (pbm_read_file): Likewise.
* src/indent.c (string_display_width): Likewise.
* src/intervals.c (check_for_interval, search_for_interval)
(inc_interval_count, count_intervals, root_interval)
(adjust_intervals_for_insertion, make_new_interval): Likewise.
* src/lread.c (defalias): Likewise.
* src/regex.c (set_image_of_range_1, set_image_of_range)
(regex_grow_registers): Likewise.
* src/sysdep.c (strerror): Likewise.
* src/termcap.c (valid_filename_p, tprint, main): Likewise.
* src/tparam.c (main): Likewise.
* src/unexhp9k800.c (run_time_remap, save_data_space)
(update_file_ptrs, read_header, write_header, calculate_checksum)
(copy_file, copy_rest, display_header): Likewise.
* src/widget.c (mark_shell_size_user_specified, create_frame_gcs):
Likewise.
* src/xdisp.c (check_it): Likewise.
* src/xfaces.c (register_color, unregister_color, unregister_colors):
Likewise.
* src/xfns.c (print_fontset_result): Likewise.
* src/xrdb.c (member, fatal, main): Likewise.
2011-07-10 10:20:10 +02:00
Paul Eggert
fd05c7e9aa * buffer.c: Integer signedness fixes.
(alloc_buffer_text, enlarge_buffer_text):
Use ptrdiff_t rather than size_t when either will do, as we prefer
signed integers.
2011-07-07 10:51:05 -07:00
Paul Eggert
8a5c77bba5 Remove more assumptions re struct layout (Bug#8884). 2011-07-06 15:22:32 -07:00
Paul Eggert
22b4128ef0 Remove unportable assumption about struct layout (Bug#8884).
* buffer.c (clone_per_buffer_values): Don't assume that
sizeof (struct buffer) is a multiple of sizeof (Lisp_Object).
This isn't true in general, and it's particularly not true
if Emacs is configured with --with-wide-int.
* buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER):
New macros, used in the buffer.c change.
2011-07-06 14:53:56 -07:00
Lars Magne Ingebrigtsen
7c301272b4 * buffer.c (Foverlay_put): Say what the return value is
(bug#7835).
2011-07-04 17:32:22 +02:00
Martin Rudalics
28545e0497 Remove clone-number support. Provide clone-of parameter in window states.
* window.h (window): Remove clone_number slot.
* window.c (Fwindow_clone_number, Fset_window_clone_number):
Remove.
(make_parent_window, make_window, saved_window)
(Fset_window_configuration, save_window_save): Don't deal with
clone numbers.
* buffer.c (Qclone_number): Remove declaration.
(sort_overlays, overlay_strings): Don't deal with clone numbers.

* window.el (window-state-get-1): Don't assign clone numbers.
Add clone-of item to list of window parameters.
(window-state-put-2): Don't process clone numbers.
(display-buffer-alist): Fix doc-string.
2011-07-02 12:36:48 +02:00
Martin Rudalics
e43b6e4346 Have overlays with window property respect clone numbers.
* buffer.c (Qclone_number): Declare static and DEFSYM it.
(sort_overlays, overlay_strings): When an overlay's clone number
matches the window's clone number process the overlay even if
the overlay's window property doesn't match the current window.
2011-06-27 11:27:44 +02:00
Juanma Barranquero
cd3520a41d Move DEFSYM to lisp.h and use everywhere. 2011-06-24 23:25:22 +02:00
Paul Eggert
21514da7b2 * buffer.c (OVERLAY_COUNT_MAX): New macro.
(overlays_in, mouse_face_overlay_overlaps, Foverlays_in):
Use ptrdiff_t, not int, for sizes.
(overlays_in): Check for size-calculation overflow.
2011-06-21 16:16:43 -07:00
Paul Eggert
b081724f64 Use ptrdiff_t, not int, for overlay counts.
* buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
* editfns.c (overlays_around, get_pos_property):
* textprop.c (get_char_property_and_overlay):
* xdisp.c (next_overlay_change, note_mouse_highlight):
* xfaces.c (face_at_buffer_position):
* buffer.c (overlays_at, sort_overlays, Foverlays_at)
(Fnext_overlay_change, Fprevious_overlay_change):
Use ptrdiff_t, not int, for sizes.
(overlays_at): Check for size-calculation overflow.
2011-06-21 14:32:10 -07:00
Paul Eggert
965d34ebb3 * buffer.c (init_buffer): Don't assume string length fits in 'int'. 2011-06-19 11:27:58 -07:00
Paul Eggert
d6202519ae * buffer.c: Include <verify.h>.
(init_buffer_once): Check at compile-time, not run-time.
2011-06-17 01:14:30 -07:00
Paul Eggert
67c36fce59 * buffer.c (record_overlay_string): Check for size-calculation overflow.
(struct sortstrlist.size, struct sortlist.used): Don't truncate size to int.
2011-06-17 01:10:34 -07:00
Paul Eggert
93cb6be35e * buffer.c (struct sortstr.size, record_overlay_string): Don't truncate size to int. 2011-06-17 00:57:42 -07:00
Paul Eggert
c20998a717 * buffer.c (compare_overlays, cmp_for_strings): Avoid subtraction overflow. 2011-06-17 00:52:35 -07:00
Paul Eggert
8961a454e1 * buffer.c (struct sortstr.priority): Now EMACS_INT, not int. 2011-06-17 00:49:50 -07:00
Paul Eggert
fadf4e3008 * buffer.c (struct sortvec.priority): Now EMACS_INT, not int. 2011-06-17 00:47:18 -07:00