* alloc.c (die): Move "assertion failed" string here ...
[bpt/emacs.git] / src / ChangeLog
CommitLineData
89561f72
PE
12013-06-20 Paul Eggert <eggert@cs.ucla.edu>
2
5013fc08
PE
3 * alloc.c (die): Move "assertion failed" string here ...
4 * lisp.h (eassert): ... from here. Also, suppress evaluation of
5 COND when SUPPRESS_CHECKING. This shrinks the executable text
6 size by 0.8% to 2.2% when configured with --enable-checking,
7 depending on optimization flags (GCC 4.8.1 x86-64).
8
89561f72
PE
9 * floatfns.c (Flog10): Move to Lisp (marked obsolete there).
10
112013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
12
13 * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
14 base is 2; this is more accurate.
15
983aeb9a
JB
162013-06-19 Juanma Barranquero <lekktu@gmail.com>
17
18 * sound.c (string_default): Move to !WINDOWSNT section.
19 (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
20
178ba3e6
PE
212013-06-19 Paul Eggert <eggert@cs.ucla.edu>
22
bbc51b15
PE
23 * sound.c: Integer cleanups.
24 Remove unnecessary forward decls.
25 (struct sound_device): The 'file' member is now a Lisp_Object, not
26 a char *, so that we needn't invoke alloca on a huge size.
27 (Fplay_sound_internal): Adjust to this.
28 (string_default): New function.
29 (vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
30 Use it to adjust to the struct sound_device change.
31 (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
32 (be2hs) [0]: Remove.
33
178ba3e6
PE
34 * syntax.c (skip_chars): Don't use uninitialized storage
35 when searching a multibyte buffer for characters that are not in a
36 unibyte string that contains non-ASCII characters.
37
69f60cdc
JD
382013-06-18 Jan Djärv <jan.h.d@swipnet.se>
39
40 * process.c: Include xgselect.h if HAVE_GLIB. Include glib.h
41 if HAVE_GLIB && ! WINDOWSNT (Bug#14654).
42
0d6224d4
PE
432013-06-18 Paul Eggert <eggert@cs.ucla.edu>
44
45 * conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc.
46
3c542890
KH
472013-06-18 Kenichi Handa <handa@gnu.org>
48
f7e3f7cd
KH
49 * font.c (Ffont_spec): Signal an error for an invalid font name
50 (Bug#14648).
3c542890 51
9349e5f7
PE
522013-06-18 Paul Eggert <eggert@cs.ucla.edu>
53
54 Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
55 In particular this ports to 32-bit sparc Sun cc.
56 * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
57 array with a dummy element at specpdl[-1], so that its address can
58 be taken portably.
59 (unbind_to): Do not copy the binding; not needed, now that we
60 copy old_value in the one place where the copy is needed.
61 * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
62 * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
63 (union specbinding): Rename from struct specbinding. Redo layout
64 to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
65 which is not portable. With Sun C 5.12 32-bit sparc, the
66 declaration causes nargs to be an unsigned bitfield, a behavior
67 that the C standard allows; but Emacs wants nargs to be signed.
68 The overall type is now a union of structures rather than a
69 structure of union of structures, and the 'kind' member is now a
70 bitfield, so that the overall type doesn't grow. All uses changed.
71 * process.c (Fmake_serial_process): Remove unnecessary initialization.
72
0a4df6a5
PE
732013-06-17 Paul Eggert <eggert@cs.ucla.edu>
74
ec6ecaad
PE
75 * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.
76 Needed if HAVE_NTGUI. Reported by Juanma Barranquero.
77
0a4df6a5
PE
78 * nsfont.m (ns_registry_to_script): Parenthesize while expression.
79
7bfe8dbc
EZ
802013-06-17 Eli Zaretskii <eliz@gnu.org>
81
82 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
83 unless we know that the window w's frame is a frame object.
84 Another attempt at solving bug#14062 and bug#14630.
85
708e05f6
LMI
862013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
87
88 * textprop.c (property_set_type): New enum.
89 (add_properties): Allow appending/prepending text properties.
90 (add_text_properties_1): Factored out of Fadd_text_properties.
91 (Fadd_text_properties): Moved all the code into
92 add_text_properties_1.
93 (Fadd_face_text_property): New function that calls
94 add_text_properties_1.
95
84575e67
PE
962013-06-17 Paul Eggert <eggert@cs.ucla.edu>
97
98 Move functions from lisp.h to individual modules when possible.
99 From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
100 * alloc.c (XFLOAT_INIT, set_symbol_name):
101 * buffer.c (CHECK_OVERLAY):
102 * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
103 (set_char_table_parent):
104 * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
105 * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
106 (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
107 (blv_value, set_blv_value, set_blv_where, set_blv_defcell)
108 (set_blv_valcell):
109 * emacs.c (setlocale) [!HAVE_SETLOCALE]:
110 * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
111 (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
112 (backtrace_args, backtrace_debug_on_exit):
113 * floatfns.c (CHECK_FLOAT):
114 * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
115 (set_hash_key_and_value, set_hash_next, set_hash_next_slot)
116 (set_hash_hash, set_hash_hash_slot, set_hash_index)
117 (set_hash_index_slot):
118 * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
119 * marker.c (CHECK_MARKER):
120 * textprop.c (CHECK_STRING_OR_BUFFER):
121 * window.c (CHECK_WINDOW_CONFIGURATION):
122 Move here from lisp.h, and make these functions static rather than
123 extern inline.
124 * buffer.c (Qoverlayp):
125 * data.c (Qsubrp):
126 * fns.c (Qhash_table_p):
127 * window.c (Qwindow_configuration_p):
128 Now static.
129 * lisp.h: Remove the abovementioned defns and decls.
130
131 Use functions, not macros, for XINT etc. (Bug#11935).
132 In lisp.h, prefer functions to function-like macros, and
133 constants to object-like macros, when either will do. This:
134 . simplifies use, as there's no more need to worry about
135 arguments' side effects being evaluated multiple times.
136 . makes the code easier to debug on some platforms.
137 However, when using gcc -O0, keep using function-like macros
138 for a few critical operations, for performance reasons.
139 This sort of thing isn't needed with gcc -Og, but -Og
140 is a GCC 4.8 feature and isn't widely-enough available yet.
141 * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
142 Remove enum lsb_bits; no longer needed.
143 (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
144 * buffer.c (Qoverlap):
145 * data.c (Qsubrp):
146 * fns.c (Qhash_table_p):
147 Now extern, so lisp.h can use these symbols.
148 * dispextern.h: Include character.h, for MAX_CHAR etc.
149 (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
150 (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
151 (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
152 (GLYPH_CODE_P): Move here from lisp.h.
153 (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
154 (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
155 (GLYPH_MODE_LINE_FACE): Now enums, not macros.
156 * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
157 XUNTAG now returns void *.
158 * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
159 (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
160 (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
161 (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
162 (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
163 (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
164 (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
165 (lisp_h_XPNTR, lisp_h_XSYMBOL):
166 New macros, renamed from their sans-lisp_h_ counterparts.
167 (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
168 (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
169 (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
170 (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
171 If compiling via GCC without optimization, define these as macros
172 in addition to inline functions.
173 To disable this, compile with -DINLINING=0.
174 (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
175 (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
176 (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
177 hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
178 (INTMASK, VALMASK): Now macros, since static values cannot be
179 accessed from extern inline functions.
180 (VALMASK): Also a constant, for benefit of old GDB.
181 (LISP_INT_TAG_P): Remove; no longer needed as the only caller
182 is INTEGERP, which can fold it in.
183 (XLI, XIL, XHASH, XTYPE,XINT, XFASTINT, XUINT)
184 (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
185 (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
186 (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
187 (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
188 (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
189 (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
190 (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
191 (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
192 (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
193 (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
194 (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
195 (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
196 (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
197 (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
198 (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
199 (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
200 (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
201 (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
202 (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
203 (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
204 (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
205 (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
206 (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
207 (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
208 (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
209 (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
210 (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
211 (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
212 (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
213 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
214 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
215 (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
216 Now functions.
217 (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
218 (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
219 (VALMASK): Define in one place rather than in two, merging the
220 USE_LSB_TAG parts; this is simpler.
221 (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
222 (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
223 Move up, to avoid use before definition.
224 Also include "globals.h" earlier, for the same reason.
225 (make_natnum): New function.
226 (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
227 (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
228 (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
229 (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
230 (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
231 (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
232 (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
233 (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
234 (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
235 (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
236 (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
237 (Qwindow_configuration_p, Qimage): New forward declarations.
238 (XSETFASTINT): Simplify by rewriting in terms of make_natnum.
239 (STRING_COPYIN): Remove; unused.
240 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
241 (xcar_addr, xcdr_addr): New functions. All uses changed.
242 (IEEE_FLOATING_POINT): Now a constant, not a macro.
243 (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
244 (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
245 (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
246 (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
247 (TYPE_RANGED_INTEGERP): Simplify.
248 (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
249 (setlocale, fixup_locale, synchronize_system_messages_locale)
250 (synchronize_system_time_locale) [!HAVE_SETLOCALE]:
251 Now empty functions, not macros.
252 (functionp): Return bool, not int.
253 * window.c (Qwindow_configuration_p): Now extern,
254 so window.h can use it.
255 * window.h (Qwindowp): Move decl back to lisp.h.
256
9583ec36
EZ
2572013-06-15 Eli Zaretskii <eliz@gnu.org>
258
259 * xdisp.c (Fline_pixel_height): New function, required for solving
260 bug #14567.
261
210272ce
PE
2622013-06-15 Paul Eggert <eggert@cs.ucla.edu>
263
264 * fns.c (Fcopy_sequence): Simplify XTYPE calculation.
265
de0503df
SM
2662013-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
267
268 * lread.c (syms_of_lread):
269 * fns.c (Fprovide): Adjust to new format of after-load-alist.
270
afbfe143
KD
2712013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change)
272
273 * fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479)
274
d177e213
XF
2752013-06-12 Xue Fuqiao <xfq.free@gmail.com>
276
277 * fileio.c (expand_file_name): Doc fix.
278
05e3e412
PE
2792013-06-11 Paul Eggert <eggert@cs.ucla.edu>
280
f7394b12
PE
281 Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569).
282 * process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
283 Wait for self, not for 0. This can't hurt on GNU or similar
284 system, and may help with Cygwin.
285
05e3e412
PE
286 * keyboard.c: Don't use PROP (...) as an lvalue.
287 (parse_tool_bar_item) [!USE_GTK && !HAVE_NS]:
288 Use set_prop (A, B), not PROP (A) = B.
289
17dd3097
EZ
2902013-06-10 Eli Zaretskii <eliz@gnu.org>
291
292 * xdisp.c (get_it_property): Use it->window instead of generating
293 a Lisp object from it->w.
294
52fab9c9
EZ
2952013-06-09 Eli Zaretskii <eliz@gnu.org>
296
297 * xdisp.c (get_it_property): If it->object is a buffer, pass to
298 get-char-property the window that is being rendered, instead of
299 the buffer, to support window-specific overlays. (Bug#14575)
ad257d4f
EZ
300 (compute_display_string_pos): When W is NULL, use the current
301 buffer as the object to pass to get-char-property.
302 (Fcurrent_bidi_paragraph_direction): Assign NULL to the window
303 pointer member of the bidi iterator, since no window is pertinent
304 to this function.
52fab9c9 305
5bf97bfc
EZ
3062013-06-08 Eli Zaretskii <eliz@gnu.org>
307
308 * bidi.c (bidi_fetch_char): Accept additional argument, the window
309 being displayed, and pass it to compute_display_string_pos.
310 (bidi_level_of_next_char, bidi_resolve_explicit_1)
311 (bidi_paragraph_init): All callers changed.
312
313 * xdisp.c (init_from_display_pos, init_iterator)
314 (handle_single_display_spec, next_overlay_string)
315 (get_overlay_strings_1, reseat_1, reseat_to_string)
e7b41c4c
JB
316 (push_prefix_prop, Fcurrent_bidi_paragraph_direction):
317 Set bidi_it.w member from it->w.
5bf97bfc
EZ
318 (compute_display_string_pos): Accept additional argument, the
319 window being displayed, and pass it to Fget_char_property.
320 (Bug#14575)
321
322 * dispextern.h (struct bidi_it): New member w, the window being
323 displayed.
324 (compute_display_string_pos): Adjust prototype.
325
5de0e011
JD
3262013-06-08 Jan Djärv <jan.h.d@swipnet.se>
327
e7b41c4c 328 * xgselect.c: Remove unneeded include xterm.h.
b33f93ee
JD
329
330 * process.c (wait_reading_process_output): Check for NS before GLIB.
331 GLIB may be linked in due to rsvg, but ns_select must be called.
332
5de0e011
JD
333 * xgselect.c (xg_select): Remove call to window_system_available
334 and g_main_context_pending at the top, so Gdk events (i.e. file
335 notify) are processed when Emacs is started with -nw.
336
a822acff
EZ
3372013-06-07 Eli Zaretskii <eliz@gnu.org>
338
339 * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
340 (ctagsfiles3): New variable, includes only *.m files.
341 (TAGS): Use an explicit language name in the regular expressions,
342 to avoid transformation of '/SOMETHING' by MSYS to
343 'c:\MSYS\SOMETHING'.
344
6c0a9ed1
RC
3452013-06-07 Richard Copley <rcopley@gmail.com> (tiny change)
346
347 * epaths.in: Fix commentary to PATH_SITELOADSEARCH.
348
9ef6111b
EZ
3492013-06-06 Eli Zaretskii <eliz@gnu.org>
350
351 * xdisp.c (note_mouse_highlight): When mouse-highlight is off,
352 still need to set the mouse pointer shape and activate help-echo.
353 (Bug#14558)
354
7d300d64
PE
3552013-06-06 Paul Eggert <eggert@cs.ucla.edu>
356
357 A few porting etc. fixes for the new file monitor code.
358 See the thread containing
359 <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
360 * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
361 (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
362 (dir_monitor_callback, Fgfile_rm_watch):
363 Use assq_no_quit instead of Fassoc, for speed.
364 (dir_monitor_callback, Fgfile_rm_watch):
365 eassert that the monitor is a fixnum.
366 (dir_monitor_callback): No need for CDR_SAFE.
367 Simplify building of lisp with alternative tails.
368 (Fgfile_add_watch, Fgfile_rm_watch):
369 Do not assume glib functions set errno reliably on failure.
370 (Fgfile_add_watch): Check that the monitor survives the XIL trick,
371 and signal an error otherwise.
372 (Fgfile_rm_watch): Prefer CONSP to !NILP.
373 Use Fdelq instead of Fdelete, for speed.
374
817ebfcf
EZ
3752013-06-05 Eli Zaretskii <eliz@gnu.org>
376
377 * xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
378 don't insist on being invoked on a highlighted tool-bar button.
379 Avoids losing tool-bar functionality when mouse-highlight is nil.
380 (note_tool_bar_highlight, note_mode_line_or_margin_highlight):
381 Don't highlight when mouse-highlight is nil.
382 (note_mouse_highlight): When mouse-highlight is nil, don't return
383 right away; instead, run tool-bar and mode-line highlight
384 subroutine, clear any existing highlight, and revert the mouse
385 pointer to its default shape. (Bug#14558)
386
55577e7c
SM
3872013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
388
389 * lisp.mk (lisp): Add prog-mode.el.
390
f019a684
PE
3912013-06-05 Paul Eggert <eggert@cs.ucla.edu>
392
393 Chain glib's SIGCHLD handler from Emacs's (Bug#14474).
394 * process.c (dummy_handler): New function.
395 (lib_child_handler): New static var.
396 (handle_child_signal): Invoke it.
397 (catch_child_signal): If a library has set up a signal handler,
398 save it into lib_child_handler.
399 (init_process_emacs): If using glib and not on Windows, tickle glib's
400 child-handling code so that it initializes its private SIGCHLD handler.
401 * syssignal.h (SA_SIGINFO): Default to 0.
402 * xterm.c (x_term_init): Remove D-bus hack that I installed on May
403 31; it should no longer be needed now.
404
90db8702
MA
4052013-06-05 Michael Albinus <michael.albinus@gmx.de>
406
407 * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify.
408
409 * gfilenotify.c (globals_of_gfilenotify): New function.
410 (syms_of_gfilenotify): Move global initialization there.
411
412 * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
413
bfa3acd6
SM
4142013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
415
416 * keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
417 * keyboard.c (menu_bar_items, tool_bar_items):
418 * doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
419 not override local keymaps any more.
420
ba59bd80
EZ
4212013-06-04 Eli Zaretskii <eliz@gnu.org>
422
423 * window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540)
424
7f203aa1
EZ
4252013-06-03 Eli Zaretskii <eliz@gnu.org>
426
9337e206
EZ
427 * w32console.c (initialize_w32_display): Return the dimensions of
428 the console window via 2 additional arguments, not via the current
429 frame. This avoids crashes due to overrunning the bounds of
430 frame's decode_mode_spec_buffer, which is not resized following
431 the change of the frame dimensions from the initial 10x10.
432
433 * w32term.h (w32_initialize_display_info): Adjust prototype.
434
435 * term.c (init_tty): Take dimensions of the frame from the values
436 returned by initialize_w32_display.
437
7f203aa1
EZ
438 * Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
439 (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
440 (LIBES): Add $(GFILENOTIFY_LIBS).
441
442 * w32inevt.c (handle_file_notifications): Add dummy implementation
443 for !HAVE_W32NOTIFY.
444
445 * w32term.c: Wrap code with HAVE_W32NOTIFY.
446
55a87246
JD
4472013-06-03 Jan Djärv <jan.h.d@swipnet.se>
448
449 * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
450
451 * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
452
453 * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
454
3d5ee10a
PE
4552013-06-03 Paul Eggert <eggert@cs.ucla.edu>
456
457 Fix minor problems found by static checking.
458 * data.c (pure_write_error):
459 Use xsignal2, not Fsignal, as Fsignal might return.
460 * eval.c (set_backtrace_debug_on_exit): Now static.
461 (backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
462 No longer inline. EXTERN_INLINE is needed only for functions
463 defined in .h files. Reindent function header as per GNU style.
464 (backtrace_p, backtrace_top, backtrace_next):
465 Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
466 compiler or linker. Add extern decls to pacify gcc -Wall.
467 * frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
468 Now static.
469 * frame.c (free_monitors): Define only on platforms that need it.
470 * nsterm.m (ns_term_init):
471 * process.c (catch_child_signal):
472 Don't worry about whether SIGCHLD is defined, as SIGCHLD is
473 defined on all porting targets these days.
474 * process.c, process.h (catch_child_signal):
475 Make it extern only if NS_IMPL_GNUSTEP is defined.
476
e2d8a6f0
EZ
4772013-06-03 Eli Zaretskii <eliz@gnu.org>
478
479 * w32.c (gettimeofday): Make the signature identical to prototype
480 in nt/inc/sys/time.h.
481
a8a7c5f6
SM
4822013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
483
484 * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
485 .gdbinit.
486
487 * keyboard.c (safe_run_hooks_error): Improve error message.
488
489 * data.c (pure_write_error): Add `object' argument.
490 * puresize.h (CHECK_IMPURE): Use it.
491
c9628c79
MA
4922013-06-03 Michael Albinus <michael.albinus@gmx.de>
493
494 * Makefile.in (NOTIFY_OBJ): New variable.
495 (base_obj): Replace inotify.o by $(NOTIFY_OBJ).
496
497 * emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
498 Call syms_of_gfilenotify.
499
500 * gfilenotify.c: New file.
501
502 * keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify
503 and Qfile_w32notify.
504 (top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
505 HAVE_W32NOTIFY and USE_FILE_NOTIFY.
506
507 * lisp.h: Declare syms_of_gfilenotify.
508
509 * termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
510
2f592f95
SM
5112013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
512
513 Merge the specpdl and backtrace stacks. Make the structure of the
514 specpdl entries more obvious via a tagged union of structs.
515 * lisp.h (BITS_PER_PTRDIFF_T): New constant.
516 (enum specbind_tag): New enum.
517 (struct specbinding): Make it a tagged union of structs.
518 Add a case for backtrace records.
519 (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
520 (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
521 (backtrace_debug_on_exit): New accessors.
522 (struct backtrace): Remove.
523 (struct catchtag): Remove backlist field.
524 * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
525 Move to eval.c.
526 (Flocal_variable_p): Speed up the common case where the binding is
527 already loaded.
528 * eval.c (backtrace_list): Remove.
529 (set_specpdl_symbol, set_specpdl_old_value): Remove.
530 (set_backtrace_args, set_backtrace_nargs)
531 (set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
532 (backtrace_next): New functions.
533 (Fdefvaralias, Fdefvar): Adjust to new specpdl format.
534 (unwind_to_catch, internal_lisp_condition_case)
535 (internal_condition_case, internal_condition_case_1)
536 (internal_condition_case_2, internal_condition_case_n): Don't bother
537 with backtrace_list any more.
538 (Fsignal): Adjust to new backtrace format.
539 (grow_specpdl): Move up.
540 (record_in_backtrace): New function.
541 (eval_sub, Ffuncall): Use it.
542 (apply_lambda): Adjust to new backtrace format.
543 (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
544 data.c.
545 (specbind): Adjust to new specpdl format. Simplify.
546 (record_unwind_protect, unbind_to): Adjust to new specpdl format.
547 (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
548 backtrace format.
549 (mark_backtrace): Remove.
550 (mark_specpdl, get_backtrace, backtrace_top_function): New functions.
551 * xdisp.c (redisplay_internal): Use record_in_backtrace.
552 * alloc.c (Fgarbage_collect): Use record_in_backtrace.
553 Use mark_specpdl.
554 * profiler.c (record_backtrace): Use get_backtrace.
555 (handle_profiler_signal): Use backtrace_top_function.
556 * .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
557 accessor functions.
558
c0342369
JD
5592013-06-02 Jan Djärv <jan.h.d@swipnet.se>
560
561 * process.h (catch_child_signal): Declare.
562
563 * process.c (catch_child_signal): New function.
564 (init_process_emacs): Call it.
565
566 * nsterm.m: Include process.h if NS_IMPL_GNUSTEP.
567 (ns_menu_bar_is_hidden, menu_will_open_state): Define only if
568 NS_IMPL_COCOA.
569 (x_set_cursor_type): Remove declaration.
570 (ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
571 (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
572 (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
573 (ns_get_color): Use F suffix on float.
574 (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
575 (ns_get_rgb_color): Remove.
576 (x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
577 (note_mouse_movement): x and y are CGFloat.
578 (ns_draw_fringe_bitmap): Remove unused rowY.
579 Change #if to COCOA && >= 10_6.
580 (ns_draw_window_cursor): Remove unused overspill.
581 (ns_draw_underwave): width and x are EamcsCGFloat.
582 (ns_draw_box): thickness is CGFloat.
583 (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
584 (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
585 if not in main thread.
586 (ns_get_pending_menu_title, ns_check_menu_open)
587 (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
588 (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
589 (sendFromMainThread:): New method.
590 (changeFont:): size is CGFloat.
591 (keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
592 Disable warning about permanent text.
593 (characterIndexForPoint:): Adjust return type depending on GNUStep
594 version.
595 (mouseDown:): delta is CGFloat.
596 (updateFrameSize): Remove unised variable f.
597 (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
598 Cast float to EmacsCGFloat.
599 (windowWillUseStandardFrame:defaultFrame:): Set maximized_height
600 also to -1 when restoring.
601 (windowDidExitFullScreen:): Put call to updateCollectionBehaviour
602 inside NS_IMPL_COCOA.
603 (toggleFullScreen:): Put call to toggleFullScreen inside
604 NS_IMPL_COCOA. Cast float to EmacsCGFloat.
605 (setPosition:portion:whole:): por is CGFloat.
606 (getMouseMotionPart:window:x:y:): Add F suffix to float.
607 (mouseDown:): Use CGFloat.
608 (mouseDragged:): Remove unised variable edge.
609 (EmacsDocument): Implement for NS_IMPL_GNUSTEP.
610
611 * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
612 of CGFloat differs.
613 (EmacsApp): New variable nextappdefined. Declare sendFromMainThread
614 when NS_IMPL_GNUSTEP.
615 (EmacsDocument): Declare when NS_IMPL_GNUSTEP.
616 (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
617 (EmacsToolbar): Add clearAll. Add tag argument to
618 addDisplayItemWithImage.
619 (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
620
621 * nsselect.m (ns_get_local_selection): Remove unused variable type.
622
623 * nsmenu.m (ns_update_menubar): Make static.
624 (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
625 (fillWithWidgetValue:): Add cast to SEL for setAction.
626 (addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
627 (update_frame_tool_bar): Update code for GNUStep.
628 (clearAll): New method.
629 (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
4f405069 630 argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
e7b41c4c 631 Move identifierToItem setObject and activeIdentifiers addObject before
c0342369
JD
632 call to insertItemWithItemIdentifier.
633 (validateVisibleItems): Fix indentation.
634 (toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
635 (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
636 UtilityWindow to aStyle, remove call to setStyleMask.
637
638 * nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
639
640 * nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
641 (ns_charset_covers, ns_get_covering_families, nsfont_open):
642 Use F suffix on floats.
643 (ns_char_width): Returns CGFloat.
644 (ns_ascii_average_width): w is CGFloat instead of float.
e7b41c4c 645 (nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
c0342369
JD
646 DPSxshow.
647 (ns_glyph_metrics): CGFloat instead of float.
648
a0eb10b3
JB
649 * nsfns.m (x_set_foreground_color, x_set_background_color):
650 Use EmacsCGFloat.
651 (ns_implicitly_set_icon_type, Fx_create_frame): Make static,
652 remove unused variables.
653 (Fns_read_file_name): Keep track if panel is for save.
654 Use ns_filename_from_panel/ns_directory_from_panel.
c0342369 655 (Fns_list_services): delegate only used for COCOA.
a0eb10b3
JB
656 (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
657 Just return the input if GNUStep.
c0342369
JD
658 (x_screen_planes): Remove.
659 (Fxw_color_values): Use EmacsCGFloat
660 (Fns_display_monitor_attributes_list): Only get screen number for
661 Cocoa.
662 (getDirectory, getFilename): Removed from EmacsOpenPanel and
663 EmacsSavePanel.
664 (EmacsOpenPanel:ok:): Use ns_filename_from_panel and
665 ns_directory_from_panel.
666
da9aff11
PE
6672013-06-01 Paul Eggert <eggert@cs.ucla.edu>
668
669 * process.c (handle_child_signal): Also use WCONTINUED.
670 This is so that list-processes doesn't mistakenly list the process
671 as stopped, when the process has actually been continued and is
672 now running.
673
0e64479a
PE
6742013-05-31 Paul Eggert <eggert@cs.ucla.edu>
675
fc186a96
PE
676 Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
677 * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
678 not already configured.
679
0e64479a
PE
680 * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
681
38b787fa
EZ
6822013-05-29 Eli Zaretskii <eliz@gnu.org>
683
684 * Makefile.in (mostlyclean): Remove *.res files.
685
22513e52
SM
6862013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
687
688 * fileio.c (Finsert_file_contents): Preserve undo info when reverting
689 a buffer (bug#8447).
690
6ef3db10
EZ
6912013-05-27 Eli Zaretskii <eliz@gnu.org>
692
693 * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
694 display vector, and we backtrack, handle the case that the
695 previous character position is also displayed from a display
696 vector or covered by a display string or image. (Bug#14476)
697
6799bb26
JD
6982013-05-25 Jan Djärv <jan.h.d@swipnet.se>
699
700 * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
701 (struct MonitorInfo, free_monitors): Remove.
702 (x_make_monitor_attribute_list): Call make_monitor_attribute_list.
703 (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
704 (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
705 Qframes, Qsource.
706
707 * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
708 (struct MonitorInfo, free_monitors): Remove.
709 (ns_screen_name): Make static.
710 (ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
711 (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
712 Qframes, Qsource.
713
714 * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
715 (struct MonitorInfo): New struct.
716 (free_monitors, make_monitor_attribute_list): Declare.
717
22513e52
SM
718 * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
719 New Lisp_Object:s.
6799bb26
JD
720 (free_monitors, make_monitor_attribute_list): New functions.
721 (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
722 Qsource.
723
38cd43eb
XF
7242013-05-25 Xue Fuqiao <xfq.free@gmail.com>
725
726 * callproc.c (call_process): Refine the doc string. (Bug#14045)
727
2af0948d
SM
7282013-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
729
a7eb9b0f
SM
730 * keyboard.c: Apply keyboard decoding only to events that come directly
731 from the tty, not from unread-command-events (bug#14368).
732 (read_event_from_main_queue): New function, extracted from read_char).
733 (read_decoded_char): Remove.
734 (read_decoded_event_from_main_queue): New function to replace it.
735 (read_char): Use it.
736 (read_key_sequence): Use read_char rather than read_decoded_char.
737
2af0948d
SM
738 * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
739
1413e9a5
BR
7402013-05-22 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
741
742 * casetab.c (init_casetab_once): Fix last change (bug#14424).
743
e6d2f155
KH
7442013-05-22 Kenichi Handa <handa@gnu.org>
745
746 The following changes are to fix the setting of
747 buffer-file-coding-system on, for instance, C-x RET c unix RET
748 _FILE_OF_DOS_EOL_TYPE_ RET.
749
750 * coding.h (struct coding_system): New member detected_utf8_chars.
751
752 * coding.c (detect_coding_utf_8): Count characters and check EOL
753 format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if
754 BOM is there.
755 (setup_coding_system): Do not initialize coding->head_ascii.
756 (check_ascii): Do not set coding->eol_seen but update it. Do not
757 call adjust_coding_eol_type here.
1413e9a5
BR
758 (detect_coding): Fix detection of BOM for utf-8 and utf-16.
759 If the eol-type of CODING is already specified, adjust the eol type
e6d2f155
KH
760 of the found coding-system.
761 (decode_coding_gap): Cancel previous change. Utilize the
762 character numbers counted by detect_coding_utf_8. Fix detection
763 of BOM for utf-8.
764
ab56a6f4 7652013-05-21 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
fc30d803
SM
766
767 * search.c (looking_at_1): Only set last_thing_searched if the match
768 changed the match-data (bug#14281).
769
ecc3c6ed
DA
7702013-05-21 Dmitry Antipov <dmantipov@yandex.ru>
771
772 * xdisp.c (reseat_at_previous_visible_line_start):
a0eb10b3 773 Already declared in dispextern.h, so remove it here.
ecc3c6ed
DA
774 (move_it_vertically_backward): Likewise.
775
5ba8bf35
YM
7762013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
777
778 * xfns.c (check_x_display_info): Don't use XINT for terminal object.
d6635ba2 779 (Fx_display_pixel_width, Fx_display_pixel_height)
fc30d803
SM
780 (Fx_display_mm_width, Fx_display_mm_height):
781 Mention `display-monitor-attributes-list' in docstrings.
5ba8bf35 782
91e8418b 783 * nsfns.m (ns_get_screen): Remove function. All uses removed.
a0eb10b3 784 (check_ns_display_info): Sync with check_x_display_info in xfns.c.
91e8418b
YM
785 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
786 (Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height)
787 (Fx_display_backing_store, Fx_display_visual_class)
788 (Fx_display_save_under, Fx_close_connection, Fxw_display_color_p)
789 (Fx_display_grayscale_p, Fx_display_pixel_width)
790 (Fx_display_pixel_height, Fx_display_planes)
791 (Fx_display_color_cells): Sync args and docstrings with xfns.c.
792 (Fx_display_screens): Don't confuse X11 screens with NS screens.
793 (Fx_display_mm_width, Fx_display_mm_height)
794 (Fx_display_pixel_width, Fx_display_pixel_width): Return width or
795 height for all physical monitors as in X11.
796
fc30d803
SM
797 * nsterm.m (x_display_pixel_width, x_display_pixel_height):
798 Return pixel width or height for all physical monitors as in X11.
91e8418b 799
31ff141c
PE
8002013-05-18 Paul Eggert <eggert@cs.ucla.edu>
801
802 Port --enable-gcc-warnings to clang.
803 * bytecode.c (exec_byte_code):
804 * regex.c:
805 Redo diagnostic pragmas to pacify clang, too.
806 * dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
807 * editfns.c (Fencode_time):
808 * fileio.c (file_accessible_directory_p):
809 * font.c (font_unparse_xlfd):
810 Use '&"string"[index]' instead of '"string" + (index)'.
811 * undo.c (user_error): Remove; unused.
812
df065a0b
EZ
8132013-05-16 Eli Zaretskii <eliz@gnu.org>
814
04d360e7
EZ
815 * insdel.c (insert_1_both): Document the arguments, instead of
816 referring to insert_1, which no longer exists.
817
5bb98290
EZ
818 * xdisp.c (message_dolog): If the *Messages* buffer is shown in
819 some window, increment windows_or_buffers_changed, so that
820 *Messages* display in that window is updated. (Bug#14408)
821
df065a0b
EZ
822 * w32.c: Include epaths.h.
823 (init_environment): Use cmdproxy.exe without leading directories.
824 Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
825 case.
826 (gettimeofday): Adjust signature and return value to Posix
827 expectations.
828
829 * unexw32.c (open_output_file): Delete the existing emacs.exe
830 before creating it, to break the hard link to the versioned
831 executable.
832
833 * Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
834 (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
835 (FIRSTFILE_OBJ): New variables.
836 (W32_RES): Rename to EMACSRES. All users changed.
837 (base_obj): Use $(CM_OBJ).
838 (ALLOBJS): Use $(FIRSTFILE_OBJ).
839 (emacs$(EXEEXT)): Depend on $(ADDSECTION).
840 (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
841 $(W32_RES_LINK) before $(LIBES).
842 (emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt.
843
1aa8d505
SM
8442013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
845
6e911150
SM
846 * makefile.w32-in (DOC): Use just "DOC".
847
848 * Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
849
1aa8d505
SM
850 * process.c: Export default filters and sentinels to Elisp.
851 (Qinternal_default_process_sentinel, Qinternal_default_process_filter):
852 New constants.
853 (pset_filter, pset_sentinel, make_process, Fset_process_filter)
854 (Fset_process_sentinel, Fformat_network_address):
855 Default to them instead of nil.
856 (server_accept_connection): Sentinels can't be nil any more.
857 (read_and_dispose_of_process_output): New function, extracted from
858 read_process_output.
859 (read_process_output): Use it; filters can't be nil.
860 (Finternal_default_process_filter): New function, extracted from
861 read_process_output.
862 (exec_sentinel_unwind): Remove function.
863 (exec_sentinel): Don't zilch sentinel while running.
864 (status_notify): Sentinels can't be nil.
865 (Finternal_default_process_sentinel): New function extracted from
866 status_notify.
867 (setup_process_coding_systems): Default filter is not nil any more.
868 (syms_of_process): Export new Elisp functions and initialize
869 new constants.
870 * lisp.h (make_lisp_proc): New function.
871
5ac2eb34
SM
8722013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
873
874 * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
875
eda9c7d7
EZ
8762013-05-14 Eli Zaretskii <eliz@gnu.org>
877
878 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
5ac2eb34
SM
879 unless we know that the window w is a leaf window.
880 Another attempt at solving bug#14062.
eda9c7d7 881
8fdeaad5
JD
8822013-05-14 Jan Djärv <jan.h.d@swipnet.se>
883
884 * nsfont.m (ns_spec_to_descriptor): Retain and autorelease
885 fdesc (Bug#14375).
886
44aa9ee6
PE
8872013-05-12 Paul Eggert <eggert@cs.ucla.edu>
888
889 * image.c (gif_load): Check that subimages fit (Bug#14345).
890
759fd763
SM
8912013-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
892
893 * lread.c (skip_dyn_eof): New function.
894 (read1): Use it to skip the end of a file in response to #@00.
895
896 * doc.c (get_doc_string): Slightly relax the sanity checking.
897
4465bfb4
JD
8982013-05-09 Jan Djärv <jan.h.d@swipnet.se>
899
900 * nsfns.m: Include IOGraphicsLib.h if Cocoa.
901 (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
902 (MonitorInfo): New struct.
903 (free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
904 (Fns_display_monitor_attributes_list): New functions.
905 (display-usable-bounds): Remove.
906 (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
907 Qsource.
908
7583e2a0
PE
9092013-05-09 Paul Eggert <eggert@cs.ucla.edu>
910
911 * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
912 (GTK_CHECK_VERSION): New macro, if not already defined.
913 All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
914 replaced by GTK_CHECK_VERSION.
915
ad75d77e
PE
9162013-05-08 Paul Eggert <eggert@cs.ucla.edu>
917
918 * xterm.h (GTK_PREREQ): New macro.
919 All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
920 to use this macro instead, for consistency and clarity.
921
07525f77
EZ
9222013-05-08 Eli Zaretskii <eliz@gnu.org>
923
924 * xdisp.c (row_for_charpos_p): New function, with code of
925 cursor_row_p, but accepts an additional argument CHARPOS instead
926 of using a hardcoded PT.
927 (cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
928 (row_containing_pos): Call row_for_charpos_p instead of partially
929 doing the same. Fixes cursor positioning under longlines-mode
930 when longlines-show-effect includes more than one newline, when
931 moving the cursor vertically up.
932
d901fc8d
JB
9332013-05-08 Juanma Barranquero <lekktu@gmail.com>
934
935 * makefile.w32-in (ACL_H): New macro.
936 ($(BLD)/fileio.$(O)): Update dependencies.
937
f269bc61
PE
9382013-05-07 Paul Eggert <eggert@cs.ucla.edu>
939
e7b41c4c 940 Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295)
ffdc270a
PE
941 * Makefile.in (LIB_ACL): New macro.
942 (LIBACL_LIBS): Remove.
943 (LIBES): Use LIB_ACL, not LIBACL_LIBS.
944 * fileio.c: Include <acl.h>.
945 Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
946 (ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
947 !acl_errno_valid.
948 (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
949 it ourselves.
950
f269bc61
PE
951 * unexelf.c: Don't assume ElfW (Half) fits in int.
952 (entry_address, find_section, unexec): Use ptrdiff_t, not int,
953 when dealing with ElfW (Half) values, since they can exceed 2**31
954 on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes.
955 (entry_address): Omit unused NUM arg. All uses changed.
956
a261c53e
JL
9572013-05-07 Juri Linkov <juri@jurta.org>
958
959 * callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
960 to the string converted from number with `Fnumber_to_string'.
961 (Bug#14254)
962
2b66427d
PE
9632013-05-07 Paul Eggert <eggert@cs.ucla.edu>
964
965 * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
966 This fixes a problem introduced by my previous change.
967
15acfe41
GM
9682013-05-07 Glenn Morris <rgm@gnu.org>
969
970 * lread.c (readchar): Don't read from a dead buffer. (Bug#14280)
971
5ea03bf5
JD
9722013-05-07 Jan Djärv <jan.h.d@swipnet.se>
973
974 * xfns.c: Move misplaced ifndef USE_GTK from previous checkin.
975
e0c9d565
PE
9762013-05-07 Paul Eggert <eggert@cs.ucla.edu>
977
978 Static checking by GCC 4.8.0.
979 * xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
980 (x_get_monitor_for_frame, x_make_monitor_attribute_list)
981 (x_get_monitor_attributes_fallback)
982 (x_get_monitor_attributes_xinerama)
983 (x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
984 Define only if USE_GTK.
985 (free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
986 (x_get_monitor_attributes_fallback): Omit unused locals.
987 (x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
988 Use double, not float, to avoid mixed-mode floating point arithmetic.
989
4e3f9230
YM
9902013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
991 Jan Djärv <jan.h.d@swipnet.se>
992
993 * Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS)
994 (XINERAMA_CFLAGS): New macros.
995 (ALL_CFLAGS, LIBES): Use them.
996
997 * xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and
998 include <X11/extensions/Xinerama.h> if HAVE_XINERAMA.
999 (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables.
1000 (syms_of_xfns): DEFSYM them.
1001 (struct MonitorInfo): New struct.
1002 (x_get_net_workarea, free_monitors, x_get_monitor_for_frame)
1003 (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback)
1004 (x_get_monitor_attributes_xrandr, x_get_monitor_attributes)
1005 (x_get_monitor_attributes_xinerama): New functions.
1006 (Fx_display_monitor_attributes_list): New primitive.
1007 (syms_of_xfns): Defsubr it.
1008
1009 * xterm.h (x_display_info): Add Xatom_net_workarea and
1010 Xatom_net_current_desktop.
1011
1012 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea
1013 and dpyinfo->Xatom_net_current_desktop.
1014
05839b6a
EZ
10152013-05-06 Eli Zaretskii <eliz@gnu.org>
1016
1017 * xdisp.c (pos_visible_p): Use the special code for finding the
1018 beginning of a display property or overlay for any "replacing"
1019 display property, not just for display strings. This solves
1020 incorrect reporting of position by posn-at-point. (Bug#14241)
1021
dc4a2ee0
PE
10222013-05-06 Paul Eggert <eggert@cs.ucla.edu>
1023
5ee94506
PE
1024 * unexelf.c: Fix some 32-bit integer problems, notably when debugging.
1025 Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
1026 Verify that ElfW (Half) fits in int.
1027 (fatal): Use same signature as lisp.h.
1028 (UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
1029 configure and build with -DUNEXELF_DEBUG without worrying about
1030 other modules that use DEBUG.
1031 (DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints
1032 possibly-wide integers now uses it instead of plain fprintf.
1033 (entry_address): New function, which avoids problems with 32-bit
1034 overflow on 64-bit hosts.
1035 (OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
1036 (round_up): Don't assume the remainder fits in int.
1037 (find_section): Use bool for boolean. Simplify debug code.
1038 (unexec): Don't assume file sizes fit in int or size_t.
1039 Omit unnecessary trailing newline in 'fatal' format.
1040 Use strerror rather than outputting decimal error number.
1041 Remove unused code when emacs is not defined;
1042 this file relies on Emacs now.
1043 Don't assume e_phnum and e_shnum are positive.
1044
dc4a2ee0
PE
1045 * regex.c: Fix problems when DEBUG is defined.
1046 (extract_number, extract_number_and_incr): Define regardless of
1047 whether DEBUG is defined; that's simpler and makes the code less
1048 likely to go stale in the normal case when DEBUG is not defined.
1049 Return int rather than taking an int * arg. All callers changed.
1050 (DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
1051 Remove, replacing with ...
1052 (DEBUG_PRINT): New macro. All callers changed.
1053 (DEBUG_COMPILES_ARGUMENTS): New macro.
1054 (print_fastmap, print_partial_compiled_pattern) [DEBUG]:
1055 (print_compiled_pattern, print_double_string) [DEBUG]:
1056 Use prototype rather than old-style definition.
1057 (print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
1058 (ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
1059 (POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
1060 (POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
1061 Don't assume ptrdiff_t, size_t, and long are the same width as int.
1062 (POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
1063 This matters only when DEBUG is defined.
1064
14c7ed05
EZ
10652013-05-05 Eli Zaretskii <eliz@gnu.org>
1066
1067 * xdisp.c (set_iterator_to_next): Set the
1068 ignore_overlay_strings_at_pos_p flag only if we are _really_
1069 iterating over an overlay string, as indicated by the
1070 current.overlay_string_index member. (Bug#14306)
1071
e6076b1b
JD
10722013-05-05 Jan Djärv <jan.h.d@swipnet.se>
1073
1074 * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
1075 to where it is used, to avoid autorelease issues (Bug#14050).
1076
cbee2131
PE
10772013-05-05 Paul Eggert <eggert@cs.ucla.edu>
1078
1079 `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).
1080 * fileio.c (syms_of_fileio): Implement this.
1081 * filelock.c (create_lock_file): If symbolic links don't work, so
1082 we use a regular file as a lock file, do not fsync the lock file;
1083 it's not needed.
1084
30c7e542
SM
10852013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
1086
1087 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
1088 (syms_of_minibuf): Adjust accodingly.
1089 * lread.c (Fread):
1090 * callint.c (Fcall_interactively): Adjust calls accordingly.
1091
5bebd186
EZ
10922013-05-04 Eli Zaretskii <eliz@gnu.org>
1093
1094 * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
30c7e542
SM
1095 w->contents is a buffer before computing everything else.
1096 Use parentheses to disambiguate last part of the condition.
5bebd186
EZ
1097
1098 * w32fns.c (w32_wnd_proc): Remove temporary code used to trap
1099 assertion violations. (Bug#14062)
1100
0fb0a4f3
DR
11012013-05-01 David Reitter <david.reitter@gmail.com>
1102
1103 * nsfns.m (ns_tooltip): Initialize.
1104
9e63b4a5
EZ
11052013-04-28 Eli Zaretskii <eliz@gnu.org>
1106
1107 * coding.c (decode_coding_gap): Don't remove the character before
1108 a newline unless it's a CR character. (Bug#14287)
1109
ad60824e
DN
11102013-04-28 Dan Nicolaescu <dann@gnu.org>
1111
1112 * dispextern.h (struct face): Move enum face_underline_type
1113 earlier so that bitfields can be in the same word.
1114
edbdcec0
JD
11152013-04-28 Jan Djärv <jan.h.d@swipnet.se>
1116
1117 * nsfns.m (handlePanelKeys): New function.
1118 (EmacsOpenPanel:performKeyEquivalent:)
1119 (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
1120 arrows/function/control and copy/paste keys (Bug#14296).
1121
0208ede7
JL
11222013-04-27 Juri Linkov <juri@jurta.org>
1123
1124 * callint.c (Fcall_interactively): Call `Qread_number' for
1125 interactive code letter `n' instead of using duplicate code.
1126 (Bug#14254)
1127
b8dd59f7
PE
11282013-04-27 Paul Eggert <eggert@cs.ucla.edu>
1129
1130 * systime.h (make_timeval): Declare as 'const'.
1131
8bd722db
KH
11322013-04-27 Kenichi Handa <handa@gnu.org>
1133
1134 * font.c (font_open_entity): Always open a font of manageable
1135 size.
1136
13d0e56f 11372013-04-26 Paul Eggert <eggert@cs.ucla.edu>
cbee2131 1138
f780d632
PE
1139 Port better to AIX (Bug#14258).
1140 * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
1141 to pacify AIX xlc.
1142
ec509856
KH
11432013-04-24 Kenichi Handa <handa@gnu.org>
1144
1145 * coding.c (decode_coding_iso_2022): When an invalid escape
1146 sequence is encountered, reset the invocation and designation
1147 status to the safest one.
1148
84fc48e5
PE
11492013-04-22 Paul Eggert <eggert@cs.ucla.edu>
1150
1151 * Makefile.in (bootstrap-clean): Remove stamp-h1 too.
1152 Without this fix, "make distclean" leaves stamp-h1 behind.
1153
806bda47
EC
11542013-04-20 Erik Charlebois <erikcharlebois@gmail.com>
1155
1156 * w32fns.c (w32_fullscreen_rect): New function to compute the
1157 window rectangle for the given fullscreen mode.
1158 (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
1159 longer tunes the window size. This keeps the window's edges flush
1160 with the screen and allows the taskbar to hide itself in fullboth.
1161
1162 * w32term.c (w32fullscreen_hook): 'fullboth' now shows without
1163 window decorations and uses the entire screen.
1164
1165 * w32term.h (w32_fullscreen_rect) Add prototype.
1166 (struct w32_output): Replace normal_width, normal_height,
1167 normal_top, and normal_left members with a single normal_placement
1168 struct.
1169 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
1170 Remove macros.
1171 (FRAME_NORMAL_PLACEMENT): New macro.
1172
9cc2810b
JB
11732013-04-16 Juanma Barranquero <lekktu@gmail.com>
1174
1175 * minibuf.c (Ftest_completion): Silence compiler warning.
1176
fd16b54c
EZ
11772013-04-15 Eli Zaretskii <eliz@gnu.org>
1178
1179 * w32fns.c (w32_wnd_proc): Add more assertions to investigate
5fbcd237 1180 bug#14062.
fd16b54c
EZ
1181
1182 * frame.h (WINDOW_FRAME): Protect macro and its argument with
1183 parentheses.
1184
1185 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
1186 (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
1187 (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
1188 parentheses where appropriate.
1189
9e3379a0
PE
11902013-04-14 Paul Eggert <eggert@cs.ucla.edu>
1191
1192 * keyboard.c (timer_start_idle): Remove no-longer-used local.
1193
ddd6b685
EZ
11942013-04-14 Eli Zaretskii <eliz@gnu.org>
1195
1196 * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
1197 <left-fringe-width, right-fringe-width, fringes-outside-margins>:
1198 Mention in the doc string that setting these variables takes
1199 effect only after a call to set-window-buffer. (Bug#14200)
1200
29b79ba1
EZ
12012013-04-13 Eli Zaretskii <eliz@gnu.org>
1202
1203 * indent.c (Fvertical_motion): Don't consider display strings on
1204 overlay strings as display strings on the buffer position we
1205 started from. This prevents vertical cursor motion from jumping
1206 more than one line when there's an overlay string with a display
1207 property at end of line.
1208 Reported by Karl Chen <Karl.Chen@quarl.org> in
1209 http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
1210
562c6ee9
SM
12112013-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
1212
1213 * window.c (select_window): `record_buffer' even if window is
1214 already selected (bug#14191).
1215
fcc1fe85
EZ
12162013-04-11 Eli Zaretskii <eliz@gnu.org>
1217
1218 * window.c (Fwindow_end): Test more flags, including the buffer's
1219 last_overlay_modified flag, to determine whether the window's
1220 display is really up-to-date. Prevents the function from
1221 returning a stale value. (Bug#14170)
1222 (Fwindow_line_height): Fix the test for up-to-date-ness of the
1223 current matrix.
1224
f009190a
EZ
12252013-04-10 Eli Zaretskii <eliz@gnu.org>
1226
1227 * frame.c (do_switch_frame): Mark the TTY frame we switch to as
562c6ee9
SM
1228 garbaged only if it is not already the top frame on its TTY.
1229 This prevents flickering due to constant redrawing of TTY frames when
f009190a
EZ
1230 there are GUI frames open in the same session. (Bug#13864)
1231
78ce603d
SM
12322013-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
1233
1234 * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
1235 of marking the idle timers directly.
1236
a8036e40
SM
12372013-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1238
1239 * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
1240 tables (bug#14054).
1241
7ffe7ef6
SM
12422013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
1243
1244 * window.c (select_window): Don't record_buffer while the invariant is
1245 temporarily broken (bug#14161).
1246
1247 * fns.c (Fdelq): Don't assume !NILP => CONSP.
1248
7d9f6883
EZ
12492013-04-07 Eli Zaretskii <eliz@gnu.org>
1250
1251 * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.
1252
5406cfd9
RF
12532013-04-07 Romain Francoise <romain@orebokech.com>
1254
1255 Ignore additional platform-specific ACL errors (Bug#13702).
1256 * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
1257 (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
1258
95c0e83b
JD
12592013-03-31 Jan Djärv <jan.h.d@swipnet.se>
1260
1261 * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking
1262 f->output_data.ns.
1263
876da980
PE
12642013-04-07 Paul Eggert <eggert@cs.ucla.edu>
1265
1266 Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
1267 This bug was introduced by my 2013-02-25 change that simplified
1268 data_start configuration. Without this change, on GNU/Linux
1269 an Emacs configured with --enable-profiling fails immediately
1270 due to a profiler signal.
1271 * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
1272 with these flags. On platforms where special flags are needed
1273 when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
1274 (ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
1275 (.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
1276
7452b7bd
DA
12772013-04-07 Dmitry Antipov <dmantipov@yandex.ru>
1278
1279 Get rid of some platform-specific functions examining window
1280 system and its capabilities. This is a partial rework of the
1281 2013-04-05 change.
1282 * lisp.h (have_menus_p): Remove prototype. This function is
1283 replaced with platform-independent window_system_available.
1284 (check_window_system): Move to...
1285 * frame.h (decode_window_system_frame, window_system_available):
1286 ...here, add new prototypes.
1287 * frame.c (window_system_available, decode_window_system_frame):
1288 New functions.
1289 (check_window_system): Platform-independent now.
1290 * xterm.h (x_in_use): Remove declaration.
1291 (check_x_frame):
1292 * w32term.h (check_x_frame):
1293 * nsterm.h (check_x_frame): Remove prototypes. This function
1294 is replaced with platform-independent decode_window_system_frame.
1295 * msdos.c (have_menus_p): Remove.
1296 * nsfns.m (check_window_system, have_menus_p, check_ns_frame):
1297 Remove platform-specific functions. Use check_window_system,
1298 decode_window_system_frame and check_ns_display_info where
1299 appropriate. Minor style and comment tweaks.
1300 * w32fns.c (w32_in_use, check_window_system, have_menus_p)
1301 (check_x_frame): Likewise.
1302 * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
1303 Likewise.
1304 * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
1305 * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
1306 * xmenu.c, xselect.c: All related users changed.
1307
251e9147
KH
13082013-04-03 Kenichi Handa <handa@gnu.org>
1309
1310 The following changes is to optimize the code for reading UTF-8
1311 files.
1312
562c6ee9 1313 * coding.c (check_ascii): Rename from detect_ascii. Return value
251e9147
KH
1314 changed. Check EOL format. Do not call adjust_coding_eol_type
1315 here.
1316 (check_utf_8): New function.
1317 (adjust_coding_eol_type): Do nothing if already adjusted.
1318 (detect_coding): Compare the return value of check_ascii with
1319 coding->src_bytes. Call adjust_coding_eol_type if necessary.
1320 (decode_coding_gap): Optimize for valid UTF-8.
1321
8bc369d4
KH
13222013-03-21 Kenichi Handa <handa@gnu.org>
1323
1324 * coding.c (syms_of_coding): Cancel previous change.
1325
1326 * insdel.c (insert_from_gap): Fix previous change.
1327
73931ad1
DA
13282013-04-05 Dmitry Antipov <dmantipov@yandex.ru>
1329
1330 Consistently use platform-specific function to detect window system.
1331 * lisp.h (check_window_system): New prototype. This function is
1332 going to replace check_x, check_w32 and check_ns.
1333 (have_menus_p): Mention msdos.c in comment.
1334 * fontset.c (check_window_system_func): Remove. Adjust all users.
1335 * fontset.h (check_window_system_func): Remove prototype.
1336 * nsterm.h (check_ns):
1337 * xterm.h (check_x):
1338 * w32term.h (check_w32): Likewise.
1339 * menu.c (Fx_popup_menu): Use check_window_system.
1340 * msdos.c (check_window_system): Define for MS-DOS.
1341 * nsfns.m (check_window_system): Define for NS. Adjust all users.
1342 * w32fns.c (check_window_system): Likewise for MS-Windows.
1343 * xfns.c (check_window_system): Likewise for X.
1344 * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
1345 * xfaces.c, xmenu.c: Use check_window_system where appropriate.
1346
7216e43b
PE
13472013-04-02 Paul Eggert <eggert@cs.ucla.edu>
1348
1349 Prefer < to > in range checks such as 0 <= i && i < N.
1350 This makes it easier to visualize quantities on a number line.
1351 This patch doesn't apply to all such range checks,
1352 only to the range checks affected by the 2013-03-24 change.
1353 This patch reverts most of the 2013-03-24 change.
1354 * alloc.c (xpalloc, Fgarbage_collect):
1355 * ccl.c (ccl_driver, resolve_symbol_ccl_program):
1356 * character.c (string_escape_byte8):
1357 * charset.c (read_hex):
1358 * data.c (cons_to_unsigned):
1359 * dispnew.c (update_frame_1):
1360 * doc.c (Fsubstitute_command_keys):
1361 * doprnt.c (doprnt):
1362 * editfns.c (hi_time, decode_time_components):
1363 * fileio.c (file_offset):
1364 * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
1365 * font.c (font_intern_prop):
1366 * frame.c (x_set_alpha):
1367 * gtkutil.c (get_utf8_string):
1368 * indent.c (check_display_width):
1369 * keymap.c (Fkey_description):
1370 * lisp.h (FIXNUM_OVERFLOW_P, vcopy):
1371 * lread.c (read1):
1372 * minibuf.c (read_minibuf_noninteractive):
1373 * process.c (wait_reading_process_output):
1374 * search.c (Freplace_match):
1375 * window.c (get_phys_cursor_glyph):
1376 * xdisp.c (redisplay_internal):
1377 * xsmfns.c (smc_save_yourself_CB):
1378 Prefer < to > for range checks.
1379 * dispnew.c (sit_for): Don't mishandle NaNs.
1380 This fixes a bug introduced in the 2013-03-24 change.
1381 * editfns.c (decode_time_components): Don't hoist comparison.
1382 This fixes another bug introduced in the 2013-03-24 change.
1383
92759988
DA
13842013-03-31 Dmitry Antipov <dmantipov@yandex.ru>
1385
1386 * frame.h (struct frame): Drop scroll_bottom_vpos
1387 member becaue all real users are dead long ago.
1388 (FRAME_SCROLL_BOTTOM_VPOS): Remove.
1389 * xdisp.c (redisplay_internal): Adjust user.
1390
9a1971bb
GM
13912013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change)
1392
f38ab167
JD
1393 * nsmenu.m (showAtX:Y:for:): setLevel to
1394 NSPopUpMenuWindowLevel (Bug#13998).
1395
6d01f1fe
JD
13962013-03-30 Jan Djärv <jan.h.d@swipnet.se>
1397
1398 * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
1399 (ns_check_pending_open_menu): Declare.
1400
1401 * nsmenu.m (ns_update_menubar): Correct NSTRACE.
1402 (x_activate_menubar): Update the menu with title that matches
1403 ns_get_pending_menu_title, and call
1404 ns_check_pending_openmenu (Bug#12698).
1405 (menuWillOpen:): New method.
1406 (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
1407
1408 * nsterm.m (menu_will_open_state, menu_mouse_point)
1409 (menu_pending_title): New varaibles.
1410 (ns_get_pending_menu_title, ns_check_menu_open)
1411 (ns_check_pending_open_menu): New functions.
1412
781f4782
DA
14132013-03-29 Dmitry Antipov <dmantipov@yandex.ru>
1414
1415 * indent.c (current_column_bol_cache): Remove leftover which is not
1416 used in Fmove_to_column any more.
1417 (current_column, scan_for_column): Adjust users.
1418 * keyboard.c (last_point_position_buffer, last_point_position_window):
1419 Remove leftovers which are not used for recording undo any more.
1420 (command_loop_1, syms_of_keyboard): Adjust users.
1421 * xdisp.c (last_max_ascent): Remove leftover which is not used in
1422 redisplay_window any more.
1423 (move_it_to): Adjust user.
1424
1921c31b
JB
14252013-03-29 Juanma Barranquero <lekktu@gmail.com>
1426
1427 * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
1428 Update dependencies.
1429
717b8bcd
SM
14302013-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1431
1432 * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
1433 (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
1434 forward references.
1435
e74aeda8
DA
14362013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
1437
1438 * window.h (struct window): Replace hchild, vchild and buffer slots
1439 with the only contents slot. This is possible because each valid
1440 window may have either the child window (in vertical or horizontal
1441 combination) or buffer to display (for the leaf window). Using that,
1442 a lof of operations to traverse and/or change window hierarchies may
1443 be simplified. New member horizontal is used to distinguish between
1444 horizontal and vertical combinations of internal windows.
1445 (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
1446 (WINDOW_VERTICAL_COMBINATION_P): New macros.
1447 (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
1448 * window.c (wset_hchild, wset_vchild): Remove. Adjust all users.
1449 Use contents slot, not buffer, where appropriate.
1450 (wset_combination): New function.
1451 (wset_buffer): Add eassert.
1452 (Fframe_first_window): Simplify the loop reaching first window.
1453 (Fwindow_buffer): Use WINDOW_LEAF_P.
1454 (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
1455 (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
1456 (unshow_buffer): Convert initial debugging check to eassert.
1457 (replace_window, recombine_windows, Fdelete_other_windows_internal)
1458 (make_parent_window, window_resize_check, window_resize_apply)
1459 (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
1460 (Fset_window_configuration, delete_all_child_windows, save_window_save):
1461 Adjust to match struct window changes.
1462 (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
1463 (mark_window_cursors_off, count_windows, get_leaf_windows)
1464 (foreach_window_1): Simplify the loop.
1465 * alloc.c (mark_object): Do not check for the leaf window because
1466 internal windows has no glyph matrices anyway.
1467 * dispnew.c (clear_window_matrices, showing_window_margins_p)
1468 (allocate_matrices_for_window_redisplay, fake_current_matrices)
1469 (allocate_matrices_for_frame_redisplay, free_window_matrices)
1470 (build_frame_matrix_from_window_tree, mirror_make_current)
1471 (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
1472 (update_window_tree, set_window_update_flags): Simplify the loop.
1473 (sync_window_with_frame_matrix_rows): Enforce live window.
1474 Use contents slot, not buffer, where appropriate.
1475 * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
1476 and WINDOW_HORIZONTAL_COMBINATION_P.
1477 (make_frame_visible_1): Simplify the loop.
1478 Use contents slot, not buffer, where appropriate.
1479 * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
1480 (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
1481 (expose_window_tree): Likewise.
1482 Use contents slot, not buffer, where appropriate.
1483 * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
1484 to avoid deleted windows. Use contents slot instead of buffer.
1485 * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
1486 * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
1487 * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
1488 * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
1489
121ab1cd
EZ
14902013-03-28 Eli Zaretskii <eliz@gnu.org>
1491
ef454cf7
EZ
1492 * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
1493 identify the reasons for assertion violations in bug#14062 and
1494 similar ones.
21e930f8
EZ
1495 (Fx_show_tip): Fix compilation error under
1496 "--enable-check-lisp-object-type". (Bug#14073)
ef454cf7 1497
121ab1cd
EZ
1498 * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
1499 Reported by <rzl24ozi@gmail.com>.
1500
5c89ca24
DA
15012013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
1502
1503 * xdisp.c (with_echo_area_buffer_unwind_data): Save window
1504 start marker...
562c6ee9
SM
1505 (unwind_with_echo_area_buffer): ...to restore it here.
1506 This is needed to ensure that...
5c89ca24
DA
1507 (redisplay_window): ...both window markers are valid here,
1508 which is verified by eassert.
1509 * editfns.c (save_excursion_save): Do not assume that
1510 selected_window always displays the buffer.
c7f53895
DA
1511 * buffer.c (Fbuffer_swap_text): Adjust window start markers.
1512 Fix comment.
5c89ca24 1513
f557c1b1
SM
15142013-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
1515
1516 * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
1517 the upcase table.
1518
40693bba 15192013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes)
1520
1521 * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
1522
c86f791f
EZ
15232013-03-27 Eli Zaretskii <eliz@gnu.org>
1524
1525 * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
1526 since MinGW's w32api headers do. This avoids compiler warnings.
1527
1528 * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
1529 if already defined.
1530
c6e72e17
EZ
15312013-03-26 Eli Zaretskii <eliz@gnu.org>
1532
1533 * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
1534
54e95010
JD
15352013-03-26 Jan Djärv <jan.h.d@swipnet.se>
1536
1537 * gtkutil.c (style_changed_cb): Check if frame is live and an
1538 X frame (Bug#14038).
1539
b88b62de
EZ
15402013-03-26 Eli Zaretskii <eliz@gnu.org>
1541
a18d7de6
EZ
1542 * w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
1543 Define only for _WIN32_WINNT less than 0x0500.
da9dcbb8
EZ
1544 (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
1545 MinGW64.
8f5e14c8
EZ
1546 Move inclusion of time.h before sys/time.h, so that MinGW64 could
1547 see its own definitions of 'struct timeval' and 'struct timezone'.
a18d7de6 1548
b88b62de
EZ
1549 Fix incompatibilities between MinGW.org and MinGW64 headers.
1550 * w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
1551
1552 * w32.c (REPARSE_DATA_BUFFER): Guard with
1553 MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
1554
c074e458
JD
15552013-03-25 Jan Djärv <jan.h.d@swipnet.se>
1556
1557 * xterm.c: Include X11/XKBlib.h
1558 (XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041).
1559
908589fd
AS
15602013-03-24 Andreas Schwab <schwab@linux-m68k.org>
1561
1562 * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
1563 written backwards.
1564 * blockinput.h (input_blocked_p): Likewise.
1565 * bytecode.c (exec_byte_code): Likewise.
1566 * callproc.c (call_process_kill, call_process_cleanup)
1567 (Fcall_process): Likewise.
1568 * ccl.c (ccl_driver, resolve_symbol_ccl_program)
1569 (Fccl_execute_on_string): Likewise.
1570 * character.c (string_escape_byte8): Likewise.
1571 * charset.c (read_hex): Likewise.
1572 * cm.c (calccost): Likewise.
1573 * data.c (cons_to_unsigned): Likewise.
1574 * dired.c (directory_files_internal, file_name_completion):
1575 Likewise.
1576 * dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
1577 (sit_for): Likewise.
1578 * doc.c (Fsubstitute_command_keys): Likewise.
1579 * doprnt.c (doprnt): Likewise.
1580 * editfns.c (hi_time, decode_time_components, Fformat): Likewise.
1581 * emacsgtkfixed.c: Likewise.
1582 * fileio.c (file_offset, Fwrite_region): Likewise.
1583 * floatfns.c (Fexpt, fmod_float): Likewise.
1584 * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
1585 Likewise.
1586 * font.c (font_intern_prop): Likewise.
1587 * frame.c (x_set_alpha): Likewise.
1588 * gtkutil.c (get_utf8_string): Likewise.
1589 * indent.c (check_display_width): Likewise.
1590 * intervals.c (create_root_interval, rotate_right, rotate_left)
1591 (split_interval_right, split_interval_left)
1592 (adjust_intervals_for_insertion, delete_node)
1593 (interval_deletion_adjustment, adjust_intervals_for_deletion)
1594 (merge_interval_right, merge_interval_left, copy_intervals)
1595 (set_intervals_multibyte_1): Likewise.
1596 * keyboard.c (gobble_input, append_tool_bar_item): Likewise.
1597 * keymap.c (Fkey_description): Likewise.
1598 * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
1599 * lread.c (openp, read_integer, read1, string_to_number):
1600 Likewise.
1601 * menu.c (ensure_menu_items): Likewise.
1602 * minibuf.c (read_minibuf_noninteractive): Likewise.
1603 * print.c (printchar, strout): Likewise.
1604 * process.c (create_process, Faccept_process_output)
1605 (wait_reading_process_output, read_process_output, send_process)
1606 (wait_reading_process_output): Likewise.
1607 * profiler.c (make_log, handle_profiler_signal): Likewise.
1608 * regex.c (re_exec): Likewise.
1609 * regex.h: Likewise.
1610 * search.c (looking_at_1, Freplace_match): Likewise.
1611 * sysdep.c (get_child_status, procfs_ttyname)
1612 (procfs_get_total_memory): Likewise.
1613 * systime.h (EMACS_TIME_VALID_P): Likewise.
1614 * term.c (dissociate_if_controlling_tty): Likewise.
1615 * window.c (get_phys_cursor_glyph): Likewise.
1616 * xdisp.c (init_iterator, redisplay_internal, redisplay_window)
1617 (try_window_reusing_current_matrix, try_window_id, pint2hrstr):
1618 Likewise.
1619 * xfns.c (Fx_window_property): Likewise.
1620 * xmenu.c (set_frame_menubar): Likewise.
1621 * xselect.c (x_get_window_property, x_handle_dnd_message):
1622 Likewise.
1623 * xsmfns.c (smc_save_yourself_CB): Likewise.
1624 * xterm.c (x_scroll_bar_set_handle): Likewise.
1625
2bf7d27a
DA
16262013-03-24 Dmitry Antipov <dmantipov@yandex.ru>
1627
1628 * xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument
1629 to be optional or nil. Adjust comment and convert it to docstring.
1630 * xselect.c (Fx_send_client_event): Rename to Fx_send_client_message.
1631 * frame.c (display_x_get_resource, Fx_get_resource): Break long line.
1632
a9ebfa0b
PE
16332013-03-24 Paul Eggert <eggert@cs.ucla.edu>
1634
1635 Static checking by GCC 4.8-20130319.
1636 * image.c (gif_load): Assume pass < 3 to pacify GCC.
1637 * process.c (Fset_process_datagram_address)
1638 (Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
1639 * xdisp.c (get_char_face_and_encoding):
1640 (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
1641 (get_glyph_face_and_encoding): Prepare face before possibly using it.
1642 (get_per_char_metric): Don't use CHAR2B if it might not be initialized.
1643
4f3576ee
KB
16442013-03-24 Ken Brown <kbrown@cornell.edu>
1645
789b5e9a
KB
1646 * w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to
1647 fix compilation on 64-bit Cygwin, where underscores are not
1648 automatically prepended.
1649
4f3576ee
KB
1650 * w32term.c (w32_initialize): Silence compiler warning.
1651
b5b7745f
EZ
16522013-03-23 Eli Zaretskii <eliz@gnu.org>
1653
cdc0d0bd
EZ
1654 * w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
1655 FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
562c6ee9
SM
1656 variables, to save and restore frame dimensions.
1657 Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
1658 after returning from a 'fullscreen' configuration.
1659 use SendMessage instead of PostMessage to send the SC_RESTORE message,
cdc0d0bd
EZ
1660 to avoid races between the main thread and the input thread.
1661
1662 * w32term.h (struct w32_output): New members normal_width,
1663 normal_height, normal_top, normal_left, and prev_fsmode.
1664 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
1665 (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
1666 members of a frame.
1667
b5b7745f
EZ
1668 * w32term.c (w32fullscreen_hook): Record last value of the frame's
1669 'fullscreen' parameter. Always record previous width and height
1670 of the frame, except when switching out of maximized modes, so
1671 that they could be restored correctly, instead of resetting to the
1672 default frame dimensions. Send SC_RESTORE command to the frame,
1673 unless we are going to send SC_MAXIMIZE, to restore the frame
1674 resize hints in the mouse pointer shown by the window manager.
1675 (Bug#14032)
1676
1677 * frame.c (get_frame_param): Now extern for WINDOWSNT as well.
1678
1679 * lisp.h (get_frame_param): Adjust conditions for prototype
1680 declaration.
1681
a3454eed
KB
16822013-03-22 Ken Brown <kbrown@cornell.edu>
1683
1684 * unexcw.c: Drop unneeded inclusion of w32common.h.
1685 (report_sheap_usage): Declare.
1686 (read_exe_header): Add magic numbers for x86_64.
1687 (fixup_executable): Fix printf format specifier for unsigned long
1688 argument.
1689
5a49b79c
DA
16902013-03-22 Dmitry Antipov <dmantipov@yandex.ru>
1691
1692 * frame.h (struct frame): Put menu_bar_window under #ifdef
1693 because this member is not needed when X toolkit is in use.
1694 (fset_menu_bar_window):
1695 * dispnew.c (clear_current_matrices, clear_desired_matrices)
1696 (free_glyphs, update_frame):
1697 * xdisp.c (expose_frame): Likewise.
1698 (display_menu_bar): Likewise. Remove redundant eassert.
1699 * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
1700 toolkit is in use.
1701
d6723bf7
PE
17022013-03-21 Paul Eggert <eggert@cs.ucla.edu>
1703
7b1123d8
PE
1704 Use functions and constants to manipulate Lisp_Save_Value objects.
1705 This replaces code that used macros and strings and token-pasting.
1706 The change makes the C source a bit easier to follow,
1707 and shrinks the Emacs executable a bit.
1708 * alloc.c: Verify some properties of Lisp_Save_Value's representation.
1709 (make_save_value): Change 1st arg from string to enum. All callers
1710 changed.
1711 (INTX): Remove.
1712 (mark_object): Use if, not #if, for GC_MARK_STACK.
1713 * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
1714 (XSAVE_OBJECT): Now functions, not macros.
1715 (STRING_BYTES_BOUND): Now just a macro, not a constant too;
1716 the constant was never used.
1717 (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
1718 (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
1719 (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
1720 (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
1721 New constants.
1722 (struct Lisp_Save_Value): Replace members area, type0, type1, type2,
1723 type3 with a single member save_type. All uses changed.
1724 (save_type, set_save_pointer, set_save_integer): New functions.
1725 * print.c (PRINTX): Remove.
1726
d6723bf7
PE
1727 * alloc.c: Remove redundant static declarations.
1728
5f24fa51
DA
17292013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
1730
1731 * window.h (struct window): Convert left_col, top_line, total_lines
1732 and total_cols from Lisp_Objects to integers. Adjust comments.
1733 (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
1734 Remove.
1735 (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
1736 (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
1737 * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
1738 Adjust users where appropriate.
1739
42143acd
DA
17402013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
1741
1742 * frame.h (struct frame): Drop resx and resy because the same data is
1743 available from window system-specific output context. Adjust users.
562c6ee9
SM
1744 (default_pixels_per_inch_x, default_pixels_per_inch_y):
1745 New functions to provide defaults when no window system available.
42143acd 1746 (FRAME_RES_X, FRAME_RES_Y): New macros.
562c6ee9 1747 (NUMVAL): Move from xdisp.c.
42143acd
DA
1748 * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
1749 (Ffont_face_attributes, Fopen_font):
1750 * image.c (gs_load):
1751 * w32font.c (fill_in_logfont):
1752 * xdisp.c (calc_pixel_width_or_height):
1753 * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
1754 * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
1755
c0a17406
KH
17562013-03-20 Kenichi Handa <handa@gnu.org>
1757
1758 * coding.c (syms_of_coding): Initialize disable_ascii_optimization
1759 to 1 (temporary workaround until a bug related to ASCII
1760 optimization is fixed).
1761
095d384d
DA
17622013-03-19 Dmitry Antipov <dmantipov@yandex.ru>
1763
1764 * window.c (Fwindow_combination_limit, Fset_window_combination_limit):
1765 Signal error if window is not internal. Adjust docstring.
1766 (delete_all_child_windows): Use combination_limit to save the buffer.
1767 (Fset_window_configuration): Adjust accordingly.
cf4bb06d
DA
1768 * print.c (syms_of_print): Initialize debugging output not here...
1769 (init_print_once): ...but in a new function here.
1770 * lisp.h (init_print_once): Add prototype.
1771 * emacs.c (main): Add call to init_print_once. Adjust comments.
095d384d 1772
748fa866
DA
17732013-03-18 Dmitry Antipov <dmantipov@yandex.ru>
1774
1775 * window.c (window_resize_check, window_resize_apply)
1776 (window_from_coordinates, recombine_windows, set_window_buffer)
1777 (make_parent_window, Fwindow_resize_apply, resize_frame_windows)
1778 (Fsplit_window_internal, Fdelete_window_internal)
1779 (freeze_window_starts): Use bool for booleans.
1780 * window.h (window_frame_coordinates, resize_frame_windows)
1781 (freeze_window_starts, set_window_buffer): Adjust prototypes.
1782
81519fd2
SM
17832013-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1784
1785 * dispnew.c (bitch_at_user): Use `user-error'.
1786
6db423a9
KB
17872013-03-17 Ken Brown <kbrown@cornell.edu>
1788
1789 * dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it
1790 as return type of image_background. (Bug#13981)
1791 * image.c (RGB_PIXEL_COLOR): Move to dispextern.h.
1792
8f2906f5
JD
17932013-03-16 Jan Djärv <jan.h.d@swipnet.se>
1794
960ce480 1795 * nsterm.m (updateFrameSize:): Change resize increments if needed.
6615748a 1796 (ns_select): Don't return with result uninitialized.
960ce480 1797
8f2906f5
JD
1798 * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
1799 and getDirectory.
1800
81519fd2
SM
1801 * nsfns.m (ns_filename_from_panel, ns_directory_from_panel):
1802 New functions.
8f2906f5
JD
1803 (Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose
1804 directories. If filename is nil, get directory name (Bug#13932).
1805 Use getFilename and getDirectory.
1806 (getFilename, getDirectory): New methods for EmacsSavePanel and
1807 EmacsOpenPanel.
1808 (ok:): In EmacsOpenPanel, if we can't choose directories, just return.
1809
cded56c1
PE
18102013-03-15 Paul Eggert <eggert@cs.ucla.edu>
1811
1812 * coding.c (decode_coding_gap): Fix typo caught by static checking.
1813
251e9147 18142013-03-15 Kenichi Handa <handa@gnu.org>
8a44e6d1
KH
1815
1816 * insdel.c (insert_from_gap): New arg text_at_gap_tail.
1817 (adjust_after_replace): Make it back to static. Delete the third
1818 arg text_at_gap_tail. Cancel the code for handling it.
1819
1820 * coding.h (struct coding_system): New member eol_seen.
1821
1822 * coding.c (detect_ascii): New function.
1823 (detect_coding): Set coding->head_ascii and coding->eol_seen only
1824 when the source bytes are actually scanned. On detecting for
1825 coding_category_utf_8_auto, call detect_ascii instead of scanning
1826 source bytes directly.
1827 (produce_chars): Call insert_from_gap with the new arg 0.
1828 (encode_coding): Likewise.
1829 (decode_coding_gap): Control ASCII optimization by the variable
1830 disable_ascii_optimization instead of #ifndef .. #endif.
1831 Deccode EOL format according to coding->eol_seen.
1832 (syms_of_coding): Declare disable-ascii-optimization as a Lisp
1833 variable.
1834
8a44e6d1
KH
1835 * lisp.h (adjust_after_replace): Cancel externing it.
1836 (insert_from_gap): Adjust prototype.
1837
5f795e34
EZ
18382013-03-15 Eli Zaretskii <eliz@gnu.org>
1839
1840 * w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and
1841 FULLSCREEN_MAXIMIZED. (Bug#13935)
1842
f258b4be
DA
18432013-03-15 Dmitry Antipov <dmantipov@yandex.ru>
1844
1845 * region-cache.c (find_cache_boundary, move_cache_gap)
1846 (insert_cache_boundary, delete_cache_boundaries, set_cache_region):
1847 Simplify debugging check and convert to eassert. Adjust comment.
1848 (pp_cache): Put under ENABLE_CHECKING.
1849
a5cc4dde
EZ
18502013-03-14 Eli Zaretskii <eliz@gnu.org>
1851
1852 * w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old
1853 and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE
1854 and WM_ACTIVATEAPP.
1855 (w32fullscreen_hook): If the frame is visible, reset
1856 f->want_fullscreen flag after changing the frame size. If the
1857 frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
1858 (Bug#13953)
1859
3fc5e44a
DC
18602013-03-13 Daniel Colascione <dancol@dancol.org>
1861
1862 * emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds
1863 too so that these builds can use Cygwin's file conversion
1864 functions. (We've been building and linking cygw32.o all along
1865 and just not using it.)
1866
47d7532e
PE
18672013-03-13 Paul Eggert <eggert@cs.ucla.edu>
1868
1869 File synchronization fixes (Bug#13944).
1870 * Makefile.in (LIB_FDATASYNC): New macro.
1871 (LIBES): Use it.
1872 * conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
1873 * fileio.c (Fwrite_region, write_region_inhibit_fsync):
1874 Don't worry about HAVE_FSYNC, since a substitute fsync is
1875 available if the system lacks one.
1876 (Fwrite_regin): Retry fsync if interrupted.
1877
c7ffccaf
EZ
18782013-03-13 Eli Zaretskii <eliz@gnu.org>
1879
4e2df81d 1880 * w32term.c (w32_read_socket): If the Emacs frame is being
c7ffccaf
EZ
1881 activated, call w32fullscreen_hook, to make sure the new frame
1882 dimensions are in effect. (Bug#13937)
1883
8a7debc1
DA
18842013-03-13 Dmitry Antipov <dmantipov@yandex.ru>
1885
1886 * xdisp.c (init_iterator): Simplify because both character and byte
1887 positions are either specified or -1. Add eassert. Adjust comment.
ffcd945e
DA
1888 * window.c (Fscroll_other_window): Use SET_PT_BOTH because both
1889 character and byte positions can be obtained from marker.
8a7debc1 1890
7fd8c501
PE
18912013-03-13 Paul Eggert <eggert@cs.ucla.edu>
1892
d9df6f40
PE
1893 Static checking by Sun C 5.12.
1894 * alloc.c (buffer_memory_full) [REL_ALLOC]:
1895 * bytecode.c (exec_byte_code):
1896 * dispnew.c (init_display):
1897 * eval.c (error):
1898 * fileio.c (Fsubstitute_in_file_name):
1899 * keyboard.c (Fevent_convert_list):
1900 * keymap.c (Fsingle_key_description):
1901 * term.c (maybe_fatal, fatal):
1902 * xfns.c (Fx_display_backing_store, Fx_display_visual_class):
1903 * xsmfns.c (Fhandle_save_session):
1904 Omit unreachable code.
1905 * keymap.c (map_keymap_char_table_item): Cast void * to
1906 a function pointer type; the C Standard requires this.
1907
7fd8c501
PE
1908 * sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out.
1909 Include <sys/param.h> unconditionally, as that works elsewhere and
1910 is simpler here. Include <sys/sysctl.h> if DARWIN_OS ||
1911 __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin
1912 and FreeBSD now.
1913
a020afb9 1914See ChangeLog.12 for earlier changes.
aac0c6e3
MR
1915
1916;; Local Variables:
1917;; coding: utf-8
aac0c6e3
MR
1918;; End:
1919
ab422c4d 1920 Copyright (C) 2011-2013 Free Software Foundation, Inc.
aac0c6e3
MR
1921
1922 This file is part of GNU Emacs.
1923
1924 GNU Emacs is free software: you can redistribute it and/or modify
1925 it under the terms of the GNU General Public License as published by
1926 the Free Software Foundation, either version 3 of the License, or
1927 (at your option) any later version.
1928
1929 GNU Emacs is distributed in the hope that it will be useful,
1930 but WITHOUT ANY WARRANTY; without even the implied warranty of
1931 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1932 GNU General Public License for more details.
1933
1934 You should have received a copy of the GNU General Public License
1935 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.