mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-29 00:31:01 -08:00
* callproc.c (Fcall_process): Preserve openp errno around close. * lread.c (openp): Set errno when returning -1, as some callers expect this.
2417 lines
97 KiB
Text
2417 lines
97 KiB
Text
2013-07-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix openp errno handling.
|
|
* callproc.c (Fcall_process): Preserve openp errno around close.
|
|
* lread.c (openp): Set errno when returning -1, as some callers
|
|
expect this.
|
|
|
|
2013-07-06 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
|
|
|
|
* nsterm.h (NSSavePanel): Update comment.
|
|
(NSAPP_DATA2_RUNFILEDIALOG): Define.
|
|
(ns_run_file_dialog): Declare.
|
|
|
|
* nsfns.m: Remove panelOK.
|
|
(ns_fd_data): New.
|
|
(ns_run_file_dialog): New function.
|
|
(Fns_read_file_name): Fill in ns_fd_data, post an event and start the
|
|
event loop, so file dialog is popped up by ns_run_file_dialog, called
|
|
by sendEvent (Bug#14578).
|
|
(EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.
|
|
|
|
2013-07-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (default_line_pixel_height): New function.
|
|
(pos_visible_p, move_it_vertically_backward, try_scrolling)
|
|
(try_cursor_movement, redisplay_window, try_window)
|
|
(try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771)
|
|
|
|
* window.c (window_scroll_pixel_based): use
|
|
default_line_pixel_height.
|
|
|
|
* dispextern.h (default_line_pixel_height): Add prototype.
|
|
|
|
* frame.c (x_set_line_spacing): Accept a float value for
|
|
line-spacing parameter, per the documentation.
|
|
|
|
* data.c (Fmultibyte_string_p): Doc fix.
|
|
|
|
2013-07-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use emacs_open more consistently when opening files.
|
|
This handles EINTR more consistently now, and makes it easier
|
|
to introduce other uniform changes to file descriptor handling.
|
|
* src/systdio.h: New file.
|
|
* src/buffer.c (mmap_init):
|
|
* cygw32.c (chdir_to_default_directory):
|
|
* dispnew.c (Fopen_termscript):
|
|
* emacs.c (Fdaemon_initialized):
|
|
* fileio.c (Fdo_auto_save):
|
|
* image.c (slurp_file, png_load_body, jpeg_load_body):
|
|
* keyboard.c (Fopen_dribble_file):
|
|
* lread.c (Fload):
|
|
* print.c (Fredirect_debugging_output):
|
|
* sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
|
|
* termcap.c (tgetent):
|
|
* unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
|
|
* unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
|
|
* w32term.c (w32_initialize) [CYGWIN]:
|
|
* xfaces.c (Fx_load_color_file):
|
|
Use emacs_open instead of plain open, and emacs_fopen instead of
|
|
plain fopen.
|
|
* dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
|
|
* xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
|
|
* callproc.c (default_output_mode): New constant.
|
|
(Fcall_process): Use it to call emacs_open instead of plain creat.
|
|
* dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
|
|
* sysdep.c (emacs_open): Add commentary and don't call file name "path".
|
|
(emacs_fopen): New function.
|
|
* unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
|
|
Include <lisp.h>, for emacs_open.
|
|
* unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
|
|
|
|
Remove duplicate #include directives.
|
|
* alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]:
|
|
* xfaces.c:
|
|
Don't include stdio.h twice.
|
|
* buffer.c [USE_MMAP_FOR_BUFFERS]:
|
|
Don't include sys/types.h or stdio.h twice.
|
|
* fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice.
|
|
* lread.c: Don't include coding.h twice.
|
|
* nsfont.m: Don't include frame.h twice.
|
|
* process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice.
|
|
* ralloc.c: Don't include <unistd.h> twice.
|
|
* xdisp.c: Don't include font.h twice.
|
|
* xterm.c: Don't include fontset.h twice.
|
|
* xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice.
|
|
|
|
2013-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Scale ImageMagick images more carefully.
|
|
* image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function.
|
|
(compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK.
|
|
Be more careful about avoiding undefined behavior after
|
|
integer overflow and division by zero.
|
|
|
|
2013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables.
|
|
(syms_of_w32fns): DEFSYM them.
|
|
(MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN)
|
|
(CCHDEVICENAME): Define macros if not defined.
|
|
(struct MONITOR_INFO_EX): New struct.
|
|
(MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes.
|
|
(enum_display_monitors_fn): New variable.
|
|
(globals_of_w32fns): Initialize it.
|
|
(Fx_display_pixel_width, Fx_display_pixel_height)
|
|
(Fx_display_mm_height, Fx_display_mm_width): Mention behavior on
|
|
multi-monitor setups in docstrings.
|
|
(Fx_display_mm_height, Fx_display_mm_width): Approximate whole
|
|
screen size by primary monitor's millimeter per pixel.
|
|
(w32_monitor_enum, w32_display_monitor_attributes_list)
|
|
(w32_display_monitor_attributes_list_fallback)
|
|
(Fw32_display_monitor_attributes_list): New functions.
|
|
(syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list.
|
|
|
|
* w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros
|
|
if not defined.
|
|
(x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics.
|
|
|
|
2013-07-04 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* fileio.c (Qfile_notify_error): New error symbol.
|
|
|
|
* gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch):
|
|
* inotify.c (inotify_callback, symbol_to_inotifymask)
|
|
(Finotify_add_watch, Finotify_rm_watch): Use it.
|
|
(inotifyevent_to_event): Exchange order of cookie and file name.
|
|
(Finotify_add_watch): Adapt docstring.
|
|
|
|
* lisp.h (Qfile_notify_error): Declare.
|
|
|
|
2013-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569).
|
|
* emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
|
|
Do not clear _malloc_thread_enabled_p, undoing the previous change,
|
|
which did not work (see <http://bugs.gnu.org/14569#307>).
|
|
(main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP
|
|
&& (!noninteractive || initialized)). This attempts to thread
|
|
the needle between the Scylla of FreeBSD and the Charybdis of Cygwin.
|
|
|
|
2013-07-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'.
|
|
(x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'.
|
|
|
|
2013-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569).
|
|
* emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
|
|
Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>.
|
|
|
|
2013-07-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
|
|
Define to __sys_siglist.
|
|
|
|
2013-07-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Don't disallow
|
|
word-wrap, so that overflow-newline-into-fringe would work in
|
|
visual-line-mode. (Bug#2749)
|
|
(move_it_in_display_line_to): When the last scanned display
|
|
element fits exactly on the display line, and
|
|
overflow-newline-into-fringe is non-nil, but wrap_it is valid,
|
|
don't return MOVE_NEWLINE_OR_CR, but instead back up to the last
|
|
wrap point and return MOVE_LINE_CONTINUED. Fixes problems with
|
|
finding buffer position that corresponds to pixel coordinates,
|
|
e.g. in buffer_posn_from_coords.
|
|
|
|
2013-07-02 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.c (handle_child_signal): Call catch_child_signal if
|
|
NS_IMPL_GNUSTEP.
|
|
|
|
2013-07-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Don't convert function pointers to void * and back.
|
|
It isn't portable C, and it's easy enough to avoid.
|
|
* alloc.c: Verify SAVE_FUNCPOINTER bits, too.
|
|
(make_save_value): Add support for SAVE_FUNCPOINTER.
|
|
* keymap.c (map_keymap_char_table_item, map_keymap_internal):
|
|
* print.c (print_object):
|
|
Distinguish function from object pointers.
|
|
* lisp.h (SAVE_FUNCPOINTER): New constant.
|
|
(SAVE_SLOT_BITS): Adjust to it.
|
|
(SAVE_TYPE_FUNCPTR_PTR_OBJ): New constant, replacing
|
|
SAVE_TYPE_PTR_PTR_OBJ. Change the only use.
|
|
(voidfuncptr): New typedef.
|
|
(struct Lisp_Save_Value): New member data[0].funcpointer.
|
|
(XSAVE_FUNCPOINTER): New function.
|
|
|
|
Simplify buildobj processing.
|
|
* Makefile.in (buildobj.h): Make it a sequence of strings each
|
|
followed by comma, rather than a single string. Put it into a
|
|
.tmp file in case there's an error while generating it.
|
|
(gl-stamp): Use .tmp for temp files.
|
|
(mostlyclean): Clean .tmp files.
|
|
* doc.c (buildobj): Move to just the routine that needs it.
|
|
It's now an array of strings, so processing is simpler.
|
|
|
|
2013-07-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug re noninteractive multithreaded memory allocation (Bug#14569).
|
|
* emacs.c (malloc_enable_thread): Hoist extern decl to top level.
|
|
(main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
|
|
Invoke malloc_enable_thread even when not interactive.
|
|
Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
|
|
* process.c (init_process_emacs) [CYGWIN]: Tickle glib even
|
|
in this case, since the underlying bug has now been fixed.
|
|
|
|
2013-07-01 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* emacs.c (Fkill_emacs): Expand Vauto_save_list_file_name before
|
|
unlinking it (bug#14691).
|
|
|
|
2013-06-30 Michal Nazarewicz <mina86@mina86.com>
|
|
|
|
* buffer.c (FKill_buffer): Run `kill-buffer-query-functions'
|
|
before checking whether buffer is modified. This lets
|
|
`kill-buffer-query-functions' cancel killing of the buffer or save
|
|
its content before `kill-buffer' asks user the "Buffer %s
|
|
modified; kill anyway?" question.
|
|
|
|
2013-06-30 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m (handlePanelKeys): Don't process Command+Function keys.
|
|
Let the super performKeyEquivalent deal with them (Bug#14747).
|
|
|
|
2013-06-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* widget.c (resize_cb): Remove unused local.
|
|
|
|
Do not use GTK 3 if it exists but cannot be compiled.
|
|
* xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
|
|
* xterm.c (x_error_handler) [!USE_GTK]:
|
|
Do not use GTK 3.
|
|
|
|
* intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
|
|
|
|
2013-06-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* intervals.c (get_local_map): Instead of aborting, clip POSITION
|
|
to the valid range of values. (Bug#14753)
|
|
|
|
* xdisp.c (Fmove_point_visually): Invalidate the cursor position
|
|
when moving point by using the current glyph matrix. This avoids
|
|
the need to force redisplay when this function is called in a
|
|
loop.
|
|
|
|
2013-06-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking.
|
|
* coding.c (encode_inhibit_flag, inhibit_flag): New functions.
|
|
Redo the latter's body to sidestep GCC parenthesization warnings.
|
|
(setup_coding_system, detect_coding, detect_coding_system): Use them.
|
|
* coding.c (detect_coding, detect_coding_system):
|
|
* coding.h (struct undecided_spec):
|
|
Use bool for boolean.
|
|
* image.c (QCmax_width, QCmax_height): Now static.
|
|
* xdisp.c (Fmove_point_visually): Remove unused local.
|
|
|
|
2013-06-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (Fmove_point_visually): New function.
|
|
|
|
2013-06-28 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.h (define_coding_undecided_arg_index): New enum.
|
|
(coding_attr_index): New members
|
|
coding_attr_undecided_inhibit_null_byte_detection,
|
|
coding_attr_undecided_inhibit_iso_escape_detection,
|
|
coding_attr_undecided_prefer_utf_8.
|
|
(undecided_spec): New struct.
|
|
(struct coding_system): New member `undecided' of the member
|
|
`spec'.
|
|
|
|
* coding.c (setup_coding_system): Handle CODING->spec.undecided.
|
|
(detect_coding): Likewise.
|
|
(detect_coding_system): Likewise.
|
|
(Fdefine_coding_system_internal): New coding system properties
|
|
:inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
|
|
:prefer-utf-8.
|
|
(syms_of_coding): Adjust for coding_arg_undecided_max.
|
|
|
|
2013-06-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (x_from_xcolors): Remove unused local.
|
|
|
|
2013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
Defer image data transfer between X client and server until actual
|
|
display happens.
|
|
|
|
* dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg'
|
|
and `mask_img'.
|
|
|
|
* image.c (Destroy_Image): Remove.
|
|
(x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p',
|
|
`mask_p', and `colors_p'. All uses changed.
|
|
(x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'.
|
|
(CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS):
|
|
New macros for `flags' arg to x_clear_image_1.
|
|
(postprocess_image, xpm_load_image, x_build_heuristic_mask)
|
|
(png_load_body): Use x_clear_image_1 instead of Free_Pixmap.
|
|
(ZPixmap, XGetImage) [HAVE_NS]: Remove.
|
|
(image_get_x_image_or_dc, image_unget_x_image_or_dc)
|
|
(image_get_x_image, image_unget_x_image): New functions or macros.
|
|
(image_background, image_background_transparent, x_to_xcolors)
|
|
(x_build_heuristic_mask): Use image_get_x_image_or_dc instead of
|
|
XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc
|
|
instead of Destroy_Image.
|
|
(image_create_x_image_and_pixmap, image_put_x_image): New functions.
|
|
(xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load)
|
|
(png_load_body, jpeg_load_body, tiff_load, gif_load)
|
|
(imagemagick_load_image, svg_load_image): Use them instead of
|
|
x_create_x_image_and_pixmap, and x_put_x_image followed by
|
|
x_destroy_x_image, respectively.
|
|
(xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and
|
|
XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and
|
|
XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and
|
|
background_transparent fields.
|
|
(image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function.
|
|
(prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it.
|
|
|
|
2013-06-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569).
|
|
This mostly consists of undoing recent changes.
|
|
* callproc.c (Fcall_process):
|
|
* process.c (create_process):
|
|
Do not worry about catching SIGCHLD here, undoing previous change.
|
|
* nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change.
|
|
* process.c, process.h (catch_child_signal):
|
|
No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change.
|
|
* process.c (catch_child_handler): Don't worry about being called
|
|
lazily and do not assume caller has blocked SIGCHLD, undoing
|
|
previous change. Move first-time stuff back to
|
|
init_process_emacs, undoing 06-22 change. If CYGWIN, do not
|
|
tickle glib, as that causes Cygwin bootstrap to fail. Do not
|
|
set lib_child_handler if it's already initialized, which may
|
|
help avoid problems on GNUStep.
|
|
|
|
2013-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569).
|
|
* callproc.c (Fcall_process):
|
|
* process.c (create_process):
|
|
Make sure SIGCHLD is caught before we fork,
|
|
since Emacs startup no arranges to catch SIGCHLD.
|
|
* process.c (lib_child_handler): Initialize to null, not to
|
|
dummy_handler.
|
|
(catch_child_signal): Allow self to be called lazily.
|
|
Do nothing if it's already been called.
|
|
Assume caller has blocked SIGCHLD (all callers do now).
|
|
* emacs.c (main): Do not catch SIGCHLD here; defer it until
|
|
just before it's really needed.
|
|
* nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
|
|
since it hasn't been caught yet.
|
|
|
|
2013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* image.c (compute_image_size): New function to implement
|
|
:max-width and :max-height.
|
|
(imagemagick_load_image): Use it.
|
|
|
|
2013-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Try to avoid malloc SEGVs on Cygwin (Bug#14569).
|
|
* callproc.c, process.h (block_child_signal, unblock_child_signal):
|
|
Now extern.
|
|
* emacs.c (main): Catch SIGCHLD just before initializing gfilenotify.
|
|
* process.c (catch_child_signal): Block SIGCHLD while futzing with
|
|
the SIGCHLD handler, since the code is not atomic and (due to glib)
|
|
signals may be arriving now.
|
|
* sysdep.c (init_signals): Do not catch child signals here;
|
|
'main' now does that later, at a safer time.
|
|
|
|
2013-06-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Clean up SIGCHLD handling a bit (Bug#14569).
|
|
* process.c, process.h (catch_child_signal):
|
|
Now always extern, even if !NS_IMPL_GNUSTEP.
|
|
* process.c (catch_child_signal): Move glib tickler here from
|
|
init_process_emacs, so that it's done earlier in Emacs
|
|
initialization. Also move the noninteractive && !initialized
|
|
check here from init_process_emacs. This is all a bit cleaner for
|
|
GNUish platforms, and I hope it works around the Cygwin bug.
|
|
* sysdep.c (init_signals): Invoke catch_child_signal here, so
|
|
that glib signal handling is tickled before glib creates threads.
|
|
|
|
* process.c (wait_reading_process_output): Avoid int overflow
|
|
when reading more than 2 GiB total from a process.
|
|
|
|
2013-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* process.c (create_process): Handle a couple more cases,
|
|
i.e., work even if new_argv and wait_child_setup[i] are cached.
|
|
Use Fcall_process's style for volatile vars.
|
|
|
|
2013-06-21 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* process.c (create_process): Mark PROCESS volatile.
|
|
|
|
2013-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use C99-style flexible array members if available.
|
|
This avoids some subtle aliasing issues, which typically
|
|
aren't a problem with GCC but may be a problem elsewhere.
|
|
* alloc.c (sdata): New typedef, replacing the old struct sdata.
|
|
It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
|
|
In either case, it uses a flexible array member rather than
|
|
the old struct hack. All uses changed.
|
|
(SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
|
|
Adjust to sdata reorganization.
|
|
* alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
|
|
Use offsetof (struct, flex_array_member), not sizeof (struct), as
|
|
that ports better to pre-C99 non-GCC.
|
|
* chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
|
|
Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
|
|
as the latter has changed.
|
|
* conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
|
|
and port better to pre-C99 GCC.
|
|
* image.c (struct xpm_cached_color):
|
|
* lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
|
|
(struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
|
|
Use FLEXIBLE_ARRAY_MEMBER.
|
|
* lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
|
|
Move decl to top level so it gets checked against implementation.
|
|
(CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
|
|
* w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
|
|
|
|
2013-06-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* syntax.c: Integer cleanups.
|
|
(SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2.
|
|
All uses that need 0-or-2 changed to:
|
|
(SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics
|
|
as the old SYNTAX_FLAGS_COMMENT_STYLEC.
|
|
(struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table)
|
|
(char_quoted, prev_char_comend_first, back_comment)
|
|
(Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
|
|
(in_classes, forw_comment, scan_lists, scan_sexps_forward):
|
|
Use bool for boolean.
|
|
(update_syntax_table, skip_chars, skip_syntaxes):
|
|
Prefer int to unsigned when either will do.
|
|
(back_comment): Return boolean success flag, like forw_comment,
|
|
instead of positive-or-minus-1 (which might have overflowed int anyway).
|
|
Don't stuff ptrdiff_t into int.
|
|
(syntax_spec_code, syntax_code_spec): Now const.
|
|
(Fmatching_paren, scan_lists, scan_sexps_forward):
|
|
Use enum syntaxcode for syntax code.
|
|
(Fmatching_paren): Check that arg is a character, not just an integer.
|
|
(Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode.
|
|
(Finternal_describe_syntax_value): Omit no-longer-needed
|
|
comparison to 0.
|
|
(skip_chars): Use char, not unsigned char, when the distinction
|
|
doesn't matter.
|
|
(forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap.
|
|
* bytecode.c (exec_byte_code):
|
|
* syntax.c (syntax_spec_code, Fchar_syntax)
|
|
(Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
|
|
(init_syntax_once):
|
|
* syntax.h (SYNTAX_WITH_FLAGS):
|
|
Omit unnecessary casts.
|
|
|
|
2013-06-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Don't compute the header line and mode
|
|
line dimensions here, to avoid race conditions with the main
|
|
thread. (Bug#14062, bug#14630, bug#14669)
|
|
|
|
* w32term.c (w32_draw_window_cursor): Compute the header line and
|
|
mode line dimensions here.
|
|
<w32_system_caret_window, w32_system_caret_hdr_height>:
|
|
<w32_system_caret_mode_height>: New variables.
|
|
|
|
* w32term.h: Declare them.
|
|
|
|
2013-06-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (die): Move "assertion failed" string here ...
|
|
* lisp.h (eassert): ... from here. Also, suppress evaluation of
|
|
COND when SUPPRESS_CHECKING. This shrinks the executable text
|
|
size by 0.8% to 2.2% when configured with --enable-checking,
|
|
depending on optimization flags (GCC 4.8.1 x86-64).
|
|
|
|
* floatfns.c (Flog10): Move to Lisp (marked obsolete there).
|
|
|
|
2013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
|
|
|
* floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
|
|
base is 2; this is more accurate.
|
|
|
|
2013-06-19 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* sound.c (string_default): Move to !WINDOWSNT section.
|
|
(Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
|
|
|
|
2013-06-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sound.c: Integer cleanups.
|
|
Remove unnecessary forward decls.
|
|
(struct sound_device): The 'file' member is now a Lisp_Object, not
|
|
a char *, so that we needn't invoke alloca on a huge size.
|
|
(Fplay_sound_internal): Adjust to this.
|
|
(string_default): New function.
|
|
(vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
|
|
Use it to adjust to the struct sound_device change.
|
|
(parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
|
|
(be2hs) [0]: Remove.
|
|
|
|
* syntax.c (skip_chars): Don't use uninitialized storage
|
|
when searching a multibyte buffer for characters that are not in a
|
|
unibyte string that contains non-ASCII characters.
|
|
|
|
2013-06-18 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.c: Include xgselect.h if HAVE_GLIB. Include glib.h
|
|
if HAVE_GLIB && ! WINDOWSNT (Bug#14654).
|
|
|
|
2013-06-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc.
|
|
|
|
2013-06-18 Kenichi Handa <handa@gnu.org>
|
|
|
|
* font.c (Ffont_spec): Signal an error for an invalid font name
|
|
(Bug#14648).
|
|
|
|
2013-06-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
|
|
In particular this ports to 32-bit sparc Sun cc.
|
|
* eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
|
|
array with a dummy element at specpdl[-1], so that its address can
|
|
be taken portably.
|
|
(unbind_to): Do not copy the binding; not needed, now that we
|
|
copy old_value in the one place where the copy is needed.
|
|
* fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
|
|
* lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
|
|
(union specbinding): Rename from struct specbinding. Redo layout
|
|
to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
|
|
which is not portable. With Sun C 5.12 32-bit sparc, the
|
|
declaration causes nargs to be an unsigned bitfield, a behavior
|
|
that the C standard allows; but Emacs wants nargs to be signed.
|
|
The overall type is now a union of structures rather than a
|
|
structure of union of structures, and the 'kind' member is now a
|
|
bitfield, so that the overall type doesn't grow. All uses changed.
|
|
* process.c (Fmake_serial_process): Remove unnecessary initialization.
|
|
|
|
2013-06-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.
|
|
Needed if HAVE_NTGUI. Reported by Juanma Barranquero.
|
|
|
|
* nsfont.m (ns_registry_to_script): Parenthesize while expression.
|
|
|
|
2013-06-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
|
|
unless we know that the window w's frame is a frame object.
|
|
Another attempt at solving bug#14062 and bug#14630.
|
|
|
|
2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* textprop.c (property_set_type): New enum.
|
|
(add_properties): Allow appending/prepending text properties.
|
|
(add_text_properties_1): Factored out of Fadd_text_properties.
|
|
(Fadd_text_properties): Move all the code into
|
|
add_text_properties_1.
|
|
(Fadd_face_text_property): New function that calls
|
|
add_text_properties_1.
|
|
|
|
2013-06-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Move functions from lisp.h to individual modules when possible.
|
|
From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
|
|
* alloc.c (XFLOAT_INIT, set_symbol_name):
|
|
* buffer.c (CHECK_OVERLAY):
|
|
* chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
|
|
(set_char_table_parent):
|
|
* coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
|
|
* data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
|
|
(XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
|
|
(blv_value, set_blv_value, set_blv_where, set_blv_defcell)
|
|
(set_blv_valcell):
|
|
* emacs.c (setlocale) [!HAVE_SETLOCALE]:
|
|
* eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
|
|
(specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
|
|
(backtrace_args, backtrace_debug_on_exit):
|
|
* floatfns.c (CHECK_FLOAT):
|
|
* fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
|
|
(set_hash_key_and_value, set_hash_next, set_hash_next_slot)
|
|
(set_hash_hash, set_hash_hash_slot, set_hash_index)
|
|
(set_hash_index_slot):
|
|
* keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
|
|
* marker.c (CHECK_MARKER):
|
|
* textprop.c (CHECK_STRING_OR_BUFFER):
|
|
* window.c (CHECK_WINDOW_CONFIGURATION):
|
|
Move here from lisp.h, and make these functions static rather than
|
|
extern inline.
|
|
* buffer.c (Qoverlayp):
|
|
* data.c (Qsubrp):
|
|
* fns.c (Qhash_table_p):
|
|
* window.c (Qwindow_configuration_p):
|
|
Now static.
|
|
* lisp.h: Remove the abovementioned defns and decls.
|
|
|
|
Use functions, not macros, for XINT etc. (Bug#11935).
|
|
In lisp.h, prefer functions to function-like macros, and
|
|
constants to object-like macros, when either will do. This:
|
|
. simplifies use, as there's no more need to worry about
|
|
arguments' side effects being evaluated multiple times.
|
|
. makes the code easier to debug on some platforms.
|
|
However, when using gcc -O0, keep using function-like macros
|
|
for a few critical operations, for performance reasons.
|
|
This sort of thing isn't needed with gcc -Og, but -Og
|
|
is a GCC 4.8 feature and isn't widely-enough available yet.
|
|
* alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
|
|
Remove enum lsb_bits; no longer needed.
|
|
(allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
|
|
* buffer.c (Qoverlap):
|
|
* data.c (Qsubrp):
|
|
* fns.c (Qhash_table_p):
|
|
Now extern, so lisp.h can use these symbols.
|
|
* dispextern.h: Include character.h, for MAX_CHAR etc.
|
|
(GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
|
|
(SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
|
|
(SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
|
|
(GLYPH_CODE_P): Move here from lisp.h.
|
|
(GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
|
|
(GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
|
|
(GLYPH_MODE_LINE_FACE): Now enums, not macros.
|
|
* eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
|
|
XUNTAG now returns void *.
|
|
* lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
|
|
(lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
|
|
(lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
|
|
(lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
|
|
(lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
|
|
(lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
|
|
(lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
|
|
(lisp_h_XPNTR, lisp_h_XSYMBOL):
|
|
New macros, renamed from their sans-lisp_h_ counterparts.
|
|
(XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
|
|
(CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
|
|
(MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
|
|
(VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
|
|
If compiling via GCC without optimization, define these as macros
|
|
in addition to inline functions.
|
|
To disable this, compile with -DINLINING=0.
|
|
(LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
|
|
(check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
|
|
(make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
|
|
hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
|
|
(INTMASK, VALMASK): Now macros, since static values cannot be
|
|
accessed from extern inline functions.
|
|
(VALMASK): Also a constant, for benefit of old GDB.
|
|
(LISP_INT_TAG_P): Remove; no longer needed as the only caller
|
|
is INTEGERP, which can fold it in.
|
|
(XLI, XIL, XHASH, XTYPE,XINT, XFASTINT, XUINT)
|
|
(make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
|
|
(XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
|
|
(XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
|
|
(CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
|
|
(CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
|
|
(SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
|
|
(ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
|
|
(CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
|
|
(SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
|
|
(SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
|
|
(SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
|
|
(XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
|
|
(HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
|
|
(XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
|
|
(XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
|
|
(XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
|
|
(RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
|
|
(INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
|
|
(MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
|
|
(BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
|
|
(PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
|
|
(TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
|
|
(SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
|
|
(CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
|
|
(CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
|
|
(CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
|
|
(CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
|
|
(CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
|
|
(CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
|
|
(CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
|
|
(CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
|
|
(CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
|
|
Now functions.
|
|
(check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
|
|
(LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
|
|
(VALMASK): Define in one place rather than in two, merging the
|
|
USE_LSB_TAG parts; this is simpler.
|
|
(aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
|
|
(max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
|
|
Move up, to avoid use before definition.
|
|
Also include "globals.h" earlier, for the same reason.
|
|
(make_natnum): New function.
|
|
(XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
|
|
(union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
|
|
(CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
|
|
(KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
|
|
(PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
|
|
(VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
|
|
(char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
|
|
(Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
|
|
(Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
|
|
(Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
|
|
(initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
|
|
(Qwindow_configuration_p, Qimage): New forward declarations.
|
|
(XSETFASTINT): Simplify by rewriting in terms of make_natnum.
|
|
(STRING_COPYIN): Remove; unused.
|
|
(XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
|
|
(xcar_addr, xcdr_addr): New functions. All uses changed.
|
|
(IEEE_FLOATING_POINT): Now a constant, not a macro.
|
|
(GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
|
|
(SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
|
|
(SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
|
|
(GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
|
|
(TYPE_RANGED_INTEGERP): Simplify.
|
|
(Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
|
|
(setlocale, fixup_locale, synchronize_system_messages_locale)
|
|
(synchronize_system_time_locale) [!HAVE_SETLOCALE]:
|
|
Now empty functions, not macros.
|
|
(functionp): Return bool, not int.
|
|
* window.c (Qwindow_configuration_p): Now extern,
|
|
so window.h can use it.
|
|
* window.h (Qwindowp): Move decl back to lisp.h.
|
|
|
|
2013-06-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (Fline_pixel_height): New function, required for solving
|
|
bug #14567.
|
|
|
|
2013-06-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fns.c (Fcopy_sequence): Simplify XTYPE calculation.
|
|
|
|
2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lread.c (syms_of_lread):
|
|
* fns.c (Fprovide): Adjust to new format of after-load-alist.
|
|
|
|
2013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change)
|
|
|
|
* fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479)
|
|
|
|
2013-06-12 Xue Fuqiao <xfq.free@gmail.com>
|
|
|
|
* fileio.c (expand_file_name): Doc fix.
|
|
|
|
2013-06-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569).
|
|
* process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
|
|
Wait for self, not for 0. This can't hurt on GNU or similar
|
|
system, and may help with Cygwin.
|
|
|
|
* keyboard.c: Don't use PROP (...) as an lvalue.
|
|
(parse_tool_bar_item) [!USE_GTK && !HAVE_NS]:
|
|
Use set_prop (A, B), not PROP (A) = B.
|
|
|
|
2013-06-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (get_it_property): Use it->window instead of generating
|
|
a Lisp object from it->w.
|
|
|
|
2013-06-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (get_it_property): If it->object is a buffer, pass to
|
|
get-char-property the window that is being rendered, instead of
|
|
the buffer, to support window-specific overlays. (Bug#14575)
|
|
(compute_display_string_pos): When W is NULL, use the current
|
|
buffer as the object to pass to get-char-property.
|
|
(Fcurrent_bidi_paragraph_direction): Assign NULL to the window
|
|
pointer member of the bidi iterator, since no window is pertinent
|
|
to this function.
|
|
|
|
2013-06-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_fetch_char): Accept additional argument, the window
|
|
being displayed, and pass it to compute_display_string_pos.
|
|
(bidi_level_of_next_char, bidi_resolve_explicit_1)
|
|
(bidi_paragraph_init): All callers changed.
|
|
|
|
* xdisp.c (init_from_display_pos, init_iterator)
|
|
(handle_single_display_spec, next_overlay_string)
|
|
(get_overlay_strings_1, reseat_1, reseat_to_string)
|
|
(push_prefix_prop, Fcurrent_bidi_paragraph_direction):
|
|
Set bidi_it.w member from it->w.
|
|
(compute_display_string_pos): Accept additional argument, the
|
|
window being displayed, and pass it to Fget_char_property.
|
|
(Bug#14575)
|
|
|
|
* dispextern.h (struct bidi_it): New member w, the window being
|
|
displayed.
|
|
(compute_display_string_pos): Adjust prototype.
|
|
|
|
2013-06-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xgselect.c: Remove unneeded include xterm.h.
|
|
|
|
* process.c (wait_reading_process_output): Check for NS before GLIB.
|
|
GLIB may be linked in due to rsvg, but ns_select must be called.
|
|
|
|
* xgselect.c (xg_select): Remove call to window_system_available
|
|
and g_main_context_pending at the top, so Gdk events (i.e. file
|
|
notify) are processed when Emacs is started with -nw.
|
|
|
|
2013-06-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
|
|
(ctagsfiles3): New variable, includes only *.m files.
|
|
(TAGS): Use an explicit language name in the regular expressions,
|
|
to avoid transformation of '/SOMETHING' by MSYS to
|
|
'c:\MSYS\SOMETHING'.
|
|
|
|
2013-06-07 Richard Copley <rcopley@gmail.com> (tiny change)
|
|
|
|
* epaths.in: Fix commentary to PATH_SITELOADSEARCH.
|
|
|
|
2013-06-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (note_mouse_highlight): When mouse-highlight is off,
|
|
still need to set the mouse pointer shape and activate help-echo.
|
|
(Bug#14558)
|
|
|
|
2013-06-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
A few porting etc. fixes for the new file monitor code.
|
|
See the thread containing
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
|
|
* gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
|
|
(Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
|
|
(dir_monitor_callback, Fgfile_rm_watch):
|
|
Use assq_no_quit instead of Fassoc, for speed.
|
|
(dir_monitor_callback, Fgfile_rm_watch):
|
|
eassert that the monitor is a fixnum.
|
|
(dir_monitor_callback): No need for CDR_SAFE.
|
|
Simplify building of lisp with alternative tails.
|
|
(Fgfile_add_watch, Fgfile_rm_watch):
|
|
Do not assume glib functions set errno reliably on failure.
|
|
(Fgfile_add_watch): Check that the monitor survives the XIL trick,
|
|
and signal an error otherwise.
|
|
(Fgfile_rm_watch): Prefer CONSP to !NILP.
|
|
Use Fdelq instead of Fdelete, for speed.
|
|
|
|
2013-06-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
|
|
don't insist on being invoked on a highlighted tool-bar button.
|
|
Avoids losing tool-bar functionality when mouse-highlight is nil.
|
|
(note_tool_bar_highlight, note_mode_line_or_margin_highlight):
|
|
Don't highlight when mouse-highlight is nil.
|
|
(note_mouse_highlight): When mouse-highlight is nil, don't return
|
|
right away; instead, run tool-bar and mode-line highlight
|
|
subroutine, clear any existing highlight, and revert the mouse
|
|
pointer to its default shape. (Bug#14558)
|
|
|
|
2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lisp.mk (lisp): Add prog-mode.el.
|
|
|
|
2013-06-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Chain glib's SIGCHLD handler from Emacs's (Bug#14474).
|
|
* process.c (dummy_handler): New function.
|
|
(lib_child_handler): New static var.
|
|
(handle_child_signal): Invoke it.
|
|
(catch_child_signal): If a library has set up a signal handler,
|
|
save it into lib_child_handler.
|
|
(init_process_emacs): If using glib and not on Windows, tickle glib's
|
|
child-handling code so that it initializes its private SIGCHLD handler.
|
|
* syssignal.h (SA_SIGINFO): Default to 0.
|
|
* xterm.c (x_term_init): Remove D-bus hack that I installed on May
|
|
31; it should no longer be needed now.
|
|
|
|
2013-06-05 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify.
|
|
|
|
* gfilenotify.c (globals_of_gfilenotify): New function.
|
|
(syms_of_gfilenotify): Move global initialization there.
|
|
|
|
* lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
|
|
|
|
2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
|
|
* keyboard.c (menu_bar_items, tool_bar_items):
|
|
* doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
|
|
not override local keymaps any more.
|
|
|
|
2013-06-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540)
|
|
|
|
2013-06-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32console.c (initialize_w32_display): Return the dimensions of
|
|
the console window via 2 additional arguments, not via the current
|
|
frame. This avoids crashes due to overrunning the bounds of
|
|
frame's decode_mode_spec_buffer, which is not resized following
|
|
the change of the frame dimensions from the initial 10x10.
|
|
|
|
* w32term.h (w32_initialize_display_info): Adjust prototype.
|
|
|
|
* term.c (init_tty): Take dimensions of the frame from the values
|
|
returned by initialize_w32_display.
|
|
|
|
* Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
|
|
(ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
|
|
(LIBES): Add $(GFILENOTIFY_LIBS).
|
|
|
|
* w32inevt.c (handle_file_notifications): Add dummy implementation
|
|
for !HAVE_W32NOTIFY.
|
|
|
|
* w32term.c: Wrap code with HAVE_W32NOTIFY.
|
|
|
|
2013-06-03 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
|
|
|
|
* process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
|
|
|
|
* Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
|
|
|
|
2013-06-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking.
|
|
* data.c (pure_write_error):
|
|
Use xsignal2, not Fsignal, as Fsignal might return.
|
|
* eval.c (set_backtrace_debug_on_exit): Now static.
|
|
(backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
|
|
No longer inline. EXTERN_INLINE is needed only for functions
|
|
defined in .h files. Reindent function header as per GNU style.
|
|
(backtrace_p, backtrace_top, backtrace_next):
|
|
Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
|
|
compiler or linker. Add extern decls to pacify gcc -Wall.
|
|
* frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
|
|
Now static.
|
|
* frame.c (free_monitors): Define only on platforms that need it.
|
|
* nsterm.m (ns_term_init):
|
|
* process.c (catch_child_signal):
|
|
Don't worry about whether SIGCHLD is defined, as SIGCHLD is
|
|
defined on all porting targets these days.
|
|
* process.c, process.h (catch_child_signal):
|
|
Make it extern only if NS_IMPL_GNUSTEP is defined.
|
|
|
|
2013-06-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (gettimeofday): Make the signature identical to prototype
|
|
in nt/inc/sys/time.h.
|
|
|
|
2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
|
|
.gdbinit.
|
|
|
|
* keyboard.c (safe_run_hooks_error): Improve error message.
|
|
|
|
* data.c (pure_write_error): Add `object' argument.
|
|
* puresize.h (CHECK_IMPURE): Use it.
|
|
|
|
2013-06-03 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* Makefile.in (NOTIFY_OBJ): New variable.
|
|
(base_obj): Replace inotify.o by $(NOTIFY_OBJ).
|
|
|
|
* emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
|
|
Call syms_of_gfilenotify.
|
|
|
|
* gfilenotify.c: New file.
|
|
|
|
* keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify
|
|
and Qfile_w32notify.
|
|
(top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
|
|
HAVE_W32NOTIFY and USE_FILE_NOTIFY.
|
|
|
|
* lisp.h: Declare syms_of_gfilenotify.
|
|
|
|
* termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
|
|
|
|
2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
Merge the specpdl and backtrace stacks. Make the structure of the
|
|
specpdl entries more obvious via a tagged union of structs.
|
|
* lisp.h (BITS_PER_PTRDIFF_T): New constant.
|
|
(enum specbind_tag): New enum.
|
|
(struct specbinding): Make it a tagged union of structs.
|
|
Add a case for backtrace records.
|
|
(specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
|
|
(specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
|
|
(backtrace_debug_on_exit): New accessors.
|
|
(struct backtrace): Remove.
|
|
(struct catchtag): Remove backlist field.
|
|
* data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
|
|
Move to eval.c.
|
|
(Flocal_variable_p): Speed up the common case where the binding is
|
|
already loaded.
|
|
* eval.c (backtrace_list): Remove.
|
|
(set_specpdl_symbol, set_specpdl_old_value): Remove.
|
|
(set_backtrace_args, set_backtrace_nargs)
|
|
(set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
|
|
(backtrace_next): New functions.
|
|
(Fdefvaralias, Fdefvar): Adjust to new specpdl format.
|
|
(unwind_to_catch, internal_lisp_condition_case)
|
|
(internal_condition_case, internal_condition_case_1)
|
|
(internal_condition_case_2, internal_condition_case_n): Don't bother
|
|
with backtrace_list any more.
|
|
(Fsignal): Adjust to new backtrace format.
|
|
(grow_specpdl): Move up.
|
|
(record_in_backtrace): New function.
|
|
(eval_sub, Ffuncall): Use it.
|
|
(apply_lambda): Adjust to new backtrace format.
|
|
(let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
|
|
data.c.
|
|
(specbind): Adjust to new specpdl format. Simplify.
|
|
(record_unwind_protect, unbind_to): Adjust to new specpdl format.
|
|
(Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
|
|
backtrace format.
|
|
(mark_backtrace): Remove.
|
|
(mark_specpdl, get_backtrace, backtrace_top_function): New functions.
|
|
* xdisp.c (redisplay_internal): Use record_in_backtrace.
|
|
* alloc.c (Fgarbage_collect): Use record_in_backtrace.
|
|
Use mark_specpdl.
|
|
* profiler.c (record_backtrace): Use get_backtrace.
|
|
(handle_profiler_signal): Use backtrace_top_function.
|
|
* .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
|
|
accessor functions.
|
|
|
|
2013-06-02 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.h (catch_child_signal): Declare.
|
|
|
|
* process.c (catch_child_signal): New function.
|
|
(init_process_emacs): Call it.
|
|
|
|
* nsterm.m: Include process.h if NS_IMPL_GNUSTEP.
|
|
(ns_menu_bar_is_hidden, menu_will_open_state): Define only if
|
|
NS_IMPL_COCOA.
|
|
(x_set_cursor_type): Remove declaration.
|
|
(ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
|
|
(ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
|
|
(x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
|
|
(ns_get_color): Use F suffix on float.
|
|
(ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
|
|
(ns_get_rgb_color): Remove.
|
|
(x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
|
|
(note_mouse_movement): x and y are CGFloat.
|
|
(ns_draw_fringe_bitmap): Remove unused rowY.
|
|
Change #if to COCOA && >= 10_6.
|
|
(ns_draw_window_cursor): Remove unused overspill.
|
|
(ns_draw_underwave): width and x are EamcsCGFloat.
|
|
(ns_draw_box): thickness is CGFloat.
|
|
(ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
|
|
(ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
|
|
if not in main thread.
|
|
(ns_get_pending_menu_title, ns_check_menu_open)
|
|
(ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
|
|
(ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
|
|
(sendFromMainThread:): New method.
|
|
(changeFont:): size is CGFloat.
|
|
(keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
|
|
Disable warning about permanent text.
|
|
(characterIndexForPoint:): Adjust return type depending on GNUStep
|
|
version.
|
|
(mouseDown:): delta is CGFloat.
|
|
(updateFrameSize): Remove unised variable f.
|
|
(initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
|
|
Cast float to EmacsCGFloat.
|
|
(windowWillUseStandardFrame:defaultFrame:): Set maximized_height
|
|
also to -1 when restoring.
|
|
(windowDidExitFullScreen:): Put call to updateCollectionBehaviour
|
|
inside NS_IMPL_COCOA.
|
|
(toggleFullScreen:): Put call to toggleFullScreen inside
|
|
NS_IMPL_COCOA. Cast float to EmacsCGFloat.
|
|
(setPosition:portion:whole:): por is CGFloat.
|
|
(getMouseMotionPart:window:x:y:): Add F suffix to float.
|
|
(mouseDown:): Use CGFloat.
|
|
(mouseDragged:): Remove unised variable edge.
|
|
(EmacsDocument): Implement for NS_IMPL_GNUSTEP.
|
|
|
|
* nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
|
|
of CGFloat differs.
|
|
(EmacsApp): New variable nextappdefined. Declare sendFromMainThread
|
|
when NS_IMPL_GNUSTEP.
|
|
(EmacsDocument): Declare when NS_IMPL_GNUSTEP.
|
|
(EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
|
|
(EmacsToolbar): Add clearAll. Add tag argument to
|
|
addDisplayItemWithImage.
|
|
(EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
|
|
|
|
* nsselect.m (ns_get_local_selection): Remove unused variable type.
|
|
|
|
* nsmenu.m (ns_update_menubar): Make static.
|
|
(x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
|
|
(fillWithWidgetValue:): Add cast to SEL for setAction.
|
|
(addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
|
|
(update_frame_tool_bar): Update code for GNUStep.
|
|
(clearAll): New method.
|
|
(addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
|
|
argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
|
|
Move identifierToItem setObject and activeIdentifiers addObject before
|
|
call to insertItemWithItemIdentifier.
|
|
(validateVisibleItems): Fix indentation.
|
|
(toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
|
|
(initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
|
|
UtilityWindow to aStyle, remove call to setStyleMask.
|
|
|
|
* nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
|
|
|
|
* nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
|
|
(ns_charset_covers, ns_get_covering_families, nsfont_open):
|
|
Use F suffix on floats.
|
|
(ns_char_width): Returns CGFloat.
|
|
(ns_ascii_average_width): w is CGFloat instead of float.
|
|
(nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
|
|
DPSxshow.
|
|
(ns_glyph_metrics): CGFloat instead of float.
|
|
|
|
* nsfns.m (x_set_foreground_color, x_set_background_color):
|
|
Use EmacsCGFloat.
|
|
(ns_implicitly_set_icon_type, Fx_create_frame): Make static,
|
|
remove unused variables.
|
|
(Fns_read_file_name): Keep track if panel is for save.
|
|
Use ns_filename_from_panel/ns_directory_from_panel.
|
|
(Fns_list_services): delegate only used for COCOA.
|
|
(Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
|
|
Just return the input if GNUStep.
|
|
(x_screen_planes): Remove.
|
|
(Fxw_color_values): Use EmacsCGFloat
|
|
(Fns_display_monitor_attributes_list): Only get screen number for
|
|
Cocoa.
|
|
(getDirectory, getFilename): Remove from EmacsOpenPanel and
|
|
EmacsSavePanel.
|
|
(EmacsOpenPanel:ok:): Use ns_filename_from_panel and
|
|
ns_directory_from_panel.
|
|
|
|
2013-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* process.c (handle_child_signal): Also use WCONTINUED.
|
|
This is so that list-processes doesn't mistakenly list the process
|
|
as stopped, when the process has actually been continued and is
|
|
now running.
|
|
|
|
2013-05-31 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
|
|
* xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
|
|
not already configured.
|
|
|
|
* fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
|
|
|
|
2013-05-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* Makefile.in (mostlyclean): Remove *.res files.
|
|
|
|
2013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fileio.c (Finsert_file_contents): Preserve undo info when reverting
|
|
a buffer (bug#8447).
|
|
|
|
2013-05-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
|
|
display vector, and we backtrack, handle the case that the
|
|
previous character position is also displayed from a display
|
|
vector or covered by a display string or image. (Bug#14476)
|
|
|
|
2013-05-25 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
|
|
(struct MonitorInfo, free_monitors): Remove.
|
|
(x_make_monitor_attribute_list): Call make_monitor_attribute_list.
|
|
(Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
|
|
(syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
|
|
Qframes, Qsource.
|
|
|
|
* nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
|
|
(struct MonitorInfo, free_monitors): Remove.
|
|
(ns_screen_name): Make static.
|
|
(ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
|
|
(syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
|
|
Qframes, Qsource.
|
|
|
|
* frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
|
|
(struct MonitorInfo): New struct.
|
|
(free_monitors, make_monitor_attribute_list): Declare.
|
|
|
|
* frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
|
|
New Lisp_Object:s.
|
|
(free_monitors, make_monitor_attribute_list): New functions.
|
|
(syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
|
|
Qsource.
|
|
|
|
2013-05-25 Xue Fuqiao <xfq.free@gmail.com>
|
|
|
|
* callproc.c (call_process): Refine the doc string. (Bug#14045)
|
|
|
|
2013-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c: Apply keyboard decoding only to events that come directly
|
|
from the tty, not from unread-command-events (bug#14368).
|
|
(read_event_from_main_queue): New function, extracted from read_char).
|
|
(read_decoded_char): Remove.
|
|
(read_decoded_event_from_main_queue): New function to replace it.
|
|
(read_char): Use it.
|
|
(read_key_sequence): Use read_char rather than read_decoded_char.
|
|
|
|
* keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
|
|
|
|
2013-05-22 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
|
|
|
|
* casetab.c (init_casetab_once): Fix last change (bug#14424).
|
|
|
|
2013-05-22 Kenichi Handa <handa@gnu.org>
|
|
|
|
The following changes are to fix the setting of
|
|
buffer-file-coding-system on, for instance, C-x RET c unix RET
|
|
_FILE_OF_DOS_EOL_TYPE_ RET.
|
|
|
|
* coding.h (struct coding_system): New member detected_utf8_chars.
|
|
|
|
* coding.c (detect_coding_utf_8): Count characters and check EOL
|
|
format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if
|
|
BOM is there.
|
|
(setup_coding_system): Do not initialize coding->head_ascii.
|
|
(check_ascii): Do not set coding->eol_seen but update it. Do not
|
|
call adjust_coding_eol_type here.
|
|
(detect_coding): Fix detection of BOM for utf-8 and utf-16.
|
|
If the eol-type of CODING is already specified, adjust the eol type
|
|
of the found coding-system.
|
|
(decode_coding_gap): Cancel previous change. Utilize the
|
|
character numbers counted by detect_coding_utf_8. Fix detection
|
|
of BOM for utf-8.
|
|
|
|
2013-05-21 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
|
|
|
|
* search.c (looking_at_1): Only set last_thing_searched if the match
|
|
changed the match-data (bug#14281).
|
|
|
|
2013-05-21 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (reseat_at_previous_visible_line_start):
|
|
Already declared in dispextern.h, so remove it here.
|
|
(move_it_vertically_backward): Likewise.
|
|
|
|
2013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* xfns.c (check_x_display_info): Don't use XINT for terminal object.
|
|
(Fx_display_pixel_width, Fx_display_pixel_height)
|
|
(Fx_display_mm_width, Fx_display_mm_height):
|
|
Mention `display-monitor-attributes-list' in docstrings.
|
|
|
|
* nsfns.m (ns_get_screen): Remove function. All uses removed.
|
|
(check_ns_display_info): Sync with check_x_display_info in xfns.c.
|
|
(Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
|
|
(Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height)
|
|
(Fx_display_backing_store, Fx_display_visual_class)
|
|
(Fx_display_save_under, Fx_close_connection, Fxw_display_color_p)
|
|
(Fx_display_grayscale_p, Fx_display_pixel_width)
|
|
(Fx_display_pixel_height, Fx_display_planes)
|
|
(Fx_display_color_cells): Sync args and docstrings with xfns.c.
|
|
(Fx_display_screens): Don't confuse X11 screens with NS screens.
|
|
(Fx_display_mm_width, Fx_display_mm_height)
|
|
(Fx_display_pixel_width, Fx_display_pixel_width): Return width or
|
|
height for all physical monitors as in X11.
|
|
|
|
* nsterm.m (x_display_pixel_width, x_display_pixel_height):
|
|
Return pixel width or height for all physical monitors as in X11.
|
|
|
|
2013-05-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port --enable-gcc-warnings to clang.
|
|
* bytecode.c (exec_byte_code):
|
|
* regex.c:
|
|
Redo diagnostic pragmas to pacify clang, too.
|
|
* dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
|
|
* editfns.c (Fencode_time):
|
|
* fileio.c (file_accessible_directory_p):
|
|
* font.c (font_unparse_xlfd):
|
|
Use '&"string"[index]' instead of '"string" + (index)'.
|
|
* undo.c (user_error): Remove; unused.
|
|
|
|
2013-05-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* insdel.c (insert_1_both): Document the arguments, instead of
|
|
referring to insert_1, which no longer exists.
|
|
|
|
* xdisp.c (message_dolog): If the *Messages* buffer is shown in
|
|
some window, increment windows_or_buffers_changed, so that
|
|
*Messages* display in that window is updated. (Bug#14408)
|
|
|
|
* w32.c: Include epaths.h.
|
|
(init_environment): Use cmdproxy.exe without leading directories.
|
|
Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
|
|
case.
|
|
(gettimeofday): Adjust signature and return value to Posix
|
|
expectations.
|
|
|
|
* unexw32.c (open_output_file): Delete the existing emacs.exe
|
|
before creating it, to break the hard link to the versioned
|
|
executable.
|
|
|
|
* Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
|
|
(ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
|
|
(FIRSTFILE_OBJ): New variables.
|
|
(W32_RES): Rename to EMACSRES. All users changed.
|
|
(base_obj): Use $(CM_OBJ).
|
|
(ALLOBJS): Use $(FIRSTFILE_OBJ).
|
|
(emacs$(EXEEXT)): Depend on $(ADDSECTION).
|
|
(temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
|
|
$(W32_RES_LINK) before $(LIBES).
|
|
(emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt.
|
|
|
|
2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* makefile.w32-in (DOC): Use just "DOC".
|
|
|
|
* Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
|
|
|
|
* process.c: Export default filters and sentinels to Elisp.
|
|
(Qinternal_default_process_sentinel, Qinternal_default_process_filter):
|
|
New constants.
|
|
(pset_filter, pset_sentinel, make_process, Fset_process_filter)
|
|
(Fset_process_sentinel, Fformat_network_address):
|
|
Default to them instead of nil.
|
|
(server_accept_connection): Sentinels can't be nil any more.
|
|
(read_and_dispose_of_process_output): New function, extracted from
|
|
read_process_output.
|
|
(read_process_output): Use it; filters can't be nil.
|
|
(Finternal_default_process_filter): New function, extracted from
|
|
read_process_output.
|
|
(exec_sentinel_unwind): Remove function.
|
|
(exec_sentinel): Don't zilch sentinel while running.
|
|
(status_notify): Sentinels can't be nil.
|
|
(Finternal_default_process_sentinel): New function extracted from
|
|
status_notify.
|
|
(setup_process_coding_systems): Default filter is not nil any more.
|
|
(syms_of_process): Export new Elisp functions and initialize
|
|
new constants.
|
|
* lisp.h (make_lisp_proc): New function.
|
|
|
|
2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
|
|
|
|
2013-05-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
|
|
unless we know that the window w is a leaf window.
|
|
Another attempt at solving bug#14062.
|
|
|
|
2013-05-14 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfont.m (ns_spec_to_descriptor): Retain and autorelease
|
|
fdesc (Bug#14375).
|
|
|
|
2013-05-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (gif_load): Check that subimages fit (Bug#14345).
|
|
|
|
2013-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lread.c (skip_dyn_eof): New function.
|
|
(read1): Use it to skip the end of a file in response to #@00.
|
|
|
|
* doc.c (get_doc_string): Slightly relax the sanity checking.
|
|
|
|
2013-05-09 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m: Include IOGraphicsLib.h if Cocoa.
|
|
(Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
|
|
(MonitorInfo): New struct.
|
|
(free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
|
|
(Fns_display_monitor_attributes_list): New functions.
|
|
(display-usable-bounds): Remove.
|
|
(syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
|
|
Qsource.
|
|
|
|
2013-05-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
|
|
(GTK_CHECK_VERSION): New macro, if not already defined.
|
|
All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
|
|
replaced by GTK_CHECK_VERSION.
|
|
|
|
2013-05-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xterm.h (GTK_PREREQ): New macro.
|
|
All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
|
|
to use this macro instead, for consistency and clarity.
|
|
|
|
2013-05-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (row_for_charpos_p): New function, with code of
|
|
cursor_row_p, but accepts an additional argument CHARPOS instead
|
|
of using a hardcoded PT.
|
|
(cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
|
|
(row_containing_pos): Call row_for_charpos_p instead of partially
|
|
doing the same. Fixes cursor positioning under longlines-mode
|
|
when longlines-show-effect includes more than one newline, when
|
|
moving the cursor vertically up.
|
|
|
|
2013-05-08 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in (ACL_H): New macro.
|
|
($(BLD)/fileio.$(O)): Update dependencies.
|
|
|
|
2013-05-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295)
|
|
* Makefile.in (LIB_ACL): New macro.
|
|
(LIBACL_LIBS): Remove.
|
|
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
|
|
* fileio.c: Include <acl.h>.
|
|
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
|
|
(ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
|
|
!acl_errno_valid.
|
|
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
|
|
it ourselves.
|
|
|
|
* unexelf.c: Don't assume ElfW (Half) fits in int.
|
|
(entry_address, find_section, unexec): Use ptrdiff_t, not int,
|
|
when dealing with ElfW (Half) values, since they can exceed 2**31
|
|
on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes.
|
|
(entry_address): Omit unused NUM arg. All uses changed.
|
|
|
|
2013-05-07 Juri Linkov <juri@jurta.org>
|
|
|
|
* callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
|
|
to the string converted from number with `Fnumber_to_string'.
|
|
(Bug#14254)
|
|
|
|
2013-05-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
|
|
This fixes a problem introduced by my previous change.
|
|
|
|
2013-05-07 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lread.c (readchar): Don't read from a dead buffer. (Bug#14280)
|
|
|
|
2013-05-07 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xfns.c: Move misplaced ifndef USE_GTK from previous checkin.
|
|
|
|
2013-05-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checking by GCC 4.8.0.
|
|
* xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
|
|
(x_get_monitor_for_frame, x_make_monitor_attribute_list)
|
|
(x_get_monitor_attributes_fallback)
|
|
(x_get_monitor_attributes_xinerama)
|
|
(x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
|
|
Define only if USE_GTK.
|
|
(free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
|
|
(x_get_monitor_attributes_fallback): Omit unused locals.
|
|
(x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
|
|
Use double, not float, to avoid mixed-mode floating point arithmetic.
|
|
|
|
2013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS)
|
|
(XINERAMA_CFLAGS): New macros.
|
|
(ALL_CFLAGS, LIBES): Use them.
|
|
|
|
* xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and
|
|
include <X11/extensions/Xinerama.h> if HAVE_XINERAMA.
|
|
(Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables.
|
|
(syms_of_xfns): DEFSYM them.
|
|
(struct MonitorInfo): New struct.
|
|
(x_get_net_workarea, free_monitors, x_get_monitor_for_frame)
|
|
(x_make_monitor_attribute_list, x_get_monitor_attributes_fallback)
|
|
(x_get_monitor_attributes_xrandr, x_get_monitor_attributes)
|
|
(x_get_monitor_attributes_xinerama): New functions.
|
|
(Fx_display_monitor_attributes_list): New primitive.
|
|
(syms_of_xfns): Defsubr it.
|
|
|
|
* xterm.h (x_display_info): Add Xatom_net_workarea and
|
|
Xatom_net_current_desktop.
|
|
|
|
* xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea
|
|
and dpyinfo->Xatom_net_current_desktop.
|
|
|
|
2013-05-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pos_visible_p): Use the special code for finding the
|
|
beginning of a display property or overlay for any "replacing"
|
|
display property, not just for display strings. This solves
|
|
incorrect reporting of position by posn-at-point. (Bug#14241)
|
|
|
|
2013-05-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* unexelf.c: Fix some 32-bit integer problems, notably when debugging.
|
|
Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
|
|
Verify that ElfW (Half) fits in int.
|
|
(fatal): Use same signature as lisp.h.
|
|
(UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
|
|
configure and build with -DUNEXELF_DEBUG without worrying about
|
|
other modules that use DEBUG.
|
|
(DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints
|
|
possibly-wide integers now uses it instead of plain fprintf.
|
|
(entry_address): New function, which avoids problems with 32-bit
|
|
overflow on 64-bit hosts.
|
|
(OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
|
|
(round_up): Don't assume the remainder fits in int.
|
|
(find_section): Use bool for boolean. Simplify debug code.
|
|
(unexec): Don't assume file sizes fit in int or size_t.
|
|
Omit unnecessary trailing newline in 'fatal' format.
|
|
Use strerror rather than outputting decimal error number.
|
|
Remove unused code when emacs is not defined;
|
|
this file relies on Emacs now.
|
|
Don't assume e_phnum and e_shnum are positive.
|
|
|
|
* regex.c: Fix problems when DEBUG is defined.
|
|
(extract_number, extract_number_and_incr): Define regardless of
|
|
whether DEBUG is defined; that's simpler and makes the code less
|
|
likely to go stale in the normal case when DEBUG is not defined.
|
|
Return int rather than taking an int * arg. All callers changed.
|
|
(DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
|
|
Remove, replacing with ...
|
|
(DEBUG_PRINT): New macro. All callers changed.
|
|
(DEBUG_COMPILES_ARGUMENTS): New macro.
|
|
(print_fastmap, print_partial_compiled_pattern) [DEBUG]:
|
|
(print_compiled_pattern, print_double_string) [DEBUG]:
|
|
Use prototype rather than old-style definition.
|
|
(print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
|
|
(ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
|
|
(POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
|
|
(POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
|
|
Don't assume ptrdiff_t, size_t, and long are the same width as int.
|
|
(POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
|
|
This matters only when DEBUG is defined.
|
|
|
|
2013-05-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_iterator_to_next): Set the
|
|
ignore_overlay_strings_at_pos_p flag only if we are _really_
|
|
iterating over an overlay string, as indicated by the
|
|
current.overlay_string_index member. (Bug#14306)
|
|
|
|
2013-05-05 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
|
|
to where it is used, to avoid autorelease issues (Bug#14050).
|
|
|
|
2013-05-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
`write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).
|
|
* fileio.c (syms_of_fileio): Implement this.
|
|
* filelock.c (create_lock_file): If symbolic links don't work, so
|
|
we use a regular file as a lock file, do not fsync the lock file;
|
|
it's not needed.
|
|
|
|
2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
|
|
(syms_of_minibuf): Adjust accodingly.
|
|
* lread.c (Fread):
|
|
* callint.c (Fcall_interactively): Adjust calls accordingly.
|
|
|
|
2013-05-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
|
|
w->contents is a buffer before computing everything else.
|
|
Use parentheses to disambiguate last part of the condition.
|
|
|
|
* w32fns.c (w32_wnd_proc): Remove temporary code used to trap
|
|
assertion violations. (Bug#14062)
|
|
|
|
2013-05-01 David Reitter <david.reitter@gmail.com>
|
|
|
|
* nsfns.m (ns_tooltip): Initialize.
|
|
|
|
2013-04-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* coding.c (decode_coding_gap): Don't remove the character before
|
|
a newline unless it's a CR character. (Bug#14287)
|
|
|
|
2013-04-28 Dan Nicolaescu <dann@gnu.org>
|
|
|
|
* dispextern.h (struct face): Move enum face_underline_type
|
|
earlier so that bitfields can be in the same word.
|
|
|
|
2013-04-28 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m (handlePanelKeys): New function.
|
|
(EmacsOpenPanel:performKeyEquivalent:)
|
|
(EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
|
|
arrows/function/control and copy/paste keys (Bug#14296).
|
|
|
|
2013-04-27 Juri Linkov <juri@jurta.org>
|
|
|
|
* callint.c (Fcall_interactively): Call `Qread_number' for
|
|
interactive code letter `n' instead of using duplicate code.
|
|
(Bug#14254)
|
|
|
|
2013-04-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* systime.h (make_timeval): Declare as 'const'.
|
|
|
|
2013-04-27 Kenichi Handa <handa@gnu.org>
|
|
|
|
* font.c (font_open_entity): Always open a font of manageable
|
|
size.
|
|
|
|
2013-04-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port better to AIX (Bug#14258).
|
|
* lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
|
|
to pacify AIX xlc.
|
|
|
|
2013-04-24 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.c (decode_coding_iso_2022): When an invalid escape
|
|
sequence is encountered, reset the invocation and designation
|
|
status to the safest one.
|
|
|
|
2013-04-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* Makefile.in (bootstrap-clean): Remove stamp-h1 too.
|
|
Without this fix, "make distclean" leaves stamp-h1 behind.
|
|
|
|
2013-04-20 Erik Charlebois <erikcharlebois@gmail.com>
|
|
|
|
* w32fns.c (w32_fullscreen_rect): New function to compute the
|
|
window rectangle for the given fullscreen mode.
|
|
(w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
|
|
longer tunes the window size. This keeps the window's edges flush
|
|
with the screen and allows the taskbar to hide itself in fullboth.
|
|
|
|
* w32term.c (w32fullscreen_hook): 'fullboth' now shows without
|
|
window decorations and uses the entire screen.
|
|
|
|
* w32term.h (w32_fullscreen_rect) Add prototype.
|
|
(struct w32_output): Replace normal_width, normal_height,
|
|
normal_top, and normal_left members with a single normal_placement
|
|
struct.
|
|
(FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
|
|
Remove macros.
|
|
(FRAME_NORMAL_PLACEMENT): New macro.
|
|
|
|
2013-04-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* minibuf.c (Ftest_completion): Silence compiler warning.
|
|
|
|
2013-04-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Add more assertions to investigate
|
|
bug#14062.
|
|
|
|
* frame.h (WINDOW_FRAME): Protect macro and its argument with
|
|
parentheses.
|
|
|
|
* dispextern.h (CURRENT_MODE_LINE_HEIGHT)
|
|
(CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
|
|
(WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
|
|
parentheses where appropriate.
|
|
|
|
2013-04-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keyboard.c (timer_start_idle): Remove no-longer-used local.
|
|
|
|
2013-04-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
|
|
<left-fringe-width, right-fringe-width, fringes-outside-margins>:
|
|
Mention in the doc string that setting these variables takes
|
|
effect only after a call to set-window-buffer. (Bug#14200)
|
|
|
|
2013-04-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* indent.c (Fvertical_motion): Don't consider display strings on
|
|
overlay strings as display strings on the buffer position we
|
|
started from. This prevents vertical cursor motion from jumping
|
|
more than one line when there's an overlay string with a display
|
|
property at end of line.
|
|
Reported by Karl Chen <Karl.Chen@quarl.org> in
|
|
http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
|
|
|
|
2013-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.c (select_window): `record_buffer' even if window is
|
|
already selected (bug#14191).
|
|
|
|
2013-04-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.c (Fwindow_end): Test more flags, including the buffer's
|
|
last_overlay_modified flag, to determine whether the window's
|
|
display is really up-to-date. Prevents the function from
|
|
returning a stale value. (Bug#14170)
|
|
(Fwindow_line_height): Fix the test for up-to-date-ness of the
|
|
current matrix.
|
|
|
|
2013-04-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* frame.c (do_switch_frame): Mark the TTY frame we switch to as
|
|
garbaged only if it is not already the top frame on its TTY.
|
|
This prevents flickering due to constant redrawing of TTY frames when
|
|
there are GUI frames open in the same session. (Bug#13864)
|
|
|
|
2013-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
|
|
of marking the idle timers directly.
|
|
|
|
2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
|
|
tables (bug#14054).
|
|
|
|
2013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.c (select_window): Don't record_buffer while the invariant is
|
|
temporarily broken (bug#14161).
|
|
|
|
* fns.c (Fdelq): Don't assume !NILP => CONSP.
|
|
|
|
2013-04-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.
|
|
|
|
2013-04-07 Romain Francoise <romain@orebokech.com>
|
|
|
|
Ignore additional platform-specific ACL errors (Bug#13702).
|
|
* fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
|
|
(Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
|
|
|
|
2013-03-31 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking
|
|
f->output_data.ns.
|
|
|
|
2013-04-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
|
|
This bug was introduced by my 2013-02-25 change that simplified
|
|
data_start configuration. Without this change, on GNU/Linux
|
|
an Emacs configured with --enable-profiling fails immediately
|
|
due to a profiler signal.
|
|
* Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
|
|
with these flags. On platforms where special flags are needed
|
|
when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
|
|
(ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
|
|
(.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
|
|
|
|
2013-04-07 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
Get rid of some platform-specific functions examining window
|
|
system and its capabilities. This is a partial rework of the
|
|
2013-04-05 change.
|
|
* lisp.h (have_menus_p): Remove prototype. This function is
|
|
replaced with platform-independent window_system_available.
|
|
(check_window_system): Move to...
|
|
* frame.h (decode_window_system_frame, window_system_available):
|
|
...here, add new prototypes.
|
|
* frame.c (window_system_available, decode_window_system_frame):
|
|
New functions.
|
|
(check_window_system): Platform-independent now.
|
|
* xterm.h (x_in_use): Remove declaration.
|
|
(check_x_frame):
|
|
* w32term.h (check_x_frame):
|
|
* nsterm.h (check_x_frame): Remove prototypes. This function
|
|
is replaced with platform-independent decode_window_system_frame.
|
|
* msdos.c (have_menus_p): Remove.
|
|
* nsfns.m (check_window_system, have_menus_p, check_ns_frame):
|
|
Remove platform-specific functions. Use check_window_system,
|
|
decode_window_system_frame and check_ns_display_info where
|
|
appropriate. Minor style and comment tweaks.
|
|
* w32fns.c (w32_in_use, check_window_system, have_menus_p)
|
|
(check_x_frame): Likewise.
|
|
* xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
|
|
Likewise.
|
|
* fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
|
|
* nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
|
|
* xmenu.c, xselect.c: All related users changed.
|
|
|
|
2013-04-03 Kenichi Handa <handa@gnu.org>
|
|
|
|
The following changes is to optimize the code for reading UTF-8
|
|
files.
|
|
|
|
* coding.c (check_ascii): Rename from detect_ascii. Return value
|
|
changed. Check EOL format. Do not call adjust_coding_eol_type
|
|
here.
|
|
(check_utf_8): New function.
|
|
(adjust_coding_eol_type): Do nothing if already adjusted.
|
|
(detect_coding): Compare the return value of check_ascii with
|
|
coding->src_bytes. Call adjust_coding_eol_type if necessary.
|
|
(decode_coding_gap): Optimize for valid UTF-8.
|
|
|
|
2013-03-21 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.c (syms_of_coding): Cancel previous change.
|
|
|
|
* insdel.c (insert_from_gap): Fix previous change.
|
|
|
|
2013-04-05 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
Consistently use platform-specific function to detect window system.
|
|
* lisp.h (check_window_system): New prototype. This function is
|
|
going to replace check_x, check_w32 and check_ns.
|
|
(have_menus_p): Mention msdos.c in comment.
|
|
* fontset.c (check_window_system_func): Remove. Adjust all users.
|
|
* fontset.h (check_window_system_func): Remove prototype.
|
|
* nsterm.h (check_ns):
|
|
* xterm.h (check_x):
|
|
* w32term.h (check_w32): Likewise.
|
|
* menu.c (Fx_popup_menu): Use check_window_system.
|
|
* msdos.c (check_window_system): Define for MS-DOS.
|
|
* nsfns.m (check_window_system): Define for NS. Adjust all users.
|
|
* w32fns.c (check_window_system): Likewise for MS-Windows.
|
|
* xfns.c (check_window_system): Likewise for X.
|
|
* font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
|
|
* xfaces.c, xmenu.c: Use check_window_system where appropriate.
|
|
|
|
2013-04-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Prefer < to > in range checks such as 0 <= i && i < N.
|
|
This makes it easier to visualize quantities on a number line.
|
|
This patch doesn't apply to all such range checks,
|
|
only to the range checks affected by the 2013-03-24 change.
|
|
This patch reverts most of the 2013-03-24 change.
|
|
* alloc.c (xpalloc, Fgarbage_collect):
|
|
* ccl.c (ccl_driver, resolve_symbol_ccl_program):
|
|
* character.c (string_escape_byte8):
|
|
* charset.c (read_hex):
|
|
* data.c (cons_to_unsigned):
|
|
* dispnew.c (update_frame_1):
|
|
* doc.c (Fsubstitute_command_keys):
|
|
* doprnt.c (doprnt):
|
|
* editfns.c (hi_time, decode_time_components):
|
|
* fileio.c (file_offset):
|
|
* fns.c (larger_vector, make_hash_table, Fmake_hash_table):
|
|
* font.c (font_intern_prop):
|
|
* frame.c (x_set_alpha):
|
|
* gtkutil.c (get_utf8_string):
|
|
* indent.c (check_display_width):
|
|
* keymap.c (Fkey_description):
|
|
* lisp.h (FIXNUM_OVERFLOW_P, vcopy):
|
|
* lread.c (read1):
|
|
* minibuf.c (read_minibuf_noninteractive):
|
|
* process.c (wait_reading_process_output):
|
|
* search.c (Freplace_match):
|
|
* window.c (get_phys_cursor_glyph):
|
|
* xdisp.c (redisplay_internal):
|
|
* xsmfns.c (smc_save_yourself_CB):
|
|
Prefer < to > for range checks.
|
|
* dispnew.c (sit_for): Don't mishandle NaNs.
|
|
This fixes a bug introduced in the 2013-03-24 change.
|
|
* editfns.c (decode_time_components): Don't hoist comparison.
|
|
This fixes another bug introduced in the 2013-03-24 change.
|
|
|
|
2013-03-31 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* frame.h (struct frame): Drop scroll_bottom_vpos
|
|
member becaue all real users are dead long ago.
|
|
(FRAME_SCROLL_BOTTOM_VPOS): Remove.
|
|
* xdisp.c (redisplay_internal): Adjust user.
|
|
|
|
2013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change)
|
|
|
|
* nsmenu.m (showAtX:Y:for:): setLevel to
|
|
NSPopUpMenuWindowLevel (Bug#13998).
|
|
|
|
2013-03-30 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
|
|
(ns_check_pending_open_menu): Declare.
|
|
|
|
* nsmenu.m (ns_update_menubar): Correct NSTRACE.
|
|
(x_activate_menubar): Update the menu with title that matches
|
|
ns_get_pending_menu_title, and call
|
|
ns_check_pending_openmenu (Bug#12698).
|
|
(menuWillOpen:): New method.
|
|
(menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
|
|
|
|
* nsterm.m (menu_will_open_state, menu_mouse_point)
|
|
(menu_pending_title): New varaibles.
|
|
(ns_get_pending_menu_title, ns_check_menu_open)
|
|
(ns_check_pending_open_menu): New functions.
|
|
|
|
2013-03-29 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* indent.c (current_column_bol_cache): Remove leftover which is not
|
|
used in Fmove_to_column any more.
|
|
(current_column, scan_for_column): Adjust users.
|
|
* keyboard.c (last_point_position_buffer, last_point_position_window):
|
|
Remove leftovers which are not used for recording undo any more.
|
|
(command_loop_1, syms_of_keyboard): Adjust users.
|
|
* xdisp.c (last_max_ascent): Remove leftover which is not used in
|
|
redisplay_window any more.
|
|
(move_it_to): Adjust user.
|
|
|
|
2013-03-29 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
|
|
Update dependencies.
|
|
|
|
2013-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
|
|
(set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
|
|
forward references.
|
|
|
|
2013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.h (struct window): Replace hchild, vchild and buffer slots
|
|
with the only contents slot. This is possible because each valid
|
|
window may have either the child window (in vertical or horizontal
|
|
combination) or buffer to display (for the leaf window). Using that,
|
|
a lof of operations to traverse and/or change window hierarchies may
|
|
be simplified. New member horizontal is used to distinguish between
|
|
horizontal and vertical combinations of internal windows.
|
|
(WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
|
|
(WINDOW_VERTICAL_COMBINATION_P): New macros.
|
|
(WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
|
|
* window.c (wset_hchild, wset_vchild): Remove. Adjust all users.
|
|
Use contents slot, not buffer, where appropriate.
|
|
(wset_combination): New function.
|
|
(wset_buffer): Add eassert.
|
|
(Fframe_first_window): Simplify the loop reaching first window.
|
|
(Fwindow_buffer): Use WINDOW_LEAF_P.
|
|
(Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
|
|
(Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
|
|
(unshow_buffer): Convert initial debugging check to eassert.
|
|
(replace_window, recombine_windows, Fdelete_other_windows_internal)
|
|
(make_parent_window, window_resize_check, window_resize_apply)
|
|
(resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
|
|
(Fset_window_configuration, delete_all_child_windows, save_window_save):
|
|
Adjust to match struct window changes.
|
|
(window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
|
|
(mark_window_cursors_off, count_windows, get_leaf_windows)
|
|
(foreach_window_1): Simplify the loop.
|
|
* alloc.c (mark_object): Do not check for the leaf window because
|
|
internal windows has no glyph matrices anyway.
|
|
* dispnew.c (clear_window_matrices, showing_window_margins_p)
|
|
(allocate_matrices_for_window_redisplay, fake_current_matrices)
|
|
(allocate_matrices_for_frame_redisplay, free_window_matrices)
|
|
(build_frame_matrix_from_window_tree, mirror_make_current)
|
|
(frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
|
|
(update_window_tree, set_window_update_flags): Simplify the loop.
|
|
(sync_window_with_frame_matrix_rows): Enforce live window.
|
|
Use contents slot, not buffer, where appropriate.
|
|
* frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
|
|
and WINDOW_HORIZONTAL_COMBINATION_P.
|
|
(make_frame_visible_1): Simplify the loop.
|
|
Use contents slot, not buffer, where appropriate.
|
|
* xdisp.c (hscroll_window_tree, mark_window_display_accurate)
|
|
(redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
|
|
(expose_window_tree): Likewise.
|
|
Use contents slot, not buffer, where appropriate.
|
|
* textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
|
|
to avoid deleted windows. Use contents slot instead of buffer.
|
|
* buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
|
|
* indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
|
|
* nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
|
|
* xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
|
|
|
|
2013-03-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
|
|
identify the reasons for assertion violations in bug#14062 and
|
|
similar ones.
|
|
(Fx_show_tip): Fix compilation error under
|
|
"--enable-check-lisp-object-type". (Bug#14073)
|
|
|
|
* image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
|
|
Reported by <rzl24ozi@gmail.com>.
|
|
|
|
2013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (with_echo_area_buffer_unwind_data): Save window
|
|
start marker...
|
|
(unwind_with_echo_area_buffer): ...to restore it here.
|
|
This is needed to ensure that...
|
|
(redisplay_window): ...both window markers are valid here,
|
|
which is verified by eassert.
|
|
* editfns.c (save_excursion_save): Do not assume that
|
|
selected_window always displays the buffer.
|
|
* buffer.c (Fbuffer_swap_text): Adjust window start markers.
|
|
Fix comment.
|
|
|
|
2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
|
|
the upcase table.
|
|
|
|
2013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes)
|
|
|
|
* image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
|
|
|
|
2013-03-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
|
|
since MinGW's w32api headers do. This avoids compiler warnings.
|
|
|
|
* w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
|
|
if already defined.
|
|
|
|
2013-03-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
|
|
|
|
2013-03-26 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (style_changed_cb): Check if frame is live and an
|
|
X frame (Bug#14038).
|
|
|
|
2013-03-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
|
|
Define only for _WIN32_WINNT less than 0x0500.
|
|
(_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
|
|
MinGW64.
|
|
Move inclusion of time.h before sys/time.h, so that MinGW64 could
|
|
see its own definitions of 'struct timeval' and 'struct timezone'.
|
|
|
|
Fix incompatibilities between MinGW.org and MinGW64 headers.
|
|
* w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
|
|
|
|
* w32.c (REPARSE_DATA_BUFFER): Guard with
|
|
MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
|
|
|
|
2013-03-25 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c: Include X11/XKBlib.h
|
|
(XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041).
|
|
|
|
2013-03-24 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
|
|
written backwards.
|
|
* blockinput.h (input_blocked_p): Likewise.
|
|
* bytecode.c (exec_byte_code): Likewise.
|
|
* callproc.c (call_process_kill, call_process_cleanup)
|
|
(Fcall_process): Likewise.
|
|
* ccl.c (ccl_driver, resolve_symbol_ccl_program)
|
|
(Fccl_execute_on_string): Likewise.
|
|
* character.c (string_escape_byte8): Likewise.
|
|
* charset.c (read_hex): Likewise.
|
|
* cm.c (calccost): Likewise.
|
|
* data.c (cons_to_unsigned): Likewise.
|
|
* dired.c (directory_files_internal, file_name_completion):
|
|
Likewise.
|
|
* dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
|
|
(sit_for): Likewise.
|
|
* doc.c (Fsubstitute_command_keys): Likewise.
|
|
* doprnt.c (doprnt): Likewise.
|
|
* editfns.c (hi_time, decode_time_components, Fformat): Likewise.
|
|
* emacsgtkfixed.c: Likewise.
|
|
* fileio.c (file_offset, Fwrite_region): Likewise.
|
|
* floatfns.c (Fexpt, fmod_float): Likewise.
|
|
* fns.c (larger_vector, make_hash_table, Fmake_hash_table):
|
|
Likewise.
|
|
* font.c (font_intern_prop): Likewise.
|
|
* frame.c (x_set_alpha): Likewise.
|
|
* gtkutil.c (get_utf8_string): Likewise.
|
|
* indent.c (check_display_width): Likewise.
|
|
* intervals.c (create_root_interval, rotate_right, rotate_left)
|
|
(split_interval_right, split_interval_left)
|
|
(adjust_intervals_for_insertion, delete_node)
|
|
(interval_deletion_adjustment, adjust_intervals_for_deletion)
|
|
(merge_interval_right, merge_interval_left, copy_intervals)
|
|
(set_intervals_multibyte_1): Likewise.
|
|
* keyboard.c (gobble_input, append_tool_bar_item): Likewise.
|
|
* keymap.c (Fkey_description): Likewise.
|
|
* lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
|
|
* lread.c (openp, read_integer, read1, string_to_number):
|
|
Likewise.
|
|
* menu.c (ensure_menu_items): Likewise.
|
|
* minibuf.c (read_minibuf_noninteractive): Likewise.
|
|
* print.c (printchar, strout): Likewise.
|
|
* process.c (create_process, Faccept_process_output)
|
|
(wait_reading_process_output, read_process_output, send_process)
|
|
(wait_reading_process_output): Likewise.
|
|
* profiler.c (make_log, handle_profiler_signal): Likewise.
|
|
* regex.c (re_exec): Likewise.
|
|
* regex.h: Likewise.
|
|
* search.c (looking_at_1, Freplace_match): Likewise.
|
|
* sysdep.c (get_child_status, procfs_ttyname)
|
|
(procfs_get_total_memory): Likewise.
|
|
* systime.h (EMACS_TIME_VALID_P): Likewise.
|
|
* term.c (dissociate_if_controlling_tty): Likewise.
|
|
* window.c (get_phys_cursor_glyph): Likewise.
|
|
* xdisp.c (init_iterator, redisplay_internal, redisplay_window)
|
|
(try_window_reusing_current_matrix, try_window_id, pint2hrstr):
|
|
Likewise.
|
|
* xfns.c (Fx_window_property): Likewise.
|
|
* xmenu.c (set_frame_menubar): Likewise.
|
|
* xselect.c (x_get_window_property, x_handle_dnd_message):
|
|
Likewise.
|
|
* xsmfns.c (smc_save_yourself_CB): Likewise.
|
|
* xterm.c (x_scroll_bar_set_handle): Likewise.
|
|
|
|
2013-03-24 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument
|
|
to be optional or nil. Adjust comment and convert it to docstring.
|
|
* xselect.c (Fx_send_client_event): Rename to Fx_send_client_message.
|
|
* frame.c (display_x_get_resource, Fx_get_resource): Break long line.
|
|
|
|
2013-03-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checking by GCC 4.8-20130319.
|
|
* image.c (gif_load): Assume pass < 3 to pacify GCC.
|
|
* process.c (Fset_process_datagram_address)
|
|
(Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
|
|
* xdisp.c (get_char_face_and_encoding):
|
|
(get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
|
|
(get_glyph_face_and_encoding): Prepare face before possibly using it.
|
|
(get_per_char_metric): Don't use CHAR2B if it might not be initialized.
|
|
|
|
2013-03-24 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to
|
|
fix compilation on 64-bit Cygwin, where underscores are not
|
|
automatically prepended.
|
|
|
|
* w32term.c (w32_initialize): Silence compiler warning.
|
|
|
|
2013-03-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
|
|
FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
|
|
variables, to save and restore frame dimensions.
|
|
Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
|
|
after returning from a 'fullscreen' configuration.
|
|
use SendMessage instead of PostMessage to send the SC_RESTORE message,
|
|
to avoid races between the main thread and the input thread.
|
|
|
|
* w32term.h (struct w32_output): New members normal_width,
|
|
normal_height, normal_top, normal_left, and prev_fsmode.
|
|
(FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
|
|
(FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
|
|
members of a frame.
|
|
|
|
* w32term.c (w32fullscreen_hook): Record last value of the frame's
|
|
'fullscreen' parameter. Always record previous width and height
|
|
of the frame, except when switching out of maximized modes, so
|
|
that they could be restored correctly, instead of resetting to the
|
|
default frame dimensions. Send SC_RESTORE command to the frame,
|
|
unless we are going to send SC_MAXIMIZE, to restore the frame
|
|
resize hints in the mouse pointer shown by the window manager.
|
|
(Bug#14032)
|
|
|
|
* frame.c (get_frame_param): Now extern for WINDOWSNT as well.
|
|
|
|
* lisp.h (get_frame_param): Adjust conditions for prototype
|
|
declaration.
|
|
|
|
2013-03-22 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* unexcw.c: Drop unneeded inclusion of w32common.h.
|
|
(report_sheap_usage): Declare.
|
|
(read_exe_header): Add magic numbers for x86_64.
|
|
(fixup_executable): Fix printf format specifier for unsigned long
|
|
argument.
|
|
|
|
2013-03-22 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* frame.h (struct frame): Put menu_bar_window under #ifdef
|
|
because this member is not needed when X toolkit is in use.
|
|
(fset_menu_bar_window):
|
|
* dispnew.c (clear_current_matrices, clear_desired_matrices)
|
|
(free_glyphs, update_frame):
|
|
* xdisp.c (expose_frame): Likewise.
|
|
(display_menu_bar): Likewise. Remove redundant eassert.
|
|
* window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
|
|
toolkit is in use.
|
|
|
|
2013-03-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use functions and constants to manipulate Lisp_Save_Value objects.
|
|
This replaces code that used macros and strings and token-pasting.
|
|
The change makes the C source a bit easier to follow,
|
|
and shrinks the Emacs executable a bit.
|
|
* alloc.c: Verify some properties of Lisp_Save_Value's representation.
|
|
(make_save_value): Change 1st arg from string to enum. All callers
|
|
changed.
|
|
(INTX): Remove.
|
|
(mark_object): Use if, not #if, for GC_MARK_STACK.
|
|
* lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
|
|
(XSAVE_OBJECT): Now functions, not macros.
|
|
(STRING_BYTES_BOUND): Now just a macro, not a constant too;
|
|
the constant was never used.
|
|
(SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
|
|
(SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
|
|
(SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
|
|
(SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
|
|
New constants.
|
|
(struct Lisp_Save_Value): Replace members area, type0, type1, type2,
|
|
type3 with a single member save_type. All uses changed.
|
|
(save_type, set_save_pointer, set_save_integer): New functions.
|
|
* print.c (PRINTX): Remove.
|
|
|
|
* alloc.c: Remove redundant static declarations.
|
|
|
|
2013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.h (struct window): Convert left_col, top_line, total_lines
|
|
and total_cols from Lisp_Objects to integers. Adjust comments.
|
|
(wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
|
|
Remove.
|
|
(WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
|
|
(WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
|
|
* dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
|
|
Adjust users where appropriate.
|
|
|
|
2013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* frame.h (struct frame): Drop resx and resy because the same data is
|
|
available from window system-specific output context. Adjust users.
|
|
(default_pixels_per_inch_x, default_pixels_per_inch_y):
|
|
New functions to provide defaults when no window system available.
|
|
(FRAME_RES_X, FRAME_RES_Y): New macros.
|
|
(NUMVAL): Move from xdisp.c.
|
|
* font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
|
|
(Ffont_face_attributes, Fopen_font):
|
|
* image.c (gs_load):
|
|
* w32font.c (fill_in_logfont):
|
|
* xdisp.c (calc_pixel_width_or_height):
|
|
* xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
|
|
* xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
|
|
|
|
2013-03-20 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.c (syms_of_coding): Initialize disable_ascii_optimization
|
|
to 1 (temporary workaround until a bug related to ASCII
|
|
optimization is fixed).
|
|
|
|
2013-03-19 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.c (Fwindow_combination_limit, Fset_window_combination_limit):
|
|
Signal error if window is not internal. Adjust docstring.
|
|
(delete_all_child_windows): Use combination_limit to save the buffer.
|
|
(Fset_window_configuration): Adjust accordingly.
|
|
* print.c (syms_of_print): Initialize debugging output not here...
|
|
(init_print_once): ...but in a new function here.
|
|
* lisp.h (init_print_once): Add prototype.
|
|
* emacs.c (main): Add call to init_print_once. Adjust comments.
|
|
|
|
2013-03-18 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.c (window_resize_check, window_resize_apply)
|
|
(window_from_coordinates, recombine_windows, set_window_buffer)
|
|
(make_parent_window, Fwindow_resize_apply, resize_frame_windows)
|
|
(Fsplit_window_internal, Fdelete_window_internal)
|
|
(freeze_window_starts): Use bool for booleans.
|
|
* window.h (window_frame_coordinates, resize_frame_windows)
|
|
(freeze_window_starts, set_window_buffer): Adjust prototypes.
|
|
|
|
2013-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* dispnew.c (bitch_at_user): Use `user-error'.
|
|
|
|
2013-03-17 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it
|
|
as return type of image_background. (Bug#13981)
|
|
* image.c (RGB_PIXEL_COLOR): Move to dispextern.h.
|
|
|
|
2013-03-16 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (updateFrameSize:): Change resize increments if needed.
|
|
(ns_select): Don't return with result uninitialized.
|
|
|
|
* nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
|
|
and getDirectory.
|
|
|
|
* nsfns.m (ns_filename_from_panel, ns_directory_from_panel):
|
|
New functions.
|
|
(Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose
|
|
directories. If filename is nil, get directory name (Bug#13932).
|
|
Use getFilename and getDirectory.
|
|
(getFilename, getDirectory): New methods for EmacsSavePanel and
|
|
EmacsOpenPanel.
|
|
(ok:): In EmacsOpenPanel, if we can't choose directories, just return.
|
|
|
|
2013-03-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* coding.c (decode_coding_gap): Fix typo caught by static checking.
|
|
|
|
2013-03-15 Kenichi Handa <handa@gnu.org>
|
|
|
|
* insdel.c (insert_from_gap): New arg text_at_gap_tail.
|
|
(adjust_after_replace): Make it back to static. Delete the third
|
|
arg text_at_gap_tail. Cancel the code for handling it.
|
|
|
|
* coding.h (struct coding_system): New member eol_seen.
|
|
|
|
* coding.c (detect_ascii): New function.
|
|
(detect_coding): Set coding->head_ascii and coding->eol_seen only
|
|
when the source bytes are actually scanned. On detecting for
|
|
coding_category_utf_8_auto, call detect_ascii instead of scanning
|
|
source bytes directly.
|
|
(produce_chars): Call insert_from_gap with the new arg 0.
|
|
(encode_coding): Likewise.
|
|
(decode_coding_gap): Control ASCII optimization by the variable
|
|
disable_ascii_optimization instead of #ifndef .. #endif.
|
|
Deccode EOL format according to coding->eol_seen.
|
|
(syms_of_coding): Declare disable-ascii-optimization as a Lisp
|
|
variable.
|
|
|
|
* lisp.h (adjust_after_replace): Cancel externing it.
|
|
(insert_from_gap): Adjust prototype.
|
|
|
|
2013-03-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and
|
|
FULLSCREEN_MAXIMIZED. (Bug#13935)
|
|
|
|
2013-03-15 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* region-cache.c (find_cache_boundary, move_cache_gap)
|
|
(insert_cache_boundary, delete_cache_boundaries, set_cache_region):
|
|
Simplify debugging check and convert to eassert. Adjust comment.
|
|
(pp_cache): Put under ENABLE_CHECKING.
|
|
|
|
2013-03-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old
|
|
and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE
|
|
and WM_ACTIVATEAPP.
|
|
(w32fullscreen_hook): If the frame is visible, reset
|
|
f->want_fullscreen flag after changing the frame size. If the
|
|
frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
|
|
(Bug#13953)
|
|
|
|
2013-03-13 Daniel Colascione <dancol@dancol.org>
|
|
|
|
* emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds
|
|
too so that these builds can use Cygwin's file conversion
|
|
functions. (We've been building and linking cygw32.o all along
|
|
and just not using it.)
|
|
|
|
2013-03-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
File synchronization fixes (Bug#13944).
|
|
* Makefile.in (LIB_FDATASYNC): New macro.
|
|
(LIBES): Use it.
|
|
* conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
|
|
* fileio.c (Fwrite_region, write_region_inhibit_fsync):
|
|
Don't worry about HAVE_FSYNC, since a substitute fsync is
|
|
available if the system lacks one.
|
|
(Fwrite_regin): Retry fsync if interrupted.
|
|
|
|
2013-03-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32_read_socket): If the Emacs frame is being
|
|
activated, call w32fullscreen_hook, to make sure the new frame
|
|
dimensions are in effect. (Bug#13937)
|
|
|
|
2013-03-13 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (init_iterator): Simplify because both character and byte
|
|
positions are either specified or -1. Add eassert. Adjust comment.
|
|
* window.c (Fscroll_other_window): Use SET_PT_BOTH because both
|
|
character and byte positions can be obtained from marker.
|
|
|
|
2013-03-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checking by Sun C 5.12.
|
|
* alloc.c (buffer_memory_full) [REL_ALLOC]:
|
|
* bytecode.c (exec_byte_code):
|
|
* dispnew.c (init_display):
|
|
* eval.c (error):
|
|
* fileio.c (Fsubstitute_in_file_name):
|
|
* keyboard.c (Fevent_convert_list):
|
|
* keymap.c (Fsingle_key_description):
|
|
* term.c (maybe_fatal, fatal):
|
|
* xfns.c (Fx_display_backing_store, Fx_display_visual_class):
|
|
* xsmfns.c (Fhandle_save_session):
|
|
Omit unreachable code.
|
|
* keymap.c (map_keymap_char_table_item): Cast void * to
|
|
a function pointer type; the C Standard requires this.
|
|
|
|
* sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out.
|
|
Include <sys/param.h> unconditionally, as that works elsewhere and
|
|
is simpler here. Include <sys/sysctl.h> if DARWIN_OS ||
|
|
__FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin
|
|
and FreeBSD now.
|
|
|
|
See ChangeLog.12 for earlier changes.
|
|
|
|
;; Local Variables:
|
|
;; coding: utf-8
|
|
;; End:
|
|
|
|
Copyright (C) 2011-2013 Free Software Foundation, Inc.
|
|
|
|
This file is part of GNU Emacs.
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|