mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* lisp/loadup.el (purify-flag): Pre-grow the hash-table to reduce the memory use. * lisp/bindings.el (bindings--define-key): New function. * lisp/vc/vc-hooks.el, lisp/replace.el, lisp/menu-bar.el: * lisp/international/mule-cmds.el, lisp/emacs-lisp/lisp-mode.el: * lisp/buff-menu.el, lisp/bookmark.el: * bindings.el: Use it to purecopy define-key bindings. * src/fns.c (maybe_resize_hash_table): Output message when growing the purify-hashtable.
12446 lines
490 KiB
Text
12446 lines
490 KiB
Text
2012-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fns.c (maybe_resize_hash_table): Output message when growing the
|
|
purify-hashtable.
|
|
|
|
2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c (allocate_string_data): Remove dead code.
|
|
* xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
|
|
avoid GCC warning about unused macro.
|
|
|
|
2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c (allocate_string): Omit intervals initialization.
|
|
* alloc.c (make_uninit_multibyte_string): Initialize intervals
|
|
as in make_pure_string and make_pure_c_string.
|
|
|
|
2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c (allocate_string): Fix last change.
|
|
|
|
2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c (allocate_string): Remove two redundant calls
|
|
to memset, add explicit initialization where appropriate.
|
|
|
|
2012-06-27 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lisp.mk (lisp): Remove paths.elc.
|
|
|
|
2012-06-27 Chong Yidong <cyd@gnu.org>
|
|
|
|
* doc.c (Fsubstitute_command_keys): Fix punctuation.
|
|
|
|
2012-06-26 John Wiegley <johnw@newartisans.com>
|
|
|
|
* unexmacosx.c (copy_data_segment): Add two section names used
|
|
on Mac OS X Lion: __mod_init_func and __mod_term_func.
|
|
|
|
* alloc.c (mark_memory): Do not check with -faddress-sanitizer
|
|
when building with Clang.
|
|
|
|
2012-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (Fapply): Allow calling it with a single argument.
|
|
|
|
2012-06-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to
|
|
_stricmp and _strnicmp.
|
|
(HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1.
|
|
|
|
2012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c (allocate_window): Zero out non-Lisp part of newly
|
|
allocated window.
|
|
(allocate_process): Likewise for new process.
|
|
(allocate_terminal): Change to use offsetof.
|
|
(allocate_frame): Likewise.
|
|
* frame.c (make_frame): Omit redundant initialization.
|
|
* window.c (make_parent_window): Use memset.
|
|
(make_window): Omit redundant initialization.
|
|
* process.c (make_process): Omit redundant initialization.
|
|
* terminal.c (create_terminal): Likewise.
|
|
|
|
2012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* term.c (delete_tty): Remove redundant call to memset.
|
|
|
|
2012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c: Remove build_string.
|
|
* lisp.h: Define build_string as static inline. This provides
|
|
a better opportunity to optimize away calls to strlen when the
|
|
function is called with compile-time constant argument.
|
|
* image.c (imagemagick_error): Convert to build_string.
|
|
* w32proc.c (sys_spawnve): Likewise.
|
|
* xterm.c (x_term_init): Likewise.
|
|
|
|
2012-06-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use sprintf return value instead of invoking strlen on result.
|
|
In the old days this wasn't portable, since some sprintf
|
|
implementations returned char *. But they died out years ago and
|
|
Emacs already assumes sprintf returns int.
|
|
Similarly for float_to_string.
|
|
This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64.
|
|
* ccl.c (ccl_driver):
|
|
* character.c (string_escape_byte8):
|
|
* data.c (Fnumber_to_string):
|
|
* doprnt.c (doprnt):
|
|
* print.c (print_object):
|
|
* xdisp.c (message_dolog):
|
|
* xfns.c (syms_of_xfns):
|
|
Use sprintf or float_to_string result to avoid need to call strlen.
|
|
* data.c (Fnumber_to_string):
|
|
Use make_unibyte_string, since the string must be ASCII.
|
|
* lisp.h, print.c (float_to_string): Now returns int length.
|
|
* term.c (produce_glyphless_glyph):
|
|
Use sprintf result rather than recomputing it.
|
|
|
|
Clean out last vestiges of the old HAVE_CONFIG_H stuff.
|
|
* Makefile.in (ALL_CFLAGS):
|
|
* makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H.
|
|
* gmalloc.c, regex.c: Include <config.h> unconditionally.
|
|
|
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* dispextern.h (xstrcasecmp): Define to library function
|
|
strcasecmp if available.
|
|
* xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
|
|
|
|
2012-06-25 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
|
|
Avoid comma operator.
|
|
* menu.c (push_submenu_start, push_submenu_end)
|
|
(push_left_right_boundary, push_menu_pane): Likewise.
|
|
* msdos.c (dos_rawgetc): Likewise.
|
|
|
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xfns.c (xic_create_fontsetname): Remove redundant calls
|
|
to memset.
|
|
|
|
2012-06-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* gtkutil.c (get_utf8_string): Remove redundant assignment.
|
|
sprintf already null-terminates its output.
|
|
|
|
* xfns.c (x_window): Remove redundant cast.
|
|
|
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xmenu.c (xmenu_show, xdialog_show): Explicit cast from
|
|
`const char *' to `char *' to avoid compiler warning.
|
|
|
|
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string
|
|
instead of truncating it to 63 (admittedly a generous limit).
|
|
|
|
* process.c: Fix spelling and caps in comments.
|
|
|
|
2012-06-24 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* emacs.c (setpgrp): Remove definition, unused.
|
|
* sysdep.c (setpgrp): Remove definition, not used in this file.
|
|
|
|
2012-06-24 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
|
|
2012-06-24 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h.
|
|
(SYSTIME_H): Add nt/inc/sys/time.h.
|
|
|
|
* systime.h [WINDOWSNT]: Include sys/time.h.
|
|
|
|
* s/ms-w32.h (struct timespec): Definition moved from
|
|
nt/inc/sys/time.h. Suggested by Paul Eggert <eggert@cs.ucla.edu>.
|
|
|
|
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
|
* buffer.h (buffer_slot_type_mismatch):
|
|
* data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
|
|
* eval.c (unwind_to_catch):
|
|
* image.c (my_png_error, my_error_exit):
|
|
* keyboard.c (quit_throw_to_read_char, user_error)
|
|
(Fexit_recursive_edit, Fabort_recursive_edit):
|
|
* lisp.h (die, args_out_of_range, args_out_of_range_3)
|
|
(wrong_type_argument, buffer_overflow, __executable_start)
|
|
(memory_full, buffer_memory_full, string_overflow, Fthrow)
|
|
(xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error)
|
|
(error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs)
|
|
(fatal):
|
|
(child_setup) [!DOS_NT]:
|
|
* lread.c (end_of_file_error, invalid_syntax):
|
|
* process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
|
|
* puresize.h (pure_write_error):
|
|
* search.c (matcher_overflow):
|
|
* sound.c (sound_perror, alsa_sound_perror):
|
|
* sysdep.c, syssignal.h (croak):
|
|
* term.c (maybe_fatal, vfatal):
|
|
* textprop.c (text_read_only):
|
|
* undo.c (user_error):
|
|
* unexmacosx.c (unexec_error):
|
|
* xterm.c (x_ins_del_lines, x_delete_glyphs):
|
|
Use _Noreturn rather than NO_RETURN.
|
|
No need for separate decl merely because of _Noreturn.
|
|
* sound.c (sound_warning, parse_sound):
|
|
Remove unnecessary forward decls.
|
|
|
|
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000).
|
|
* lisp.h (WAIT_READING_MAX): New macro.
|
|
* dispnew.c (Fsleep_for, sit_for):
|
|
* keyboard.c (kbd_buffer_get_event):
|
|
* process.c (Faccept_process_output):
|
|
Use it to avoid bogus compiler warnings with obsolescent GCC versions.
|
|
This improves on the previous patch, which introduced a bug
|
|
when time_t is unsigned and as wide as intmax_t.
|
|
See <http://bugs.gnu.org/9000#51>.
|
|
|
|
2012-06-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (sit_for, Fsleep_for):
|
|
* keyboard.c (kbd_buffer_get_event):
|
|
* process.c (Faccept_process_output): Avoid compiler warnings when
|
|
comparing a 32-bit time_t with a 64-bit INTMAX_MAX.
|
|
|
|
2012-06-23 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
|
|
* w32.c (ltime): Add return type and declare static.
|
|
(w32_get_internal_run_time): Remove usused variable `time_100ns'.
|
|
|
|
2012-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c [__FreeBSD__]: Fix more recently-introduced typos.
|
|
Privately reported by Herbert J. Skuhra.
|
|
(make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST.
|
|
All uses changed.
|
|
(system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time,
|
|
not make_lisp_timeval, when the argument is of type EMACS_TIME.
|
|
|
|
2012-06-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in
|
|
last argument of make_unibyte_string.
|
|
|
|
* keyboard.c (kbd_buffer_get_event): Include the codepage and the
|
|
language ID in the event parameters.
|
|
|
|
* w32term.c (w32_read_socket): Put the new keyboard codepage into
|
|
event.code, not the obscure "character set ID".
|
|
|
|
2012-06-23 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select.
|
|
|
|
2012-06-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
|
|
* w32.c (fdutimens): New function.
|
|
|
|
* w32proc.c (sys_select): Adapt to change in the EMACS_TIME type.
|
|
|
|
* s/ms-w32.h (pselect): Redirect to sys_select.
|
|
|
|
* sysselect.h [WINDOWSNT]: Don't include sys/select.h.
|
|
|
|
* ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
|
|
in the logic of incrementing and decrementing the value of
|
|
use_relocatable_buffers.
|
|
|
|
2012-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c [__FreeBSD__]: Fix recently-introduced typos.
|
|
Privately reported by Herbert J. Skuhra.
|
|
[__FreeBSD__]: Remove "*/" typo after "#include".
|
|
(timeval_to_EMACS_TIME) [__FreeBSD__]: New static function.
|
|
(TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro.
|
|
(TIMEVAL, system_process_attributes) [__FreeBSD__]:
|
|
Don't assume EMACS_TIME and struct timeval are the same type.
|
|
|
|
2012-06-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Support higher-resolution time stamps (Bug#9000).
|
|
The time stamps are only nanosecond-resolution at the C level,
|
|
since that's the best that any real-world system supports now.
|
|
But they are picosecond-resolution at the Lisp level, as that's
|
|
easy, and leaves room for future OS improvements.
|
|
|
|
* Makefile.in (LIB_CLOCK_GETTIME): New macro.
|
|
(LIBES): Use it.
|
|
|
|
* alloc.c (Fgarbage_collect): Port to higher-res time stamps.
|
|
Don't get current time unless it's needed.
|
|
|
|
* atimer.c: Include <sys/time.h> unconditionally, since gnulib
|
|
now provides it if it's absent.
|
|
(start_atimer): Port to higher-res time stamps.
|
|
Check for time stamp overflow. Don't get current time more
|
|
often than is needed.
|
|
|
|
* buffer.h (struct buffer): Buffer modtime now has high resolution.
|
|
Include systime.h, not time.h.
|
|
(NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros.
|
|
|
|
* dired.c: Include stat-time.h.
|
|
(Ffile-attributes): File times now have higher resolution.
|
|
|
|
* dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h.
|
|
(struct image): Timestamp now has higher resolution.
|
|
|
|
* dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always
|
|
has at least microseconds now. All uses removed.
|
|
(update_frame, update_single_window, update_window, update_frame_1)
|
|
(Fsleep_for, sit_for): Port to higher-resolution time stamps.
|
|
|
|
* editfns.c (time_overflow): Now extern.
|
|
(Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)
|
|
(float-time, Fformat_time_string, Fcurrent_time_string)
|
|
(Fcurrent_time_zone): Accept and generate higher-resolution
|
|
time stamps.
|
|
(make_time_tail, make_lisp_time, dissassemble_lisp_time)
|
|
(decode_time_components, lisp_seconds_argument): New functions.
|
|
(make_time): Now static.
|
|
(lisp_time_argument): Now returns EMACS_TIME. New arg ppsec.
|
|
Report an error if the time is invalid, rather than having the caller
|
|
do that.
|
|
|
|
* fileio.c: Include <stat-time.h>
|
|
(Fcopy_file): Copy higher-resolution time stamps.
|
|
Prefer to set the time stamp via a file descriptor if that works.
|
|
(Fset_file_times, Finsert_file_contents, Fwrite_region)
|
|
(Fverify_visited_file_modtime, Fclear_visited_file_modtime)
|
|
(Fvisited_file_modtime, Fset_visited_file_modtime):
|
|
Support higher-resolution time stamps.
|
|
|
|
* fns.c (Frandom): Use nanoseconds, not microseconds, for seed.
|
|
|
|
* gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps.
|
|
|
|
* image.c (prepare_image_for_display, clear_image_cache)
|
|
(lookup_image): Port to higer-resolution time stamps.
|
|
|
|
* keyboard.c (start_polling, bind_polling_period):
|
|
Check for time stamp overflow.
|
|
(read_char, kbd_buffer_get_event, timer_start_idle)
|
|
(timer_stop_idle, timer_resume_idle, timer_check_2, timer_check)
|
|
(Fcurrent_idle_time, init_keyboard, set_waiting_for_input):
|
|
Port to higher-resolution time stamps. Do not assume time_t is signed.
|
|
(decode_timer): New function. Timers are now vectors of length 9,
|
|
not 8, to accommodate the picosecond component.
|
|
(timer_check_2): Use it.
|
|
|
|
* nsterm.m (select_timeout, timeval_subtract): Remove.
|
|
(ns_timeout): Use Emacs's facilities for time stamp arithmetic,
|
|
as they're a bit more accurate and handle overflow better.
|
|
(ns_select): Change prototype to be compatible with pselect.
|
|
(ns_select, ns_term_shutdown): Port to ns-resolution time stamps.
|
|
* nsterm.h (ns_select): Adjust prototype.
|
|
|
|
* msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes
|
|
us-resolution time stamps.
|
|
(sys_select): Use the new EMACS_TIME_SIGN macro instead.
|
|
|
|
* lread.c (read_filtered_event): Port to ns-resolution time stamps.
|
|
|
|
* lisp.h (time_overflow): New decl.
|
|
(wait_reading_process_output): First arg is now intmax_t, not int,
|
|
to accommodate larger waits.
|
|
|
|
* process.h (struct Lisp_Process.read_output_delay):
|
|
Now counts nanoseconds, not microseconds.
|
|
* process.c (ADAPTIVE_READ_BUFFERING): Don't worry about
|
|
EMACS_HAS_USECS.
|
|
(READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output)
|
|
(wait_reading_process_output):
|
|
Port to ns-resolution time stamps.
|
|
(Faccept_process_output, wait_reading_process_output):
|
|
Check for time stamp overflow. Do not assume time_t is signed.
|
|
(select_wrapper): Remove; we now use pselect.
|
|
(Fprocess_attributes): Now generates ns-resolution time stamps.
|
|
|
|
* sysdep.c: Include utimens.h. Don't include utime.h
|
|
or worry about struct utimbuf; gnulib does that for us now.
|
|
(gettimeofday): Remove; gnulib provides a substitute.
|
|
(make_timeval): New function.
|
|
(set_file_times): Now sets ns-resolution time stamps.
|
|
New arg FD; all uses changed.
|
|
(time_from_jiffies, ltime_from_jiffies, get_up_time)
|
|
(system_process_attributes):
|
|
Now returns ns-resolution time stamp. All uses changed.
|
|
Check for time stamp overflow.
|
|
|
|
* sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib
|
|
provides a substitute now.
|
|
|
|
* systime.h: Include timespec.h rather than sys/time.h and time.h,
|
|
since it guarantees struct timespec.
|
|
(EMACS_TIME): Now struct timespec, so that we can support
|
|
ns-resolution time stamps.
|
|
(EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros.
|
|
(EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now.
|
|
(EMACS_USECS): Remove.
|
|
(EMACS_SET_USECS): The underlying time stamp now has ns resolution,
|
|
so multiply the arg by 1000 before storing it.
|
|
(EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS):
|
|
New macros.
|
|
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME):
|
|
Port to ns-resolution time stamps.
|
|
(EMACS_TIME_NEG_P): Remove; replaced by....
|
|
(EMACS_TIME_SIGN): New macro.
|
|
(EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P)
|
|
(EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros.
|
|
(set_file_times, make_time, lisp_time_argument): Adjust signature.
|
|
(make_timeval, make_lisp_time, decode_time_components): New decls.
|
|
(EMACS_TIME_CMP): Remove; no longer used. Plus, it was buggy, in
|
|
that it mishandled time_t overflow. You can't compare by subtracting!
|
|
(EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE)
|
|
(EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp.
|
|
|
|
* term.c: Include <sys/time.h>.
|
|
(timeval_to_Time): New function, for proper overflow wraparound.
|
|
(term_mouse_position, term_mouse_click): Use it.
|
|
|
|
* undo.c (record_first_change): Support higher-resolution time stamps
|
|
in the undo buffer.
|
|
(Fprimitive_undo): Use them when restoring time stamps.
|
|
|
|
* w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull)
|
|
(w32_get_internal_run_time):
|
|
Port to higher-resolution Emacs time stamps.
|
|
(ltime): Now accepts single 64-bit integer, as that's more convenient
|
|
for callers.
|
|
|
|
* xdisp.c (start_hourglass): Port to ns-resolution time stamps.
|
|
|
|
* xgselect.c, xgselect.h (xg_select): Add sigmask argument,
|
|
for compatibility with pselect. Support ns-resolution time stamps.
|
|
|
|
* xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps.
|
|
|
|
* xselect.c (wait_for_property_change, x_get_foreign_selection):
|
|
Check for time stamp overflow, and support ns-resolution time stamps.
|
|
|
|
* xterm.c: Don't include sys/time.h; gnulib does that for us now.
|
|
Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set.
|
|
(timeval_subtract): Remove; no longer needed.
|
|
(XTflash, XTring_bell, x_wait_for_event):
|
|
Port to ns-resolution time stamps. Don't assume time_t is signed.
|
|
|
|
2012-06-22 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (x_consider_frame_title): Revert last change.
|
|
|
|
2012-06-22 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* alloc.c (NSTATICS): Enlarge to 0x650. Otherwise, Emacs compiled
|
|
with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER
|
|
aborts in staticpro during startup. (Without -DBYTE_CODE_METER,
|
|
staticidx goes up to 1597 out of 1600 = 0x640.)
|
|
|
|
2012-06-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c (Fdefault_file_modes): Block input while fiddling with umask.
|
|
Otherwise, the umask might be mistakenly 0 while handling input signals.
|
|
|
|
2012-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Fread_string): Bind minibuffer-completion-table.
|
|
|
|
2012-06-19 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
|
|
* font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c:
|
|
* print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct
|
|
access to `contents' member of Lisp_Vector objects with AREF and ASET
|
|
where appropriate.
|
|
|
|
2012-06-19 Chong Yidong <cyd@gnu.org>
|
|
|
|
* frame.c (delete_frame): When selecting a frame on a different
|
|
text terminal, do not alter the terminal's top-frame.
|
|
|
|
* xdisp.c (format_mode_line_unwind_data): Record the target
|
|
frame's selected window and its terminal's top-frame.
|
|
(unwind_format_mode_line): Restore them.
|
|
(x_consider_frame_title, display_mode_line, Fformat_mode_line):
|
|
Callers changed.
|
|
(x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
|
|
since tty frames can be explicitly named.
|
|
(prepare_menu_bars): Likewise.
|
|
|
|
* term.c (Ftty_top_frame): New function.
|
|
|
|
2012-06-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port byte-code-meter to modern targets.
|
|
* bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume
|
|
!CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG. Problem with
|
|
CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00282.html>.
|
|
(METER_1, METER_2): Simplify.
|
|
|
|
2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* data.c (Fdefalias): Return `symbol' (bug#11686).
|
|
|
|
2012-06-18 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* buffer.c (Fkill_buffer): Don't throw an error when the buffer
|
|
gets killed during executing of this function (Bug#11665).
|
|
Try to always return Qt when the buffer has been actually killed.
|
|
(Vkill_buffer_query_functions): In doc-string say that functions
|
|
run by this hook should not change the current buffer.
|
|
|
|
2012-06-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix recently-introduced process.c problems found by static checking.
|
|
* process.c (write_queue_push, write_queue_pop, send_process):
|
|
Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets.
|
|
(write_queue_pop): Fix pointer signedness problem.
|
|
(send_process): Remove unused local.
|
|
|
|
2012-06-17 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (redisplay_internal): No need to redisplay terminal
|
|
frames that are not on top.
|
|
|
|
2012-06-17 Troels Nielsen <bn.troels@gmail.com>
|
|
|
|
* process.c (make_process): Initialize write_queue.
|
|
(write_queue_push, write_queue_pop): New functions.
|
|
(send_process): Use them to maintain correct ordering of process
|
|
writes (Bug#10815).
|
|
|
|
2012-06-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* lisp.h (eassert): Assume C89 or later.
|
|
This removes the need for CHECK.
|
|
(CHECK): Remove. Its comments about always evaluating its
|
|
argument were confusing, as 'eassert' typically does not evaluate
|
|
its argument.
|
|
|
|
* coding.c (produce_chars): Use ptrdiff_t, not int.
|
|
|
|
* xterm.c (x_draw_underwave): Check for integer overflow.
|
|
This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
|
|
|
|
2012-06-17 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
|
|
referenced (Bug#11583).
|
|
|
|
2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
|
|
|
|
Implement wave-style variant of underlining.
|
|
* dispextern.h (face_underline_type): New enum.
|
|
(face): Add field for underline type.
|
|
* nsterm.m (ns_draw_underwave): New function.
|
|
(ns_draw_text_decoration): Use it.
|
|
* w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
|
|
New functions.
|
|
(x_draw_glyph_string): Use them.
|
|
* xfaces.c (Qline, Qwave): New Lisp objects.
|
|
(check_lface_attrs, merge_face_ref)
|
|
(Finternal_set_lisp_face_attribute, realize_x_face):
|
|
Handle wave-style underline face attributes.
|
|
* xterm.c (x_draw_underwave): New function.
|
|
(x_draw_glyph_string): Use it.
|
|
|
|
2012-06-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O))
|
|
($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O))
|
|
($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O))
|
|
($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O))
|
|
($(BLD)/w32select.$(O)): Update dependencies.
|
|
|
|
2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
|
|
(BUF_FETCH_MULTIBYTE_CHAR): Likewise.
|
|
* character.c (_fetch_multibyte_char_p): Remove.
|
|
* alloc.c: Include "character.h" before "buffer.h".
|
|
* bidi.c: Likewise.
|
|
* buffer.c: Likewise.
|
|
* bytecode.c: Likewise.
|
|
* callint.c: Likewise.
|
|
* callproc.c: Likewise.
|
|
* casefiddle.c: Likewise.
|
|
* casetab.c: Likewise.
|
|
* category.c: Likewise.
|
|
* cmds.c: Likewise.
|
|
* coding.c: Likewise.
|
|
* composite.c: Likewise.
|
|
* dired.c: Likewise.
|
|
* dispnew.c: Likewise.
|
|
* doc.c: Likewise.
|
|
* dosfns.c: Likewise.
|
|
* editfns.c: Likewise.
|
|
* emacs.c: Likewise.
|
|
* fileio.c: Likewise.
|
|
* filelock.c: Likewise.
|
|
* font.c: Likewise.
|
|
* fontset.c: Likewise.
|
|
* fringe.c: Likewise.
|
|
* indent.c: Likewise.
|
|
* insdel.c: Likewise.
|
|
* intervals.c: Likewise.
|
|
* keyboard.c: Likewise.
|
|
* keymap.c: Likewise.
|
|
* lread.c: Likewise.
|
|
* macros.c: Likewise.
|
|
* marker.c: Likewise.
|
|
* minibuf.c: Likewise.
|
|
* nsfns.m: Likewise.
|
|
* nsmenu.m: Likewise.
|
|
* print.c: Likewise.
|
|
* process.c: Likewise.
|
|
* regex.c: Likewise.
|
|
* region-cache.c: Likewise.
|
|
* search.c: Likewise.
|
|
* syntax.c: Likewise.
|
|
* term.c: Likewise.
|
|
* textprop.c: Likewise.
|
|
* undo.c: Likewise.
|
|
* unexsol.c: Likewise.
|
|
* w16select.c: Likewise.
|
|
* w32fns.c: Likewise.
|
|
* w32menu.c: Likewise.
|
|
* window.c: Likewise.
|
|
* xdisp.c: Likewise.
|
|
* xfns.c: Likewise.
|
|
* xmenu.c: Likewise.
|
|
* xml.c: Likewise.
|
|
* xselect.c: Likewise.
|
|
|
|
2012-06-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_cursor_from_row): Don't dereference glyphs_end.
|
|
If all the glyphs of the glyph row came from strings, and we have no
|
|
cursor positioning clues, put the cursor on the first glyph of the
|
|
row.
|
|
(handle_face_prop): Use chunk-relative overlay string index when
|
|
indexing into it->string_overlays array. (Bug#11653)
|
|
(set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
|
|
the rightmost. (Bug#11720)
|
|
|
|
2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* category.h (CHAR_HAS_CATEGORY): Define as inline.
|
|
(CATEGORY_MEMBER): Enforce 1/0 value.
|
|
* category.c (_temp_category_set): Remove.
|
|
|
|
2012-06-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.c (Fdelete_other_windows_internal)
|
|
(Fdelete_window_internal): Don't access frame's mouse highlight
|
|
info of the initial frame. (Bug#11677)
|
|
|
|
2012-06-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* .gdbinit (xgetint): Fix recently-introduced paren typo.
|
|
Assume USE_2_TAGS_FOR_INTS.
|
|
(xreload): Adjust $tagmask width to match recent lisp.h change.
|
|
|
|
Simplify lisp.h in minor ways that should not affect code.
|
|
* lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined.
|
|
(LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P)
|
|
(LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number):
|
|
Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined.
|
|
(INTTYPEBITS): New macro, for clarity.
|
|
(INTMASK, MOST_POSITIVE_FIXNUM): Use it.
|
|
(LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P):
|
|
Simplify now that USE_LSB_TAG is always defined.
|
|
(TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast.
|
|
(make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler.
|
|
|
|
2012-06-13 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/data.$(O)): Update dependencies.
|
|
|
|
2012-06-13 Glenn Morris <rgm@gnu.org>
|
|
|
|
* s/bsd-common.h (BSD4_3):
|
|
* s/usg5-4-common.h (USG5_4): No longer define; unused.
|
|
|
|
2012-06-13 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
|
|
instead of union.
|
|
(XLI, XIL): Define.
|
|
(XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG):
|
|
Use them.
|
|
* emacs.c (gdb_use_struct): Rename from gdb_use_union.
|
|
* .gdbinit: Check gdb_use_struct instead of gdb_use_union.
|
|
* alloc.c (widen_to_Lisp_Object): Remove.
|
|
(mark_memory): Use XIL instead of widen_to_Lisp_Object.
|
|
* frame.c (delete_frame): Remove outdated comment.
|
|
* w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
|
|
USE_LISP_UNION_TYPE.
|
|
(Fw32_unregister_hot_key): Likewise.
|
|
(Fw32_toggle_lock_key): Likewise.
|
|
* w32menu.c (add_menu_item): Likewise.
|
|
(w32_menu_display_help): Use XIL instead of checking
|
|
USE_LISP_UNION_TYPE.
|
|
* w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
|
|
(init_heap): Likewise.
|
|
* w32term.c (w32_read_socket): Update comment.
|
|
|
|
2012-06-13 Glenn Morris <rgm@gnu.org>
|
|
|
|
* s/usg5-4-common.h, src/s/unixware.h:
|
|
Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04).
|
|
|
|
* s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04).
|
|
|
|
2012-06-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)
|
|
* alloc.c (make_number) [!defined make_number]:
|
|
Remove, as lisp.h always defines this now.
|
|
(mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
|
|
(roundup_size): Verify that it is a power of 2.
|
|
* data.c (Fmake_variable_buffer_local, Fmake_local_variable):
|
|
* ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
|
|
* lisp.h (USE_LSB_TAG): Allow the builder to compile with
|
|
-DUSE_LSB_TAG=0, to override the automatically-selected default.
|
|
USE_LSB_TAG now is always defined to be either 0 or 1.
|
|
All uses changed.
|
|
(union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
|
|
code works fine either way, and efficiency is not a concern here,
|
|
as the union type is for debugging, not for production.
|
|
(LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]:
|
|
Use an inline function on all platforms when using the union type,
|
|
since this is simpler and 'static inline' can be used portably
|
|
within Emacs now.
|
|
(LISP_INITIALLY_ZERO): New macro.
|
|
(XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove.
|
|
(XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
|
|
|
|
2012-06-12 Glenn Morris <rgm@gnu.org>
|
|
|
|
* s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files.
|
|
|
|
* s/gnu-linux.h (HAVE_PROCFS): Move to configure.
|
|
|
|
* s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h:
|
|
Move BROKEN_SIGIO to configure.
|
|
|
|
* s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h:
|
|
Move NO_TERMIO to configure.
|
|
|
|
2012-06-12 Chong Yidong <cyd@gnu.org>
|
|
|
|
* image.c (imagemagick_load_image): Use MagickFlattenImage if
|
|
MagickMergeImageLayers is undefined. Use pixel pusher loop if
|
|
MagickExportImagePixels is undefined.
|
|
|
|
2012-06-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (imagemagick_load_image): Remove unused label.
|
|
|
|
2012-06-11 Glenn Morris <rgm@gnu.org>
|
|
|
|
* s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
|
|
* s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h:
|
|
* s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h:
|
|
* s/usg5-4-common.h: Move SYSTEM_TYPE to configure.
|
|
|
|
2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* alloc.c (make_byte_code): New function.
|
|
(Fmake_byte_code): Use it. Don't purify here.
|
|
* lread.c (read1): Use it as well to avoid extra allocation.
|
|
|
|
2012-06-11 Chong Yidong <cyd@gnu.org>
|
|
|
|
* image.c (imagemagick_load_image): Implement transparency.
|
|
|
|
2012-06-10 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly
|
|
account for preceding backslashes. (Bug#11663)
|
|
|
|
2012-06-09 Chong Yidong <cyd@gnu.org>
|
|
|
|
* term.c: Support italics in capable terminals (Bug#9652).
|
|
(no_color_bit): Replace unused NC_BLINK with NC_ITALIC.
|
|
(turn_on_face): Output using TS_enter_italic_mode if available.
|
|
Don't handle unused blinking and alt-charset cases.
|
|
(turn_off_face): Handle italic case; discard unused tty_blinking_p
|
|
and tty_alt_charset_p cases.
|
|
(tty_capable_p, init_tty): Support italics.
|
|
|
|
* termchar.h (struct tty_display_info): Add field for italics.
|
|
Remove unused blink field.
|
|
|
|
* xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
|
|
Handle slant.
|
|
|
|
* dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC.
|
|
(struct face): Remove unused fields tty_dim_p, tty_blinking_p, and
|
|
tty_alt_charset_p. Add tty_italic_p.
|
|
|
|
2012-06-09 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and
|
|
dbus_type_is_basic if available.
|
|
(xd_extract_signed, xd_extract_unsigned): Rename from
|
|
extract_signed and extract_unsigned, respectively. Adapt callers.
|
|
|
|
2012-06-09 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066).
|
|
|
|
* fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive
|
|
case (Bug#9752).
|
|
|
|
2012-06-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xdisp.c (vmessage): Treat frame message as multibyte.
|
|
Without this change, (let ((§ 1)) (make-variable-buffer-local '§))
|
|
would generate the diagnostic "Making \302\247 buffer-local while
|
|
let-bound!".
|
|
|
|
2012-06-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (showing_window_margins_p): Undo last change, which
|
|
was done due to an inadvertent commit.
|
|
(adjust_frame_glyphs_for_frame_redisplay): Do call
|
|
showing_window_margins_p.
|
|
|
|
2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (Fmake_var_non_special): New primitive.
|
|
(syms_of_eval): Defsubr it.
|
|
* lread.c (syms_of_lread): Mark `values' as lexically scoped.
|
|
|
|
2012-06-08 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused
|
|
function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org).
|
|
|
|
2012-06-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* alloc.c (allocate_vectorlike): Fix last change.
|
|
|
|
2012-06-08 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
Block-based vector allocation of small vectors.
|
|
* lisp.h (struct vectorlike_header): New field `nbytes',
|
|
adjust comment accordingly.
|
|
* alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
|
|
to denote vector blocks. Adjust users (live_vector_p,
|
|
mark_maybe_pointer, valid_lisp_object_p) accordingly.
|
|
(COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
|
|
(VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
|
|
(VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX),
|
|
(VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST),
|
|
(VECTOR_SIZE, VECTOR_IN_BLOCK): New macros.
|
|
(roundup_size): New constant.
|
|
(struct vector_block): New data type.
|
|
(vector_blocks, vector_free_lists, zero_vector): New variables.
|
|
(all_vectors): Rename to `large_vectors'.
|
|
(allocate_vector_from_block, init_vectors, allocate_vector_from_block)
|
|
(sweep_vectors): New functions.
|
|
(allocate_vectorlike): Return `zero_vector' as the only vector of
|
|
0 items. Allocate new vector from block if vector size is less than
|
|
or equal to VBLOCK_BYTES_MAX.
|
|
(Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
|
|
(init_alloc_once): Add call to init_vectors.
|
|
|
|
2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (Fmacroexpand): Stop if the macro returns the same form.
|
|
|
|
2012-06-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* doprnt.c (doprnt): Truncate multibyte char correctly.
|
|
Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP)
|
|
would mishandle a string argument "Xc" if X was a multibyte
|
|
character of length 2: it would truncate after X's first byte
|
|
rather than including all of X.
|
|
|
|
2012-06-06 Chong Yidong <cyd@gnu.org>
|
|
|
|
* buffer.c (word_wrap): Doc fix.
|
|
|
|
2012-06-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.
|
|
|
|
2012-06-03 Glenn Morris <rgm@gnu.org>
|
|
|
|
* xdisp.c (tool-bar-style): Doc fix.
|
|
|
|
2012-06-03 Ulrich Müller <ulm@gentoo.org>
|
|
|
|
* Makefile.in (PAXCTL): Define.
|
|
(temacs$(EXEEXT)): Disable memory randomization for the temacs
|
|
binary via PaX flags if the paxctl utility is available.
|
|
(emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
|
|
Restore PaX flags to their default. (Bug#11398)
|
|
|
|
2012-06-03 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
|
|
buffer (Bug#11226).
|
|
|
|
2012-06-03 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
|
|
(note_mode_line_or_margin_highlight): If there is no help echo,
|
|
use mode-line-default-help-echo. Handle the case where the mouse
|
|
position is past the end of the mode line string.
|
|
|
|
* buffer.c (buffer_local_value_1): New function, split from
|
|
Fbuffer_local_value; can return Qunbound.
|
|
(Fbuffer_local_value): Use it.
|
|
(Vmode_line_format): Docstring tweaks.
|
|
|
|
2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c (system_process_attributes): Improve comment.
|
|
|
|
2012-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c: Export real-this-command to Elisp.
|
|
(syms_of_keyboard): Rename real_this_command to Vreal_this_command
|
|
and DEFVAR it. Update all users.
|
|
|
|
2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* minibuf.c (Fassoc_string): Remove duplicate declaration.
|
|
|
|
* sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
|
|
Convert pctcpu and pctmem to Lisp float properly.
|
|
Let the compiler fold better, as 100.0/0x8000 is exact.
|
|
|
|
2012-06-02 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
|
|
cons_block.
|
|
|
|
2012-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change.
|
|
|
|
2012-06-01 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
For a 'struct window', replace some Lisp_Object fields to
|
|
bitfields where appropriate, remove unused fields.
|
|
* window.h (struct window): Remove unused 'last_mark_x' and
|
|
'last_mark_y' fields. Rename 'mini_p' field to 'mini',
|
|
change it's type from Lisp_Object to bitfield.
|
|
Change type of 'force_start', 'optional_new_start',
|
|
'last_had_star', 'update_mode_line' and 'start_at_line_beg'
|
|
fields from Lisp_Object to bitfield. Adjust users accordingly.
|
|
|
|
2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Pacify gcc -Wdouble-precision when using Xaw.
|
|
* xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb)
|
|
[HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]:
|
|
Use 'float' consistently, rather than 'float' in most places
|
|
and 'double' in a couple of places.
|
|
|
|
2012-05-31 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_stop): Detect whether we have overlay strings
|
|
loaded by testing it->current.overlay_string_index to be
|
|
non-negative, instead of checking whether n_overlay_strings is
|
|
positive. (Bug#11587)
|
|
|
|
2012-05-31 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169).
|
|
|
|
* doc.c (Fsubstitute_command_keys): Doc fix.
|
|
|
|
2012-05-31 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* search.c (search_buffer): Remove calls to
|
|
r_alloc_inhibit_buffer_relocation, as it is now called by
|
|
maybe_unify_char, which was the cause of relocation of buffer text
|
|
in bug#11519.
|
|
|
|
2012-05-31 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* charset.c (maybe_unify_char): Inhibit relocation of buffer text
|
|
for the duration of call to load_charset, to avoid problems with
|
|
callers of maybe_unify_char that access buffer text through C
|
|
pointers.
|
|
|
|
* ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
|
|
decrement the inhibition flag, instead of just setting or
|
|
resetting it.
|
|
|
|
2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Remove obsolete '#define static' cruft.
|
|
* s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
|
|
This #undef was "temporary" in 2000; it is no longer needed
|
|
now that '#define static' has gone away.
|
|
* xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height)
|
|
(gray_bitmap_bits): Remove; no longer needed.
|
|
All uses replaced with definiens.
|
|
* xterm.c: Include "bitmaps/gray.xbm".
|
|
|
|
2012-05-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Clean up __executable_start, monstartup when --enable-profiling.
|
|
The following changes affect the code only when profiling.
|
|
* dispnew.c (__executable_start): Rename from safe_bcopy.
|
|
Define only on platforms that need it.
|
|
* emacs.c: Include <sys/gmon.h> when profiling.
|
|
(_mcleanup): Remove decl, since <sys/gmon.h> does it now.
|
|
(__executable_start): Remove decl, since lisp.h does it now.
|
|
(safe_bcopy): Remove decl; no longer has that name.
|
|
(main): Coalesce #if into single bit of code, for simplicity.
|
|
Cast pointers to uintptr_t, since standard libraries want integers
|
|
and not pointers.
|
|
* lisp.h (__executable_start): New decl.
|
|
|
|
2012-05-31 Glenn Morris <rgm@gnu.org>
|
|
|
|
* image.c (Fimagemagick_types): Doc fix.
|
|
|
|
2012-05-30 Jim Meyering <meyering@redhat.com>
|
|
|
|
* callproc.c (Fcall_process_region): Include directory component
|
|
in mkstemp error message (Bug#11586).
|
|
|
|
2012-05-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c, lisp.h (make_pure_vector): Now static.
|
|
|
|
2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
|
|
Move to byte-run.el.
|
|
(Fautoload): Do the hash-doc more carefully.
|
|
* data.c (Fdefalias): Purify definition, except for keymaps.
|
|
(Qdefun): Move from eval.c.
|
|
* lisp.h (Qdefun): Remove.
|
|
* lread.c (read1): Tiny simplification.
|
|
|
|
2012-05-29 Troels Nielsen <bn.troels@gmail.com>
|
|
|
|
Do not create empty overlays with the evaporate property (Bug#9642).
|
|
* buffer.c (Fmove_overlay): Reinstate the earlier fix for
|
|
Bug#9642, but explicitly check that the buffer the overlay would
|
|
be moved to is live and rearrange lines to make sure that errors
|
|
will not put the overlay in an inconsistent state.
|
|
(Fdelete_overlay): Cosmetics.
|
|
|
|
2012-05-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (my_bring_window_to_top): New function.
|
|
(x_raise_frame): Use handle returned by DeferWindowPos, which
|
|
could be different from the original one.
|
|
Call my_bring_window_to_top instead of my_set_foreground_window.
|
|
(Bug#11513)
|
|
|
|
* w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
|
|
by calling BringWindowToTop.
|
|
|
|
* w32term.h (WM_EMACS_BRINGTOTOP): New message.
|
|
(WM_EMACS_END): Increase by one.
|
|
|
|
2012-05-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* bidi.c (bidi_mirror_char): Put eassert before conversion to int.
|
|
This avoids undefined behavior that might cause the eassert
|
|
to not catch an out-of-range value.
|
|
|
|
2012-05-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)):
|
|
Update dependencies.
|
|
|
|
2012-05-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_mirror_char): Fix last change.
|
|
|
|
2012-05-27 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* unexmacosx.c (copy_data_segment): Truncate after 16 characters
|
|
when referring to sectname field in printf format.
|
|
|
|
2012-05-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* lisp.h [REL_ALLOC]: Omit duplicate prototypes.
|
|
Only r_alloc_inhibit_buffer_relocation needed to be added;
|
|
the others were already declared.
|
|
|
|
* bidi.c (bidi_mirror_char): Don't possibly truncate the integer
|
|
before checking whether it's out of range. Put the check inside
|
|
eassert. See
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
|
|
|
|
2012-05-27 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* callproc.c (Fcall_process): Restore a line that was accidentally
|
|
commented out in the 2011-02-13 change (bug#11547).
|
|
|
|
2012-05-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* lisp.h [REL_ALLOC]: Add prototypes for external functions
|
|
defined on ralloc.c.
|
|
|
|
* buffer.c [REL_ALLOC]: Remove prototypes of
|
|
r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
|
|
they are now on lisp.h.
|
|
|
|
* ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
|
|
|
|
* search.c (search_buffer): Use it to inhibit relocation of buffer
|
|
text while re_search_2 is doing its job, because re_search_2 is
|
|
passed C pointers to buffer text. (Bug#11519)
|
|
|
|
* msdos.c (internal_terminal_init) <Vwindow_system_version>:
|
|
Update value to 24.
|
|
|
|
* xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
|
|
state after an additional call to move_it_in_display_line_to, keep
|
|
the values of it->max_ascent and it->max_descent found for the
|
|
entire line.
|
|
(pos_visible_p): Revert the comparison against bottom_y to what it
|
|
was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb.
|
|
(Bug#11464)
|
|
|
|
2012-05-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix coding-related core dumps with gcc -ftrapv.
|
|
The code was computing A - B, where A and B are pointers, and B is
|
|
random garbage. This can lead to core dumps on platforms that
|
|
have special pointer registers, and it also leads to core dumps on
|
|
x86-64 when compiled with gcc -ftrapv. The fix is to compute
|
|
A - B only when B is initialized properly.
|
|
* coding.c (coding_set_source, coding_set_destination): Return void.
|
|
(coding_change_source, coding_change_destinations): New functions,
|
|
with the old behaviors of coding_set_source and coding_set_destination.
|
|
All callers that need an offset changed to use these new functions.
|
|
|
|
2012-05-26 Glenn Morris <rgm@gnu.org>
|
|
|
|
* nsterm.m (ns_init_paths): Don't mess with INFOPATH. (Bug#2791)
|
|
|
|
2012-05-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Extend mouse support on W32 text-mode console.
|
|
* xdisp.c (draw_row_with_mouse_face):
|
|
Call tty_draw_row_with_mouse_face for WINDOWSNT as well.
|
|
|
|
* w32console.c: Include window.h.
|
|
(w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face):
|
|
New functions.
|
|
(initialize_w32_display): Initialize mouse-highlight data.
|
|
|
|
* w32inevt.c: Include termchar.h and window.h.
|
|
(do_mouse_event): Support mouse-autoselect-window. When the mouse
|
|
moves, call note_mouse_highlight. If help_echo changed, call
|
|
gen_help_event to produce help-echo message in the echo area.
|
|
Call clear_mouse_face if mouse_face_hidden is set in the mouse
|
|
highlight info.
|
|
|
|
2012-05-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* lread.c (read1): Simplify slightly to avoid an overflow warning
|
|
with GCC 4.7.0 on x86-64.
|
|
|
|
2012-05-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_mirror_char): Revert last change: an int is
|
|
definitely wide enough here.
|
|
|
|
2012-05-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix integer width and related bugs (Bug#9874).
|
|
* alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
|
|
(allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE)
|
|
(string_bytes, check_sblock, allocate_string_data):
|
|
(compact_small_strings, Fmake_bool_vector, make_string)
|
|
(make_unibyte_string, make_multibyte_string)
|
|
(make_string_from_bytes, make_specified_string)
|
|
(allocate_vectorlike, Fmake_vector, find_string_data_in_pure)
|
|
(make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy)
|
|
(mark_vectorlike):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(allocate_pseudovector):
|
|
Use int, not EMACS_INT, where int is wide enough.
|
|
(inhibit_garbage_collection, Fgarbage_collect):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where
|
|
int might not be wide enough.
|
|
(bidi_cache_search, bidi_cache_find, bidi_init_it)
|
|
(bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
|
|
(bidi_at_paragraph_end, bidi_find_paragraph_start)
|
|
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
|
|
(bidi_level_of_next_char, bidi_move_to_visually_next):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* buffer.c (copy_overlays, Fgenerate_new_buffer_name)
|
|
(Fkill_buffer, Fset_buffer_major_mode)
|
|
(advance_to_char_boundary, Fbuffer_swap_text)
|
|
(Fset_buffer_multibyte, overlays_at, overlays_in)
|
|
(overlay_touches_p, struct sortvec, record_overlay_string)
|
|
(overlay_strings, recenter_overlay_lists)
|
|
(adjust_overlays_for_insert, adjust_overlays_for_delete)
|
|
(fix_start_end_in_overlays, fix_overlays_before, modify_overlay)
|
|
(Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change)
|
|
(Foverlay_recenter, last_overlay_modification_hooks_used)
|
|
(report_overlay_modification, evaporate_overlays, enlarge_buffer_text):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(validate_region): Omit unnecessary test for b <= e,
|
|
since that's guaranteed by the previous test.
|
|
(adjust_overlays_for_delete): Avoid pos + length overflow.
|
|
(Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist)
|
|
(report_overlay_modification):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change):
|
|
Omit pointer cast, which isn't needed anyway, and doesn't work
|
|
after the EMACS_INT -> ptrdiff_t change.
|
|
(Fmove_overlay): Clip BEG and END to ptrdiff_t to avoid overflow.
|
|
* buffer.h: Adjust decls to match defn changes elsewhere.
|
|
(struct buffer_text, struct buffer):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
Use EMACS_INT, not int, where int might not be wide enough.
|
|
* bytecode.c (unmark_byte_stack, exec_byte_code): Use ptrdiff_t,
|
|
not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(exec_byte_code): Use tighter memory-full test, one that checks
|
|
for alloca overflow. Don't compute the address of the object just
|
|
before an array, as that's not portable. Use EMACS_INT, not
|
|
ptrdiff_t or int, where ptrdiff_t or int might not be wide enough.
|
|
* callint.c (Fcall_interactively):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* callproc.c (call_process_kill, Fcall_process):
|
|
Don't assume pid_t fits into an Emacs fixnum.
|
|
(call_process_cleanup, Fcall_process, child_setup):
|
|
Don't assume pid_t fits into int.
|
|
(call_process_cleanup, Fcall_process, delete_temp_file)
|
|
(Fcall_process_region):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fcall_process): Simplify handling of volatile integers.
|
|
Use int, not EMACS_INT, where int will do.
|
|
* casefiddle.c (casify_object, casify_region, operate_on_word)
|
|
(Fupcase_word, Fdowncase_word, Fcapitalize_word):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(casify_object): Avoid integer overflow when overallocating buffer.
|
|
* casetab.c (set_identity, shuffle): Prefer int to unsigned when
|
|
either works. Use lint_assume to convince GCC 4.6.1 that it's OK.
|
|
* category.c (Fchar_category_set): Don't assume fixnum fits in int.
|
|
* category.h (CATEGORYP): Don't assume arg is nonnegative.
|
|
* ccl.c (GET_CCL_INT): Remove; no longer needed, since the
|
|
integers are now checked earlier. All uses replaced with XINT.
|
|
(ccl_driver):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
For CCL_MapSingle, check that content and value are in int range.
|
|
(ccl_driver, Fregister_code_conversion_map):
|
|
Check that Vcode_version_map_vector is a vector.
|
|
(resolve_symbol_ccl_program): Check that vector header is in range.
|
|
Always copy the vector, so that we can check its contents reliably
|
|
now rather than having to recheck each instruction as it's being
|
|
executed. Check that vector words fit in 'int'.
|
|
(ccl_get_compiled_code, Fregister_ccl_program)
|
|
(Fregister_code_conversion_map): Use ptrdiff_t, not int, for
|
|
program indexes, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fccl_execute, Fccl_execute_on_string): Check that initial reg
|
|
contents are in range.
|
|
(Fccl_execute_on_string): Check that status is in range.
|
|
* ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int.
|
|
* character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers):
|
|
Accept and return EMACS_INT, not int, because callers can pass values
|
|
out of 'int' range.
|
|
(c_string_width, strwidth, lisp_string_width, chars_in_text)
|
|
(multibyte_chars_in_text, parse_str_as_multibyte)
|
|
(str_as_multibyte, count_size_as_multibyte, str_to_multibyte)
|
|
(str_as_unibyte, str_to_unibyte, string_count_byte8)
|
|
(string_escape_byte8, Fget_byte):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Funibyte_string): Use CHECK_RANGED_INTEGER, not CHECK_NATNUM, to
|
|
avoid mishandling large integers.
|
|
* character.h: Adjust decls to match defn changes elsewhere.
|
|
* charset.c (load_charset_map_from_file, find_charsets_in_text)
|
|
(Ffind_charset_region):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(load_charset_map_from_file): Redo idx calculation to avoid overflow.
|
|
(load_charset_map_from_vector, Fdefine_charset_internal):
|
|
Don't assume fixnum fits in int.
|
|
(load_charset_map_from_vector, Fmap_charset_chars):
|
|
Remove now-unnecessary CHECK_NATNUMs.
|
|
(Fdefine_charset_internal): Check ranges here, more carefully.
|
|
Don't rely on undefined behavior with signed left shift overflow.
|
|
Don't assume unsigned int fits into fixnum, or that fixnum fits
|
|
into unsigned int. Don't require max_code to be a valid fixnum;
|
|
that's not true for gb10830 4-byte on a 32-bit host. Allow
|
|
invalid_code to be a cons, for the same reason. Require code_offset
|
|
to be a character. Avoid int overflow if max_char is close
|
|
to INT_MAX.
|
|
(CODE_POINT_TO_INDEX): On 32-bit hosts, return int, not unsigned;
|
|
this is intended anyway and avoids some undefined behavior.
|
|
(load_charset_map): Pass unsigned, not int, as 2nd arg of
|
|
INDEX_TO_CODE_POINT, as that's what it expects.
|
|
(Funify_charset, encode_char): Don't stuff unsigned vals into int vars.
|
|
* charset.h (DECODE_CHAR): Return int, not unsigned;
|
|
this is what was intended anyway, and it avoids undefined behavior.
|
|
(CHARSET_OFFSET): Remove unused macro, instead of fixing its
|
|
integer-overflow issues.
|
|
(ENCODE_CHAR): Return unsigned on all hosts, not just on 32-bit hosts.
|
|
Formerly, it returned EMACS_INT on 64-bit hosts in the common case
|
|
where the argument is EMACS_INT, and this behavior is not intended.
|
|
* chartab.c (Fmake_char_table, Fset_char_table_range)
|
|
(uniprop_get_decoder, uniprop_get_encoder):
|
|
Don't assume fixnum fits in int.
|
|
* cmds.c (move_point): New function, that does the gist of
|
|
Fforward_char and Fbackward_char, but does so while checking
|
|
for integer overflow more accurately.
|
|
(Fforward_char, Fbackward_char): Use it.
|
|
(Fforward_line, Fend_of_line, internal_self_insert)
|
|
(internal_self_insert):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
Fix a FIXME, by checking for integer overflow when calculating
|
|
target_clm and actual_clm.
|
|
* coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR)
|
|
(CODING_ENCODE_CHAR, CODING_CHAR_CHARSET, CODING_CHAR_CHARSET_P)
|
|
(ASSURE_DESTINATION, coding_alloc_by_realloc)
|
|
(coding_alloc_by_making_gap, alloc_destination)
|
|
(detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16)
|
|
(encode_coding_utf_16, detect_coding_emacs_mule)
|
|
(decode_coding_emacs_mule, encode_coding_emacs_mule)
|
|
(detect_coding_iso_2022, decode_coding_iso_2022)
|
|
(encode_invocation_designation, encode_designation_at_bol)
|
|
(encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
|
|
(decode_coding_sjis, decode_coding_big5, encode_coding_sjis)
|
|
(encode_coding_big5, detect_coding_ccl, decode_coding_ccl)
|
|
(encode_coding_ccl, encode_coding_raw_text)
|
|
(detect_coding_charset, decode_coding_charset)
|
|
(encode_coding_charset, detect_eol, decode_eol, produce_chars)
|
|
(produce_composition, produce_charset, produce_annotation)
|
|
(decode_coding, handle_composition_annotation)
|
|
(handle_charset_annotation, consume_chars, decode_coding_gap)
|
|
(decode_coding_object, encode_coding_object, detect_coding_system)
|
|
(Ffind_coding_systems_region_internal, Fcheck_coding_systems_region)
|
|
(code_convert_region, code_convert_string)
|
|
(Fdefine_coding_system_internal)
|
|
(coding_set_source, coding_set_destination):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(setup_iso_safe_charsets, consume_chars, Funencodable_char_position)
|
|
(Fdefine_coding_system_internal):
|
|
Don't assume fixnums fit in int.
|
|
(decode_coding_gap, decode_coding_object, encode_coding_object)
|
|
(Fread_coding_system, Fdetect_coding_region)
|
|
(Funencodable_char_position, Fcheck_coding_systems_region)
|
|
(get_translation, handle_composition_annotation, consume_chars):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(consume_chars): Rewrite to not calculate an address outside buffer.
|
|
(Ffind_operation_coding_system): NATNUMP can eval its arg twice.
|
|
Don't access memory outside of the args array.
|
|
(Fdefine_coding_system_internal): Check for charset-id overflow.
|
|
(ENCODE_ISO_CHARACTER): Use unsigned, not int, to store the unsigned
|
|
result of ENCODE_CHAR.
|
|
* coding.h: Adjust decls to match defn changes elsewhere.
|
|
(struct coding_system):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* composite.c (get_composition_id, find_composition)
|
|
(run_composition_function, update_compositions)
|
|
(compose_text, composition_gstring_put_cache)
|
|
(composition_gstring_p, composition_gstring_width)
|
|
(fill_gstring_header, fill_gstring_body, autocmp_chars)
|
|
(composition_compute_stop_pos, composition_reseat_it)
|
|
(composition_update_it, struct position_record)
|
|
(find_automatic_composition, composition_adjust_point)
|
|
(Fcomposition_get_gstring, Ffind_composition_internal):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(update_compositions):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* composite.h: Adjust decls to match defn changes elsewhere.
|
|
(struct composition):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
|
|
Do not attempt to compute the address of the object just before a
|
|
buffer; this is not portable.
|
|
(Faref, Faset):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Faset): Use int, not EMACS_INT, where int is wide enough.
|
|
(Fstring_to_number): Don't assume fixnums fit in int.
|
|
(Frem): Don't assume arg is nonnegative.
|
|
* dbusbind.c (xd_append_arg): Check for integers out of range.
|
|
(Fdbus_call_method): Don't overflow the timeout int.
|
|
(extract_signed, extract_unsigned): New functions.
|
|
(XD_CHECK_DBUS_SERIAL): Remove; superseded by extract_unsigned.
|
|
(xd_get_connection_references): Return ptrdiff_t, not int.
|
|
All uses changed.
|
|
(xd_signature, xd_append_arg, xd_retrieve_arg, Fdbus_message_internal)
|
|
(xd_read_message_1):
|
|
Use int, not unsigned, where the dbus API uses int.
|
|
(Fdbus_message_internal): Don't overflow mtype.
|
|
(syms_of_dbusbind): Allocate right-sized buffer for integers.
|
|
* dired.c (directory_files_internal, file_name_completion, scmp)
|
|
(file_name_completion_stat):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(file_name_completion): Don't overflow matchcount.
|
|
(file_name_completion_stat): Use SAFE_ALLOCA, not alloca.
|
|
* dispextern.h: Adjust decls to match defn changes elsewhere.
|
|
(struct text_pos, struct glyph, struct bidi_saved_info)
|
|
(struct bidi_string_data, struct bidi_it, struct composition_it)
|
|
(struct it):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(struct display_pos, struct composition_it, struct it):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* dispnew.c (increment_matrix_positions)
|
|
(increment_row_positions, mode_line_string)
|
|
(marginal_area_string):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(change_frame_size_1, Fredisplay, Fframe_or_buffer_changed_p):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(duration_to_sec_usec): New function, to check for overflow better.
|
|
(Fsleep_for, sit_for): Use it.
|
|
* doc.c (get_doc_string, store_function_docstring):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(get_doc_string, Fsnarf_documentation):
|
|
Use int, not EMACS_INT, where int is wide enough.
|
|
(get_doc_string):
|
|
Use SAFE_ALLOCA, not alloca.
|
|
Check for overflow when converting EMACS_INT to off_t.
|
|
* doprnt.c (doprnt):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* editfns.c (init_editfns, Fuser_uid, Fuser_real_uid):
|
|
Don't assume uid_t fits into fixnum.
|
|
(buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field)
|
|
(Ffield_string, Ffield_string_no_properties, Ffield_beginning)
|
|
(Ffield_end, Fconstrain_to_field, Fline_beginning_position)
|
|
(Fline_end_position, Fprevious_char, Fchar_after, Fchar_before)
|
|
(general_insert_function)
|
|
(Finsert_char, make_buffer_string, make_buffer_string_both)
|
|
(update_buffer_properties, Fbuffer_substring)
|
|
(Fbuffer_substring_no_properties, Fcompare_buffer_substrings)
|
|
(Fsubst_char_in_region, check_translation)
|
|
(Ftranslate_region_internal, save_restriction_restore, Fformat)
|
|
(transpose_markers, Ftranspose_regions):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(clip_to_bounds): Move to lisp.h as an inline function).
|
|
(Fconstrain_to_field): Don't assume integers are nonnegative.
|
|
(Fline_beginning_position, Fsave_excursion, Fsave_current_buffer):
|
|
(Fsubst_char_in_region, Fsave_restriction):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Femacs_pid): Don't assume pid_t fits into fixnum.
|
|
(lo_time): Use int, not EMACS_INT, when int suffices.
|
|
(lisp_time_argument): Check for usec out of range.
|
|
(Fencode_time): Don't assume fixnum fits in int.
|
|
(Fuser_login_name, Fuser_full_name): Signal an error
|
|
if a uid argument is out of range, rather than relying on
|
|
undefined behavior.
|
|
(Fformat_time_string): Remove now-unnecessary check.
|
|
lisp_time_argument checks for out-of-range usec now.
|
|
Use ptrdiff_t, not size_t, where ptrdiff_t will do.
|
|
* emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT.
|
|
(gdb_data_seg_bits): Now uintptr_t, not EMACS_INT.
|
|
(PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT.
|
|
(init_cmdargs, Fdump_emacs):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fkill_emacs): Don't assume fixnum fits in int; instead, take just
|
|
the bottom (typically) 32 bits of the fixnum.
|
|
* eval.c (specpdl_size, call_debugger):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(when_entered_debugger, Fbacktrace_debug):
|
|
Don't assume fixnum can fit in int.
|
|
(Fdefvaralias, Fdefvar): Do not attempt to compute the address of
|
|
the object just before a buffer; this is not portable.
|
|
(FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda)
|
|
(grow_specpdl, unbind_to):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum.
|
|
(grow_specpdl): Simplify allocation by using xpalloc.
|
|
(Fprog1, Fprog2): Don't assume list length fits in int. Simplify.
|
|
* fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file)
|
|
(Finsert_file_contents, Fwrite_region, Fdo_auto_save):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents)
|
|
(a_write, e_write):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fcopy_file, non_regular_nbytes, read_non_regular)
|
|
(Finsert_file_contents):
|
|
Use int, not EMACS_INT, where int is wide enough.
|
|
(READ_BUF_SIZE): Verify that it fits in int.
|
|
(Finsert_file_contents): Check that counts are in proper range,
|
|
rather than assuming fixnums fit into ptrdiff_t etc.
|
|
Don't assume fixnums fit into int.
|
|
* floatfns.c (Fexpt): Avoid undefined signed * signed overflow.
|
|
* fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec, concat)
|
|
(string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
|
|
(string_char_to_byte, string_byte_to_char)
|
|
(string_make_multibyte, string_to_multibyte)
|
|
(string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte)
|
|
(Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties)
|
|
(substring_both, Fdelete, internal_equal, Ffillarray)
|
|
(Fclear_string, mapcar1)
|
|
(Fbase64_encode_region, Fbase64_encode_string, base64_encode_1)
|
|
(Fbase64_decode_region, Fbase64_decode_string, base64_decode_1)
|
|
(larger_vector, make_hash_table, maybe_resize_hash_table)
|
|
(hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table)
|
|
(Fmaphash, secure_hash):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(concat): Check for string index and length overflow.
|
|
(Fmapconcat): Don't assume fixnums fit into ptrdiff_t.
|
|
(Frequire):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(larger_vector): New API (vec, incr_min, size_max) replaces old
|
|
one (vec, new_size, init). This catches size overflow.
|
|
INIT was removed because it was always Qnil.
|
|
All callers changed.
|
|
(INDEX_SIZE_BOUND): New macro, which calculates more precisely
|
|
the upper bound on a hash table index size.
|
|
(make_hash_table, maybe_resize_hash_table): Use it.
|
|
(secure_hash): Computer start_byte and end_byte only after
|
|
they're known to be in ptrdiff_t range.
|
|
* font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring)
|
|
(Ffont_get_glyphs, Ffont_at):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(font_style_to_value, font_prop_validate_style, font_expand_wildcards)
|
|
(Flist_fonts, Fopen_font):
|
|
Don't assume fixnum can fit in int.
|
|
(check_gstring): Don't assume index can fit in int.
|
|
(font_match_p): Check that fixnum is a character, not a nonnegative
|
|
fixnum, since the later code needs to stuff it into an int.
|
|
(font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca.
|
|
(font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid
|
|
conversion overflow issues.
|
|
(Fopen_font): Check for integer out of range.
|
|
(Ffont_get_glyphs): Don't assume index can fit in int.
|
|
* font.h: Adjust decls to match defn changes elsewhere.
|
|
* fontset.c (reorder_font_vector): Redo score calculation to avoid
|
|
integer overflow.
|
|
(num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not
|
|
printmax_t, where ptrdiff_t is wide enough.
|
|
(Finternal_char_font):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* frame.c (Fset_mouse_position, Fset_mouse_pixel_position)
|
|
(Fset_frame_height, Fset_frame_width, Fset_frame_size)
|
|
(Fset_frame_position, x_set_frame_parameters)
|
|
(x_set_line_spacing, x_set_border_width)
|
|
(x_set_internal_border_width, x_set_alpha, x_figure_window_size):
|
|
Check that fixnums are in proper range for system types.
|
|
(frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fmodify_frame_parameters): Don't assume fixnum fits in int.
|
|
Use SAFE_ALLOCA_LISP, not alloca.
|
|
* frame.h (struct frame): Use intptr_t, not EMACS_INT, where
|
|
intptr_t is wide enough.
|
|
* fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap)
|
|
(Fdefine_fringe_bitmap): Don't assume fixnum fits in int.
|
|
(Ffringe_bitmaps_at_pos): Don't assume index fits in int.
|
|
Check for fixnum out of range.
|
|
* ftfont.c (ftfont_list): Don't assume index fits in int.
|
|
Check that fixnums are in proper range for system types.
|
|
(ftfont_shape_by_flt):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot):
|
|
Check that fixnums are in proper range for system types.
|
|
* gnutls.h: Adjust decls to match defn changes elsewhere.
|
|
* gtkutil.c (xg_dialog_run):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(update_frame_tool_bar):
|
|
Check that fixnums are in proper range for system types.
|
|
* image.c (parse_image_spec): Redo count calculation to avoid overflow.
|
|
(lookup_image): Check that fixnums are in range for system types.
|
|
* indent.c (last_known_column, last_known_column_point):
|
|
(current_column_bol_cache):
|
|
(skip_invisible, current_column, check_display_width):
|
|
(check_display_width, scan_for_column, current_column_1)
|
|
(Findent_to, Fcurrent_indentation, position_indentation)
|
|
(indented_beyond_p, Fmove_to_column, compute_motion):
|
|
(Fcompute_motion, Fvertical_motion):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(last_known_column_modified): Use EMACS_INT, not int.
|
|
(check_display_width):
|
|
(Fcompute_motion):
|
|
Check that fixnums and floats are in proper range for system types.
|
|
(compute_motion): Don't assume index or fixnum fits in int.
|
|
(compute_motion, Fcompute_motion):
|
|
Use int, not EMACS_INT, when it is wide enough.
|
|
(vmotion): Omit local var start_hpos that is always 0; that way
|
|
we don't need to worry about overflow in expressions involving it.
|
|
* indent.h: Adjust decls to match defn changes elsewhere.
|
|
(struct position):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
Use int, not EMACS_INT, where int is wide enough.
|
|
Remove unused members ovstring_chars_done and tab_offset;
|
|
all uses removed.
|
|
* insdel.c (move_gap, move_gap_both, gap_left, gap_right)
|
|
(adjust_markers_for_delete, adjust_markers_for_insert, adjust_point)
|
|
(adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
|
|
(make_gap, copy_text, insert, insert_and_inherit)
|
|
(insert_before_markers, insert_before_markers_and_inherit)
|
|
(insert_1, count_combining_before, count_combining_after)
|
|
(insert_1_both, insert_from_string)
|
|
(insert_from_string_before_markers, insert_from_string_1)
|
|
(insert_from_gap, insert_from_buffer, insert_from_buffer_1)
|
|
(adjust_after_replace, adjust_after_insert, replace_range)
|
|
(replace_range_2, del_range, del_range_1, del_range_byte)
|
|
(del_range_both, del_range_2, modify_region)
|
|
(prepare_to_modify_buffer, signal_before_change)
|
|
(signal_after_change, Fcombine_after_change_execute):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* intervals.c (traverse_intervals, rotate_right, rotate_left)
|
|
(balance_an_interval, split_interval_right, split_interval_left)
|
|
(find_interval, next_interval, update_interval)
|
|
(adjust_intervals_for_insertion, delete_node, delete_interval)
|
|
(interval_deletion_adjustment, adjust_intervals_for_deletion)
|
|
(static_offset_intervals, offset_intervals)
|
|
(merge_interval_right, merge_interval_left, make_new_interval)
|
|
(graft_intervals_into_buffer, temp_set_point_both)
|
|
(temp_set_point, set_point, adjust_for_invis_intang)
|
|
(set_point_both, move_if_not_intangible, get_property_and_range)
|
|
(get_local_map, copy_intervals, copy_intervals_to_string)
|
|
(compare_string_intervals, set_intervals_multibyte_1):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* intervals.h: Adjust decls to match defn changes elsewhere.
|
|
(struct interval):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* keyboard.c (this_command_key_count, this_single_command_key_start)
|
|
(before_command_key_count, before_command_echo_length, echo_now)
|
|
(echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse)
|
|
(command_loop_1, safe_run_hooks, read_char, timer_check_2)
|
|
(menu_item_eval_property, read_key_sequence, Fread_key_sequence)
|
|
(Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(last_non_minibuf_size, last_point_position, echo_truncate)
|
|
(command_loop_1, adjust_point_for_property, read_char, gen_help_event)
|
|
(make_lispy_position, make_lispy_event, parse_modifiers_uncached)
|
|
(parse_modifiers, modify_event_symbol, Fexecute_extended_command)
|
|
(stuff_buffered_input):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(last_auto_save, command_loop_1, read_char):
|
|
Use EMACS_INT, not int, to avoid integer overflow.
|
|
(record_char): Avoid overflow in total_keys computation.
|
|
(parse_modifiers_uncached): Redo index calculation to avoid overflow.
|
|
* keyboard.h: Adjust decls to match defn changes elsewhere.
|
|
* keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1)
|
|
(Fkey_description, Fdescribe_vector, Flookup_key):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(click_position): New function, to check that positions are in range.
|
|
(Fcurrent_active_maps):
|
|
(describe_command):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Faccessible_keymaps, Fkey_description):
|
|
(preferred_sequence_p):
|
|
Don't assume fixnum can fit into int.
|
|
(Fkey_description): Use SAFE_ALLOCA_LISP, not alloca.
|
|
Check for integer overflow in size calculations.
|
|
(Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to
|
|
avoid mishandling large integers.
|
|
* lisp.h: Adjust decls to match defn changes elsewhere.
|
|
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String)
|
|
(struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table)
|
|
(struct Lisp_Marker):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(clip_to_bounds): Now an inline function, moved here from editfns.c.
|
|
(GLYPH_CODE_P): Check for overflow in system types, subsuming the
|
|
need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves.
|
|
All callers changed.
|
|
(GLYPH_CODE_CHAR, GLYPH_CODE_FACE):
|
|
Assume the arg has valid form, since it always does.
|
|
(TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide
|
|
unsigned integer system type.
|
|
(CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros.
|
|
(struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(struct catchtag): Use EMACS_INT, not int, since it may be a fixnum.
|
|
(duration_to_sec_usec): New decl.
|
|
* lread.c (read_from_string_index, read_from_string_index_byte)
|
|
(read_from_string_limit, readchar, unreadchar, openp)
|
|
(read_internal_start, read1, oblookup):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fload, readevalloop, Feval_buffer, Feval_region):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(openp): Check for out-of-range argument to 'access'.
|
|
(read1): Use int, not EMACS_INT, where int is wide enough.
|
|
Don't assume fixnum fits into int.
|
|
Fix off-by-one error that can read outside a buffer.
|
|
(read_filtered_event): Use duration_to_sec_usec
|
|
to do proper overflow checking on durations.
|
|
* macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow
|
|
in size calculation.
|
|
(Fexecute_kbd_macro):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* marker.c (cached_charpos, cached_bytepos, CONSIDER)
|
|
(byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos)
|
|
(buf_bytepos_to_charpos, Fset_marker, set_marker_restricted)
|
|
(set_marker_both, set_marker_restricted_both, marker_position)
|
|
(marker_byte_position, Fbuffer_has_markers_at):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fset_marker, set_marker_restricted): Don't assume fixnum fits in int.
|
|
* menu.c (ensure_menu_items): Rename from grow_menu_items.
|
|
It now merely ensures that the menu is large enough, without
|
|
necessarily growing it, as this avoids some integer overflow issues.
|
|
All callers changed.
|
|
(keymap_panes, parse_single_submenu, Fx_popup_menu):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int.
|
|
Use SAFE_ALLOCA_LISP, not alloca.
|
|
(find_and_return_menu_selection): Avoid unnecessary casts of pointers
|
|
to EMACS_INT. Check that fixnums are in proper range for system types.
|
|
* minibuf.c (minibuf_prompt_width, string_to_object)
|
|
(Fminibuffer_contents, Fminibuffer_contents_no_properties)
|
|
(Fminibuffer_completion_contents, Ftry_completion, Fall_completions):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(get_minibuffer, read_minibuf_unwind):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil;
|
|
this simplifies overflow checking. All callers changed.
|
|
(read_minibuf, Fread_buffer, Ftry_completion, Fall_completions)
|
|
(Ftest_completion):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* nsfns.m (check_ns_display_info): Don't assume fixnum fits in long.
|
|
(x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame):
|
|
Check that fixnums are in proper range for system types.
|
|
(Fx_create_frame, Fx_show_tip):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* nsfont.m (ns_findfonts, nsfont_list_family):
|
|
Don't assume fixnum fits in long.
|
|
* nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is
|
|
wide enough.
|
|
* nsselect.m (ns_get_local_selection, clean_local_selection_data):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte)
|
|
(PRINTDECLARE, PRINTPREPARE):
|
|
(strout, print_string):
|
|
(print, print_preprocess, print_check_string_charset_prop)
|
|
(print_object):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(PRINTDECLARE):
|
|
(temp_output_buffer_setup, Fprin1_to_string, print_object):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough.
|
|
(printchar, strout): Use xpalloc to catch size calculation overflow.
|
|
(Fexternal_debugging_output): Don't overflow EMACS_INT->int conversion.
|
|
(print_error_message): Use SAFE_ALLOCA, not alloca.
|
|
(print_object): Use int, not EMACS_INT, where int is wide enough.
|
|
(print_depth, new_backquote_output, print_number_index):
|
|
Use ptrdiff_t, not int, where int might not be wide enough.
|
|
* process.c (Fdelete_process): Don't assume pid fits into EMACS_INT.
|
|
(Fset_process_window_size, Fformat_network_address)
|
|
(get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process)
|
|
(sigchld_handler):
|
|
Check that fixnums are in proper range for system types.
|
|
(Fsignal_process): Simplify by avoiding a goto.
|
|
Check for process-ids out of pid_t range rather than relying on
|
|
undefined behavior.
|
|
(process_tick, update_tick): Use EMACS_INT, not int.
|
|
(Fformat_network_address, read_process_output, send_process)
|
|
(Fprocess_send_region, status_notify):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fformat_network_address, Fmake_serial_process, Fmake_network_process)
|
|
(wait_reading_process_output, read_process_output, exec_sentinel):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(conv_lisp_to_sockaddr): Don't assume fixnums fit into int.
|
|
(Faccept_process_output): Use duration_to_sec_usec to do proper
|
|
overflow checking on durations.
|
|
(emacs_get_tty_pgrp, Fprocess_running_child_p, process_send_signal):
|
|
Don't assume pid_t fits in int.
|
|
* process.h (struct Lisp_Process): Members tick and update_tick
|
|
are now of type EMACS_INT, not int.
|
|
* puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts
|
|
configured --with-wide-int.
|
|
* scroll.c (calculate_scrolling, calculate_direct_scrolling)
|
|
(line_ins_del): Use int, not EMACS_INT, where int is wide enough.
|
|
* search.c (looking_at_1, string_match_1):
|
|
(fast_string_match, fast_c_string_match_ignore_case)
|
|
(fast_string_match_ignore_case, fast_looking_at, scan_buffer)
|
|
(scan_newline, find_before_next_newline, search_command)
|
|
(trivial_regexp_p, search_buffer, simple_search, boyer_moore)
|
|
(set_search_regs, wordify):
|
|
(Freplace_match):
|
|
(Fmatch_data):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(string_match_1, search_buffer, set_search_regs):
|
|
(Fmatch_data):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(wordify): Check for overflow in size calculation.
|
|
(Freplace_match): Avoid potential buffer overflow in search_regs.start.
|
|
(Fset_match_data): Don't assume fixnum fits in ptrdiff_t.
|
|
Check that fixnums are in proper range for system types.
|
|
* sound.c (struct sound_device)
|
|
(wav_play, au_play, vox_write, alsa_period_size, alsa_write):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fplay_sound_internal):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* syntax.c (struct lisp_parse_state, find_start_modiff)
|
|
(Finternal_describe_syntax_value, scan_lists, scan_sexps_forward):
|
|
(Fparse_partial_sexp):
|
|
Don't assume fixnums can fit in int.
|
|
(struct lisp_parse_state, find_start_pos, find_start_value)
|
|
(find_start_value_byte, find_start_begv)
|
|
(update_syntax_table, char_quoted, dec_bytepos)
|
|
(find_defun_start, prev_char_comend_first, back_comment):
|
|
(scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment)
|
|
(scan_lists, Fbackward_prefix_chars, scan_sexps_forward):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Finternal_describe_syntax_value): Check that match_lisp is a
|
|
character, not an integer, since the code stuffs it into int.
|
|
(scan_words, scan_sexps_forward):
|
|
Check that fixnums are in proper range for system types.
|
|
(Fforward_word):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(scan_sexps_forward):
|
|
Use CHARACTERP, not INTEGERP, since the value must fit into int.
|
|
(Fparse_partial_sexp): Fix doc; element 8 is not ignored.
|
|
* syntax.h: Adjust decls to match defn changes elsewhere.
|
|
(struct gl_state_s):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(SETUP_SYNTAX_TABLE_FOR_OBJECT): Use PTRDIFF_MAX, not
|
|
MOST_POSITIVE_FIXNUM.
|
|
* sysdep.c (wait_for_termination_1, wait_for_termination)
|
|
(interruptible_wait_for_termination, mkdir):
|
|
Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit.
|
|
(emacs_read, emacs_write):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(system_process_attributes): Don't assume uid_t, gid_t, EMACS_INT,
|
|
and double all fit in int.
|
|
* term.c (set_tty_color_mode):
|
|
Check that fixnums are in proper range for system types.
|
|
* termhooks.h (struct input_event):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* textprop.c (validate_interval_range, interval_of)
|
|
(Fadd_text_properties, set_text_properties_1)
|
|
(Fremove_text_properties, Fremove_list_of_text_properties)
|
|
(Ftext_property_any, Ftext_property_not_all)
|
|
(copy_text_properties, text_property_list, extend_property_ranges)
|
|
(verify_interval_modification):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fnext_single_char_property_change)
|
|
(Fprevious_single_char_property_change):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(copy_text_properties):
|
|
Check for integer overflow in index calculation.
|
|
* undo.c (last_boundary_position, record_point, record_insert)
|
|
(record_delete, record_marker_adjustment, record_change)
|
|
(record_property_change):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int.
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
|
|
(Fx_hide_tip, Fx_file_dialog):
|
|
* w32menu.c (set_frame_menubar):
|
|
Use ptrdiff_t, not int, for consistency with rest of code.
|
|
* window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos)
|
|
(select_window, Fdelete_other_windows_internal)
|
|
(window_scroll_pixel_based, window_scroll_line_based)
|
|
(Frecenter, Fset_window_configuration):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(Fset_window_hscroll, run_window_configuration_change_hook)
|
|
(set_window_buffer, temp_output_buffer_show, scroll_command)
|
|
(Fscroll_other_window, Frecenter):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right):
|
|
Don't assume fixnum fits in int.
|
|
(Fset_window_scroll_bars):
|
|
Check that fixnums are in proper range for system types.
|
|
* xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead)
|
|
(string_pos, c_string_pos, number_of_chars, init_iterator)
|
|
(in_ellipses_for_invisible_text_p, init_from_display_pos)
|
|
(compute_stop_pos, next_overlay_change, compute_display_string_pos)
|
|
(compute_display_string_end, handle_face_prop)
|
|
(face_before_or_after_it_pos, handle_invisible_prop)
|
|
(handle_display_prop, handle_display_spec, handle_single_display_spec)
|
|
(display_prop_intangible_p, string_buffer_position_lim)
|
|
(string_buffer_position, handle_composition_prop, load_overlay_strings)
|
|
(get_overlay_strings_1, get_overlay_strings)
|
|
(iterate_out_of_display_property, forward_to_next_line_start)
|
|
(back_to_previous_visible_line_start, reseat, reseat_to_string)
|
|
(get_next_display_element, set_iterator_to_next)
|
|
(get_visually_first_element, compute_stop_pos_backwards)
|
|
(handle_stop_backwards, next_element_from_buffer)
|
|
(move_it_in_display_line_to, move_it_in_display_line)
|
|
(move_it_to, move_it_vertically_backward, move_it_by_lines)
|
|
(add_to_log, message_dolog, message_log_check_duplicate)
|
|
(message2, message2_nolog, message3, message3_nolog
|
|
(with_echo_area_buffer, display_echo_area_1, resize_mini_window_1)
|
|
(current_message_1, truncate_echo_area, truncate_message_1)
|
|
(set_message, set_message_1, store_mode_line_noprop)
|
|
(hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos)
|
|
(text_outside_line_unchanged_p, check_point_in_composition)
|
|
(reconsider_clip_changes)
|
|
(redisplay_internal, set_cursor_from_row, try_scrolling)
|
|
(try_cursor_movement, set_vertical_scroll_bar, redisplay_window)
|
|
(redisplay_window, find_last_unchanged_at_beg_row)
|
|
(find_first_unchanged_at_end_row, row_containing_pos, try_window_id)
|
|
(trailing_whitespace_p, find_row_edges, display_line)
|
|
(RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction)
|
|
(display_mode_element, store_mode_line_string)
|
|
(pint2str, pint2hrstr, decode_mode_spec)
|
|
(display_count_lines, display_string, draw_glyphs)
|
|
(x_produce_glyphs, x_insert_glyphs)
|
|
(rows_from_pos_range, mouse_face_from_buffer_pos)
|
|
(fast_find_string_pos, mouse_face_from_string_pos)
|
|
(note_mode_line_or_margin_highlight, note_mouse_highlight):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(safe_call, init_from_display_pos, handle_fontified_prop)
|
|
(handle_single_display_spec, load_overlay_strings)
|
|
(with_echo_area_buffer, setup_echo_area_for_printing)
|
|
(display_echo_area, echo_area_display)
|
|
(x_consider_frame_title, prepare_menu_bars, update_menu_bar)
|
|
(update_tool_bar, hscroll_window_tree, redisplay_internal)
|
|
(redisplay_window, dump_glyph_row, display_mode_line)
|
|
(Fformat_mode_line, decode_mode_spec, on_hot_spot_p):
|
|
(handle_display_spec, display_prop_string_p):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(handle_single_display_spec, build_desired_tool_bar_string)
|
|
(redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix)
|
|
(get_specified_cursor_type):
|
|
Check that fixnums are in proper range for system types.
|
|
(struct overlay_entry, resize_mini_window, Fdump_glyph_row)
|
|
(Flookup_image_map):
|
|
Don't assume fixnums fit in int.
|
|
(compare_overlay_entries):
|
|
Avoid mishandling comparisons due to subtraction overflow.
|
|
(load_overlay_strings): Use SAFE_NALLOCA, not alloca.
|
|
(last_escape_glyph_face_id, last_glyphless_glyph_face_id):
|
|
(handle_tool_bar_click):
|
|
Use int, not unsigned, since we prefer signed and the signedness
|
|
doesn't matter here.
|
|
(get_next_display_element, next_element_from_display_vector):
|
|
Use int, not EMACS_INT, when int is wide enough.
|
|
(start_hourglass): Use duration_to_sec_usec to do proper
|
|
overflow checking on durations.
|
|
* xfaces.c (Fbitmap_spec_p):
|
|
Check that fixnums are in proper range for system types.
|
|
(compare_fonts_by_sort_order):
|
|
Avoid mishandling comparisons due to subtraction overflow.
|
|
(Fx_family_fonts, realize_basic_faces):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fx_family_fonts):
|
|
Don't assume fixnum fits in int.
|
|
Use SAFE_ALLOCA_LISP, not alloca.
|
|
(merge_face_heights): Remove unnecessary cast to EMACS_INT.
|
|
(Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID.
|
|
(face_at_buffer_position, face_for_overlay_string)
|
|
(face_at_string_position):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
(merge_faces): Use int, not EMACS_INT, where int is wide enough.
|
|
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify)
|
|
(Fx_show_tip):
|
|
Check that fixnums are in proper range for system types.
|
|
(Fx_create_frame, x_create_tip_frame, Fx_show_tip)
|
|
(Fx_hide_tip, Fx_file_dialog, Fx_select_font):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(Fx_change_window_property): Don't assume fixnums fit in int.
|
|
* xfont.c (xfont_chars_supported):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* xmenu.c (Fx_popup_dialog, set_frame_menubar)
|
|
(create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* xml.c (parse_region):
|
|
* xrdb.c (magic_file_p):
|
|
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
|
|
* xselect.c (TRACE1): Don't assume pid_t promotes to int.
|
|
(x_get_local_selection, x_reply_selection_request)
|
|
(x_handle_selection_request, wait_for_property_change):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
(selection_data_to_lisp_data): Use short, not EMACS_INT, where
|
|
short is wide enough.
|
|
(x_send_client_event): Don't assume fixnum fits in int.
|
|
* xterm.c (x_x_to_emacs_modifiers):
|
|
Don't assume EMACS_INT overflows nicely into int.
|
|
(x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values
|
|
may come from Lisp.
|
|
(handle_one_xevent): NATNUMP can eval its arg twice.
|
|
(x_connection_closed):
|
|
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
|
|
* xterm.h: Adjust decls to match defn changes elsewhere.
|
|
(struct scroll_bar): Use struct vectorlike_header
|
|
rather than rolling our own approximation.
|
|
(SCROLL_BAR_VEC_SIZE): Remove; not used.
|
|
|
|
2012-05-25 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lisp.mk (lisp): Update for more files being compiled now.
|
|
|
|
2012-05-25 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lread.c: Remove `read_pure' which makes no difference.
|
|
(read_pure): Remove var.
|
|
(unreadpure): Remove function.
|
|
(readevalloop): Don't call read_list with -1 flag.
|
|
(read1, read_vector): Don't test read_pure any more.
|
|
(read_list): Simplify.
|
|
|
|
* fileio.c, character.h: Minor style tweaks.
|
|
|
|
2012-05-24 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.h (clip_changed): Remove useless declaration.
|
|
|
|
2012-05-22 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu.
|
|
(TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h.
|
|
|
|
2012-05-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Remove src/m/*.
|
|
This directory predates autoconf and is no longer needed nowadays.
|
|
Move its few remaining bits of functionality to where they're needed.
|
|
* m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h:
|
|
* m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h:
|
|
* m/template.h: Remove.
|
|
* Makefile.in (M_FILE): Remove. All uses removed.
|
|
* alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
|
|
* lisp.h (USE_LSB_TAG):
|
|
* mem-limits.h (EXCEEDS_LISP_PTR):
|
|
Use VAL_MAX, not VALBITS, in #if.
|
|
* lisp.h (EMACS_INT_MAX): New macro, useful in #if.
|
|
(EMACS_UINT): Define unconditionally now.
|
|
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
|
|
(BITS_PER_EMACS_INT): New constants, replacing
|
|
what used to be in config.h, but not useful in #if.
|
|
(GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
|
|
define them any more.
|
|
(VAL_MAX): New macro.
|
|
(VALMASK): Use it.
|
|
* puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
|
|
BITS_PER_EMACS_INT, in #if.
|
|
* s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
|
|
(BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
|
|
* s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
|
|
* s/ms-w32.h (DATA_START):
|
|
Move here from removed file m/intel386.h.
|
|
* s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
|
|
* s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
|
|
|
|
2012-05-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Assume C89 or later.
|
|
* alloc.c, buffer.c, lisp.h: Replace POINTER_TYPE with void.
|
|
* alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc)
|
|
(xrealloc):
|
|
* buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts.
|
|
* editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL):
|
|
* textprop.c, tparam.c (NULL): Remove.
|
|
* ralloc.c, vm-limit.c (POINTER): Assume void * works.
|
|
* regex.c (SIGN_EXTEND_CHAR): Assume signed char works.
|
|
* regex.h (_RE_ARGS): Remove. All uses rewritten to use prototypes.
|
|
* unexelf.c (ElfBitsW): Assume c89 preprocessor or better.
|
|
* xterm.c (input_signal_count): Assume volatile works.
|
|
|
|
2012-05-21 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* xgselect.c (xg_select): Fix first argument in call to 'select'
|
|
(bug#11508).
|
|
|
|
2012-05-20 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* gmalloc.c (_free_internal_nolock, _realloc_internal_nolock)
|
|
[CYGWIN]: Cast ptr to (char *) before comparing to _heapbase.
|
|
|
|
2012-05-19 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* xfns.c (x_in_use): Remove `static' qualifier.
|
|
* xterm.h (x_in_use): Declare.
|
|
* xgselect.c: Include xterm.h.
|
|
(xg_select): Test `x_in_use' instead of `inhibit_window_system'
|
|
and `display_arg' (bug#9754).
|
|
|
|
2012-05-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* s/ms-w32.h (HAVE_GETDOMAINNAME): Remove; not needed.
|
|
|
|
* m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed.
|
|
* s/ms-w32.h (HAVE_FTIME): Remove; not needed.
|
|
|
|
2012-05-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows.
|
|
|
|
* w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font.
|
|
(x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c
|
|
|
|
* w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken
|
|
reference to image_cache->refcount.
|
|
(x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE.
|
|
|
|
2012-05-17 Juri Linkov <juri@jurta.org>
|
|
|
|
* search.c (Fword_search_regexp, Fword_search_backward)
|
|
(Fword_search_forward, Fword_search_backward_lax)
|
|
(Fword_search_forward_lax): Move functions to isearch.el
|
|
(bug#10145, bug#11381).
|
|
|
|
2012-05-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xgselect.c (xg_select): Just invoke 'select' if -nw (Bug#9754).
|
|
|
|
2012-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lread.c (init_obarray): Declare Qt and Qnil as special.
|
|
|
|
2012-05-14 Glenn Morris <rgm@gnu.org>
|
|
|
|
* nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec").
|
|
Put "libexec" before "bin", for the sake of init_callproc_1.
|
|
|
|
2012-05-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local.
|
|
|
|
* unexaix.c: Port to more-recent AIX compilers.
|
|
(report_error, report_error_1, make_hdr, copy_sym)
|
|
(mark_x, adjust_lnnoptrs, unrelocate_symbols):
|
|
Make arguments const char *, not char *, to avoid violations of C
|
|
standard and to fix some AIX warnings reported by Gilles Pion.
|
|
|
|
2012-05-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
|
|
already have overlays loaded.
|
|
(handle_single_display_spec): Before returning without displaying
|
|
fringe bitmap, synchronize the bidi iterator with the main display
|
|
iterator, by calling iterate_out_of_display_property.
|
|
(iterate_out_of_display_property): Detect buffer iteration by
|
|
testing that it->string is a Lisp string.
|
|
(get_next_display_element): When the current object is exhausted,
|
|
and there's something on it->stack, call set_iterator_to_next to
|
|
proceed with what's on the stack, instead of returning zero.
|
|
(set_iterator_to_next): If called at the end of a Lisp string,
|
|
proceed to consider_string_end without incrementing string
|
|
position. Don't increment display vector index past the end of
|
|
the display vector. (Bug#11417)
|
|
(pos_visible_p): Don't report a position visible when move_it_to
|
|
stopped at the last line of window, which happens to be scanned
|
|
backwards by the bidi iteration. (Bug#11464)
|
|
|
|
2012-05-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_single_display_spec): Return 1 for left-margin
|
|
and right-margin display specs even if the spec is invalid or we
|
|
are on a TTY, and thus unable to display on the fringes.
|
|
That's because the text with the property will not be displayed anyway,
|
|
so we need to signal to the caller that this is a "replacing"
|
|
display spec. This fixes display when the spec is invalid or we
|
|
are on a TTY.
|
|
|
|
2012-05-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* unexaix.c (make_hdr): Fix typo in prototype.
|
|
This bug broke the build on AIX. Problem reported by Gilles Pion.
|
|
|
|
2012-05-14 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* keyboard.c (kbd_buffer_get_event): Read special events also in
|
|
batch mode. (Bug#11415)
|
|
|
|
2012-05-12 Glenn Morris <rgm@gnu.org>
|
|
|
|
* ns.mk: Update for ns_appbindir no longer having trailing "/".
|
|
|
|
2012-05-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* lisp.mk (lisp): Add newcomment.elc.
|
|
|
|
2012-05-12 Glenn Morris <rgm@gnu.org>
|
|
|
|
* Makefile.in (MKDIR_P): New, set by configure.
|
|
* ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P.
|
|
|
|
2012-05-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Remove unused function hourglass_started.
|
|
* dispextern.h (hourglass_started):
|
|
* w32fns.c (hourglass_started):
|
|
* xdisp.c (hourglass_started): Remove.
|
|
|
|
2012-05-10 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/gmalloc.$(O), $(BLD)/w32menu.$(O)):
|
|
Update dependencies.
|
|
|
|
2012-05-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xgselect.c (xg_select): Put maxfds+1 into a var.
|
|
This is slightly clearer, and pacifies Ubuntu 12.04 gcc.
|
|
|
|
* sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA.
|
|
|
|
2012-05-10 Dave Abrahams <dave@boostpro.com>
|
|
|
|
* filelock.c (syms_of_filelock): New boolean create-lockfiles.
|
|
(lock_file): If create_lockfiles is 0, do nothing. (Bug#11227)
|
|
|
|
2012-05-09 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (xd_registered_buses): New internal Lisp object.
|
|
Rename all occurences of Vdbus_registered_buses to xd_registered_buses.
|
|
(syms_of_dbusbind): Remove declaration of Vdbus_registered_buses.
|
|
Initialize xd_registered_buses.
|
|
|
|
2012-05-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Untag more efficiently if USE_LSB_TAG.
|
|
This is based on a proposal by YAMAMOTO Mitsuharu in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg01876.html>.
|
|
For an admittedly artificial (nth 8000 longlist) benchmark on
|
|
Fedora 15 x86-64, this yields a 25% CPU speedup. Also, it shrinks
|
|
Emacs's overall text size by 1%.
|
|
* lisp.h (XUNTAG): New macro.
|
|
(XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW)
|
|
(XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR)
|
|
(XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it.
|
|
* eval.c (Fautoload):
|
|
* font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT):
|
|
* frame.h (XFRAME): Use XUNTAG.
|
|
|
|
Port recent dbusbind.c changes to 32-bit --with-wide-int.
|
|
* dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal):
|
|
Remove unportable assumptions about print widths of types like
|
|
dbus_uint32_t.
|
|
(xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to
|
|
intptr_t when converting between pointer and integer, to avoid GCC
|
|
warnings about wrong width.
|
|
|
|
2012-05-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32proc.c (new_child): Force Windows to reserve only 64KB of
|
|
stack for each reader_thread, instead of defaulting to 8MB
|
|
determined by the linker. This avoids failures in creating
|
|
subprocesses on Windows 7, see the discussion in this thread:
|
|
http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html.
|
|
|
|
2012-05-07 Jérémy Compostella <jeremy.compostella@gmail.com>
|
|
|
|
Fix up display of the *Minibuf-0* buffer in the mini window.
|
|
* keyboard.c (read_char): Don't clear the echo area if there's no
|
|
message to clear.
|
|
* xdisp.c (redisplay_internal): Redisplay the mini window (with the
|
|
contents of *Minibuf-0*) if there's no message displayed in its stead.
|
|
|
|
2012-05-07 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (XD_DEBUG_MESSAGE): Don't print message twice in
|
|
batch mode.
|
|
|
|
2012-05-06 Chong Yidong <cyd@gnu.org>
|
|
|
|
* lisp.mk (lisp): Update.
|
|
|
|
2012-05-05 Jim Meyering <meyering@redhat.com>
|
|
|
|
* w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372).
|
|
|
|
2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* data.c (PUT_ERROR): New macro.
|
|
(syms_of_data): Use it. Add new error type `user-error'.
|
|
* undo.c (user_error): New function.
|
|
(Fprimitive_undo): Use it.
|
|
* print.c (print_error_message): Adjust print style for `user-error'.
|
|
* keyboard.c (user_error): New function.
|
|
(Fexit_recursive_edit, Fabort_recursive_edit): Use it.
|
|
|
|
2012-05-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Do not limit current-time-string to years 1000..9999.
|
|
* editfns.c (TM_YEAR_IN_ASCTIME_RANGE): Remove.
|
|
(Fcurrent_time_string): Support any year that is supported by the
|
|
underlying localtime representation. Don't use asctime, as it
|
|
has undefined behavior for years outside the range -999..9999.
|
|
|
|
2012-05-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix race conditions involving setenv, gmtime, localtime, asctime.
|
|
Without this fix, interrupts could mess up code that uses these
|
|
nonreentrant functions, since setting TZ invalidates existing
|
|
tm_zone or tzname values, and since most of these functions return
|
|
pointers to static storage.
|
|
* editfns.c (format_time_string, Fdecode_time, Fencode_time)
|
|
(Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
|
|
Grow the critical sections to include not just invoking
|
|
localtime/gmtime, but also accessing these functions' results
|
|
including their tm_zone values if any, and any related TZ setting.
|
|
(format_time_string): Last arg is now struct tm *, not struct tm **,
|
|
so that the struct tm is saved in the critical section.
|
|
All callers changed. Simplify allocation of initial buffer, partly
|
|
motivated by the fact that memory allocation needs to be outside
|
|
the critical section.
|
|
|
|
2012-05-02 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* intervals.c (adjust_intervals_for_insertion): Initialize `newi'
|
|
with RESET_INTERVAL.
|
|
|
|
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
|
|
Remove duplicated buffer name initialization.
|
|
|
|
2012-05-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* xterm.c (x_term_init): Use memcpy instead of strncpy (Bug#11373).
|
|
|
|
* xfns.c (x_window): Use xstrdup (Bug#11375).
|
|
|
|
2012-05-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pos_visible_p): If already at a newline from the
|
|
display string before the 'while' loop, don't walk back the glyphs
|
|
from it3.glyph_row. Solves assertion violation when the display
|
|
string begins with a newline (egg.el). (Bug#11367)
|
|
|
|
2012-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings):
|
|
Move to simple.el.
|
|
|
|
2012-05-01 Glenn Morris <rgm@gnu.org>
|
|
|
|
* syssignal.h: Remove reference to BROKEN_SIGINFO (last used in
|
|
s/ptx4.h), BROKEN_SIGTSTP (last used in m/ustation.h, m/dpx2.h),
|
|
and BROKEN_SIGURG (was in s/gnu-linux.h prior to 2008-02-10).
|
|
All were removed before 23.1.
|
|
|
|
* dispnew.c: Remove HAVE_LIBNCURSES test;
|
|
it is always true on relevant platforms.
|
|
|
|
* Makefile.in (LD_SWITCH_X_SITE_RPATH):
|
|
Rename from LD_SWITCH_X_SITE_AUX_RPATH.
|
|
|
|
* Makefile.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used.
|
|
|
|
2012-04-30 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* .gdbinit (xpr): Remove checks for no longer existing misc types.
|
|
(xintfwd, xboolfwd, xobjfwd, xbufobjfwd, xkbobjfwd, xbuflocal):
|
|
Remove.
|
|
|
|
2012-04-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Do not avoid creating empty evaporating overlays (Bug#9642).
|
|
* buffer.c (Fmove_overlay): Revert the change of 2012-04-23.
|
|
That is, do not delete an evaporating overlay if it becomes
|
|
empty after its bounds are adjusted to fit within its buffer.
|
|
This fix caused other problems, and I'm reverting it until we get
|
|
to the bottom of them.
|
|
|
|
2012-04-27 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xselect.c (x_convert_selection): Initialize a pointer (Bug#11315).
|
|
|
|
2012-04-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pos_visible_p): If the window start position is beyond
|
|
ZV, start the display from buffer beginning. Prevents assertion
|
|
violation in init_iterator when the minibuffer window is scrolled
|
|
via the scroll bar.
|
|
|
|
* window.c (window_scroll_pixel_based): Likewise.
|
|
|
|
2012-04-27 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keymap.c (where_is_internal): Doc fix (Bug#10872).
|
|
|
|
2012-04-27 Glenn Morris <rgm@gnu.org>
|
|
|
|
* fileio.c (Fcopy_file, Fset_file_selinux_context):
|
|
Ignore ENOTSUP failures from setfilecon functions. (Bug#11245)
|
|
|
|
2012-04-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (swap_glyph_pointers, copy_row_except_pointers):
|
|
Don't overrun array limits of glyph row's used[] array. (Bug#11288)
|
|
|
|
2012-04-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded
|
|
display element, check also the underlying string or buffer
|
|
character. (Bug#11341)
|
|
|
|
* w32menu.c: Include w32heap.h.
|
|
(add_menu_item): If the call to AppendMenuW (via
|
|
unicode_append_menu) fails, disable Unicode menus only if we are
|
|
running on Windows 9X/Me.
|
|
|
|
2012-04-24 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* .gdbinit (xpr): Handle USE_2_TAGS_FOR_INTS.
|
|
(xgetint): Add missing shift for LSB tags.
|
|
|
|
2012-04-24 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* keyboard.c (read_char): Don't wipe echo area for select window
|
|
events: These might get delayed via `mouse-autoselect-window'
|
|
(Bug#11304).
|
|
|
|
2012-04-24 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.c (init_gnutls_functions): Protect against (unlikely)
|
|
manipulation of :loaded-from data.
|
|
|
|
2012-04-23 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.c (init_gnutls_functions): The value of :loaded-from is
|
|
now a cons (bug#11311).
|
|
|
|
2012-04-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Do not create empty overlays with the evaporate property (Bug#9642).
|
|
* buffer.c (Fmove_overlay): Delete an evaporating overlay
|
|
if it becomes empty after its bounds are adjusted to fit within
|
|
its buffer. Without this fix, in a nonempty buffer (let ((o
|
|
(make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1))
|
|
yields an empty overlay that has the evaporate property, which is
|
|
not supposed to happen.
|
|
|
|
Fix minor GTK3 problems found by static checking.
|
|
* emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
|
|
(EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
|
|
(struct _EmacsFixedClass, emacs_fixed_get_type):
|
|
Move decls here from emacsgtkfixed.h, since they needn't be public.
|
|
(emacs_fixed_get_type): Now static.
|
|
(emacs_fixed_class_init): Omit unused local.
|
|
(emacs_fixed_child_type): Remove; unused.
|
|
* emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
|
|
(EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
|
|
(struct _EmacsFixedClass): Move to emacsgtkfixed.c.
|
|
(EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS)
|
|
(EMACS_FIXED_GET_CLASS): Remove; unused.
|
|
* gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local.
|
|
|
|
* keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO.
|
|
Problem reported by Juanma Barranquero for Windows -Wunused-function.
|
|
|
|
2012-04-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Modernize and clean up gmalloc.c to assume C89 (Bug#9119).
|
|
* gmalloc.c (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t)
|
|
(__malloc_size_t, __malloc_ptrdiff_t):
|
|
Remove. All uses removed, replaced by the definiens if needed,
|
|
since we can assume C89 or better now.
|
|
Include <stdint.h>, for PTRDIFF_MAX, uintptr_t.
|
|
(protect_malloc_state, align, get_contiguous_space)
|
|
(malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
|
|
(malloc_atfork_handler_child, malloc_enable_thread)
|
|
(malloc_initialize_1, __malloc_initialize, morecore_nolock)
|
|
(_malloc_internal_nolock, _malloc_internal, malloc, _malloc)
|
|
(_free, _realloc, _free_internal_nolock, _free_internal, free, cfree)
|
|
(special_realloc, _realloc_internal_nolock, _realloc_internal)
|
|
(realloc, calloc, __default_morecore, memalign, valloc, checkhdr)
|
|
(freehook, mallochook, reallochook, mabort, mcheck, mprobe):
|
|
Define using prototypes, not old style.
|
|
(align, _malloc_internal_nolock, _free_internal_nolock, memalign):
|
|
Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long.
|
|
(align): Don't assume that signed integer overflow wraps around.
|
|
Omit unused local var.
|
|
(malloc_initialize_1, morecore_nolock, _malloc_internal_nolock)
|
|
(_free_internal_nolock, memalign, mallochook, reallochook):
|
|
Omit no-longer-needed casts.
|
|
(valloc): Use getpagesize, not __getpagesize.
|
|
(MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit.
|
|
(struct hdr): The 'magic' member is now size_t, not unsigned long.
|
|
|
|
* dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed.
|
|
|
|
2012-04-22 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
Move functions from C to Lisp. Make non-blocking method calls
|
|
the default. Implement further D-Bus standard interfaces.
|
|
|
|
* dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare.
|
|
(QCdbus_request_name_allow_replacement)
|
|
(QCdbus_request_name_replace_existing)
|
|
(QCdbus_request_name_do_not_queue)
|
|
(QCdbus_request_name_reply_primary_owner)
|
|
(QCdbus_request_name_reply_in_queue)
|
|
(QCdbus_request_name_reply_exists)
|
|
(QCdbus_request_name_reply_already_owner): Move to dbus.el.
|
|
(QCdbus_registered_serial, QCdbus_registered_method)
|
|
(QCdbus_registered_signal): New Lisp objects.
|
|
(XD_DEBUG_MESSAGE): Use sizeof.
|
|
(XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING)
|
|
(XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT)
|
|
(XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH)
|
|
(XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros.
|
|
(XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL.
|
|
(xd_signature, xd_append_arg): Allow float for integer types.
|
|
(xd_get_connection_references): New function.
|
|
(xd_get_connection_address): Rename from xd_initialize.
|
|
Return cached address.
|
|
(xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS.
|
|
(xd_close_bus): Rename from Fdbus_close_bus. Not needed on Lisp
|
|
level.
|
|
(Fdbus_init_bus): New optional arg PRIVATE. Cache address.
|
|
Return number of refcounts.
|
|
(Fdbus_get_unique_name): Make stronger parameter check.
|
|
(Fdbus_message_internal): New defun.
|
|
(Fdbus_call_method, Fdbus_call_method_asynchronously)
|
|
(Fdbus_method_return_internal, Fdbus_method_error_internal)
|
|
(Fdbus_send_signal, Fdbus_register_service)
|
|
(Fdbus_register_signal, Fdbus_register_method): Move to dbus.el.
|
|
(xd_read_message_1): Obey new structure of Vdbus_registered_objects.
|
|
(xd_read_queued_messages): Obey new structure of Vdbus_registered_buses.
|
|
(Vdbus_compiled_version, Vdbus_runtime_version)
|
|
(Vdbus_message_type_invalid, Vdbus_message_type_method_call)
|
|
(Vdbus_message_type_method_return, Vdbus_message_type_error)
|
|
(Vdbus_message_type_signal): New defvars.
|
|
(Vdbus_registered_buses, Vdbus_registered_objects_table):
|
|
Adapt docstring.
|
|
|
|
2012-04-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix GC_MALLOC_CHECK debugging output on 64-bit hosts.
|
|
* alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]:
|
|
Do not assume ptrdiff_t is the same width as 'int'.
|
|
|
|
* alloc.c: Handle unusual debugging option combinations.
|
|
(GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
|
|
since the two debugging options are incompatible.
|
|
(GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
|
|
is defined.
|
|
(mem_init, mem_insert, mem_insert_fixup):
|
|
Define if GC_MARK_STACK || GC_MALLOC_CHECK.
|
|
(NEED_MEM_INSERT): Remove; no longer needed.
|
|
|
|
2012-04-22 Leo Liu <sdl.web@gmail.com>
|
|
|
|
* sysdep.c (list_system_processes): Support Darwin (Bug#5725).
|
|
|
|
2012-04-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c [__FreeBSD__]: Minor cleanups.
|
|
(list_system_processes, system_process_attributes) [__FreeBSD__]:
|
|
Use Emacs indenting style more consistently. Avoid some casts.
|
|
Use 'double' consistently rather than mixing 'float' and 'double'.
|
|
|
|
2012-04-21 Eduard Wiebe <usenet@pusto.de>
|
|
|
|
* sysdep.c (list_system_processes, system_process_attributes):
|
|
Add implementation for FreeBSD (Bug#5243).
|
|
|
|
2012-04-21 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lisp.mk (lisp): Update.
|
|
|
|
2012-04-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keyboard.c (process_pending_signals): Define only if SYNC_INPUT.
|
|
It is never used otherwise.
|
|
|
|
2012-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* print.c (print_preprocess): Only check print_depth if print-circle
|
|
is nil.
|
|
(print_object): Check for cycles even when print-circle is nil and
|
|
print-gensym is t, but only check print_depth if print-circle is nil.
|
|
|
|
2012-04-20 Chong Yidong <cyd@gnu.org>
|
|
|
|
* process.c (wait_reading_process_output): If EIO occurs on a pty,
|
|
set the status to "failed" and ensure that sentinel is run.
|
|
|
|
2012-04-20 Glenn Morris <rgm@gnu.org>
|
|
|
|
* process.c (Fset_process_inherit_coding_system_flag)
|
|
(Fset_process_query_on_exit_flag): Doc fix (mention return value).
|
|
(Fmake_network_process, Fmake_serial_process): Doc fix.
|
|
|
|
2012-04-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (string_buffer_position_lim): Limit starting position to
|
|
BEGV.
|
|
(set_cursor_from_row): If called for a mode-line or header-line
|
|
row, return zero immediately.
|
|
(try_cursor_movement): If inside continuation line, don't back up
|
|
farther than the first row after the header line, if any.
|
|
Don't consider the header-line row as "partially visible", even if
|
|
MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero. (Bug#11261)
|
|
|
|
2012-04-20 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
|
|
|
|
* lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n"
|
|
(bug#11238).
|
|
|
|
2012-04-20 Teodor Zlatanov <tzz@lifelogs.com>
|
|
2012-04-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
configure: new option --enable-gcc-warnings (Bug#11207)
|
|
* Makefile.in (C_WARNINGS_SWITCH): Remove.
|
|
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
|
|
(ALL_CFLAGS): Use new macros rather than old.
|
|
* process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
|
|
* regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore
|
|
-Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
|
|
-Wunused-result, -Wunused-variable. This should go away once
|
|
the Emacs and Gnulib regex code is merged.
|
|
(xmalloc, xrealloc): Now static.
|
|
|
|
2012-04-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* dired.c (Fsystem_groups): Remove unused local.
|
|
|
|
2012-04-17 Glenn Morris <rgm@gnu.org>
|
|
|
|
* dired.c (Fsystem_users): Doc fix.
|
|
|
|
2012-04-17 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* dired.c (Fsystem_users, Fsystem_groups): New functions. (Bug#7900)
|
|
(syms_of_dired): Add them.
|
|
|
|
2012-04-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor alloc.c problems found by static checking.
|
|
* alloc.c (_malloc_internal, _free_internal) [!DOUG_LEA_MALLOC]:
|
|
New extern decls, to avoid calling undeclared functions.
|
|
(dont_register_blocks): Define if ((!SYSTEM_MALLOC && !SYNC_INPUT)
|
|
&& GC_MALLOC_CHECK), not if ((GC_MARK_STACK || defined
|
|
GC_MALLOC_CHECK) && GC_MALLOC_CHECK), to match when it's used.
|
|
(NEED_MEM_INSERT): New macro.
|
|
(mem_insert, mem_insert_fixup) [!NEED_MEM_INSERT]: Remove; unused.
|
|
Remove one incorrect comment and fix another.
|
|
|
|
Fix minor ralloc.c problems found by static checking.
|
|
See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
|
|
* ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE)
|
|
(r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused.
|
|
(r_alloc_sbrk): Now static.
|
|
|
|
Improve ralloc.c interface checking.
|
|
See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
|
|
* buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc)
|
|
(r_alloc_free) [REL_ALLOC]: Move decls from here ...
|
|
* lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable)
|
|
[REL_ALLOC]: ... to here, to check interface.
|
|
* m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]:
|
|
Remove decls. This fixes an "It stinks!".
|
|
|
|
* alloc.c (which_symbols): Fix alignment issue / type clash.
|
|
|
|
2012-04-15 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lisp.h (struct Lisp_Symbol): Remove explicit padding.
|
|
(struct Lisp_Misc_Any): Likewise.
|
|
(struct Lisp_Free): Likewise.
|
|
* alloc.c (union aligned_Lisp_Symbol): Define.
|
|
(SYMBOL_BLOCK_SIZE, struct symbol_block): Use union
|
|
aligned_Lisp_Symbol instead of struct Lisp_Symbol.
|
|
(union aligned_Lisp_Misc): Define.
|
|
(MARKER_BLOCK_SIZE, struct marker_block): Use union
|
|
aligned_Lisp_Misc instead of union Lisp_Misc.
|
|
(Fmake_symbol, allocate_misc, gc_sweep): Adjust.
|
|
|
|
2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926).
|
|
* lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS.
|
|
* s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h:
|
|
* s/netbsd.h, s/sol2-6.h:
|
|
Remove definition of GC_MARK_STACK, since the default now works.
|
|
* s/aix4-2.h, s/hpux10-20.h, s/unixware.h:
|
|
Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's
|
|
no longer the default.
|
|
* s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default.
|
|
|
|
2012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
|
|
|
|
* lread.c (lisp_file_lexically_bound_p):
|
|
Fix hang at ";-*-\n" (bug#11238).
|
|
|
|
2012-04-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
|
|
"unchanged" if its end.pos is beyond ZV. (Bug#11199)
|
|
|
|
2012-04-14 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (constrainFrameRect): Always constrain when there is only
|
|
one screen (Bug#10962).
|
|
|
|
2012-04-13 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
|
|
|
|
2012-04-13 Reuben Thomas <rrt@sc3d.org>
|
|
|
|
* indent.c (Fmove_to_column): Change interactive spec (Bug#739).
|
|
|
|
2012-04-11 Daniel Colascione <dancol@dancol.org>
|
|
|
|
* s/cygwin.h: The vfork the #define in cygwin.h was protecting
|
|
against is gone. It's better to use vfork now so that when Cygwin
|
|
gains a new, working vfork, we use it automatically (bug#10398).
|
|
|
|
2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.c (save_window_save): Obey window-point-insertion-type.
|
|
|
|
2012-04-11 Glenn Morris <rgm@gnu.org>
|
|
|
|
* Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
|
|
|
|
2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* alloc.c (lisp_align_malloc): Remove unneeded prototype.
|
|
|
|
2012-04-10 Jason S. Cornez <jcornez@ravenpack.com> (tiny change)
|
|
|
|
* keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
|
|
(force_quit_count): New var.
|
|
(handle_interrupt): Use it.
|
|
|
|
2012-04-10 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32.c (w32_delayed_load): Record the full path of the library
|
|
being loaded (bug#10424).
|
|
|
|
2012-04-09 Glenn Morris <rgm@gnu.org>
|
|
|
|
* doc.c (Fsnarf_documentation): Check variables, functions are bound,
|
|
not just in the obarray, before snarfing them. (Bug#11036)
|
|
|
|
* Makefile.in ($(leimdir)/leim-list.el):
|
|
Pass EMACS rather than BUILT_EMACS.
|
|
|
|
2012-04-09 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* process.c (make_process):
|
|
* process.h: Add integer `gnutls_handshakes_tried' member to
|
|
process struct.
|
|
|
|
* gnutls.h: Add `GNUTLS_EMACS_HANDSHAKES_LIMIT' upper limit.
|
|
Add convenience `GNUTLS_LOG2i' macro.
|
|
|
|
* gnutls.c (gnutls_log_function2i): Convenience log function.
|
|
(emacs_gnutls_read): Use new log functions,
|
|
`gnutls_handshakes_tried' process member, and
|
|
`GNUTLS_EMACS_HANDSHAKES_LIMIT' to limit the number of handshake
|
|
attempts per process (connection).
|
|
|
|
2012-04-09 Chong Yidong <cyd@gnu.org>
|
|
|
|
* eval.c (Fuser_variable_p, user_variable_p_eh)
|
|
(lisp_indirect_variable): Functions deleted.
|
|
(Fdefvar): Caller changed.
|
|
|
|
* callint.c (Finteractive, Fcall_interactively):
|
|
* minibuf.c (Fread_variable): Callers changed.
|
|
|
|
2012-04-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_cursor_from_row): If the display string appears in
|
|
the buffer at position that is closer to point than the position
|
|
after the display string, display the cursor on the first glyph of
|
|
the display string. Fixes cursor display when a 'display' text
|
|
property immediately follows invisible text. (Bug#11094)
|
|
|
|
2012-04-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
composite.c: use 'double' consistently
|
|
* composite.c (get_composition_id): Use 'double' consistently
|
|
instead of converting 'float' to 'double' and vice versa; this is
|
|
easier to understand and avoids a GCC warning.
|
|
|
|
2012-04-09 Glenn Morris <rgm@gnu.org>
|
|
|
|
* Makefile.in: Generate leim-list with bootstrap-emacs, in
|
|
preparation for dumping it with emacs. (Bug#4789)
|
|
(leimdir): New variable.
|
|
($(leimdir)/leim-list.el): New rule.
|
|
(emacs$(EXEEXT)): Depend on leim-list.el.
|
|
|
|
* buffer.c (Qucs_set_table_for_input): Remove. (Bug#9821)
|
|
(Fget_buffer_create): Don't call Qucs_set_table_for_input.
|
|
(init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input.
|
|
|
|
2012-04-08 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lisp.h (struct Lisp_Symbol): Add explicit padding to ensure
|
|
proper alignment.
|
|
|
|
2012-04-07 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* xml.c (init_libxml2_functions) [WINDOWSNT]:
|
|
Remove unused local variable.
|
|
|
|
2012-04-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Avoid unnecessary pointer scanning in garbage collection (Bug#10780).
|
|
* alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro.
|
|
(mark_memory): Mark Lisp_Objects only if pointers might hide in
|
|
objects, as mark_maybe_pointer will catch them otherwise.
|
|
(GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed.
|
|
* s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise.
|
|
|
|
2012-04-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix typo that broke non-Windows builds.
|
|
* xml.c (libxml2_loaded_p) [!!WINDOWSNT]: 'inine' -> 'inline'.
|
|
|
|
2012-04-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Support building on MS-Windows with libxml2.
|
|
|
|
* makefile.w32-in (OBJ2): Add xml.$(O).
|
|
(GLOBAL_SOURCES): Add xml.c.
|
|
($(BLD)/xml.$(O)): New dependency list.
|
|
|
|
* xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
|
|
(fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
|
|
(fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
|
|
[!WINDOWSNT]: New macros.
|
|
(init_libxml2_functions, libxml2_loaded_p): New functions.
|
|
(parse_region): Call fn_xmlCheckVersion instead of using the macro
|
|
LIBXML_TEST_VERSION. Call libxml2 functions via the fn_* macros.
|
|
(xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
|
|
Calls xmlCleanupParser only if libxml2 was loaded (or statically
|
|
linked in).
|
|
(Flibxml_parse_html_region, Flibxml_parse_xml_region):
|
|
Call init_libxml2_functions before calling libxml2 functions.
|
|
(syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
|
|
|
|
* emacs.c: Don't include libxml/parser.h.
|
|
(shut_down_emacs): Call xml_cleanup_parser, instead of calling
|
|
xmlCleanupParser directly.
|
|
|
|
* lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.
|
|
|
|
2012-04-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* indent.c (Fvertical_motion): If there is a display string at
|
|
point, use it.vpos to compute how many lines to backtrack after
|
|
move_it_to point. (Bug#11133)
|
|
|
|
2012-04-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* buffer.h (FETCH_CHAR, FETCH_MULTIBYTE_CHAR):
|
|
* character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Add comments
|
|
about subtle differences between FETCH_CHAR* and STRING_CHAR*
|
|
macros related to unification of CJK characters. For the details,
|
|
see the discussion following the message here:
|
|
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11073#14.
|
|
|
|
2012-04-04 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keyboard.c (Vdelayed_warnings_list): Doc fix.
|
|
|
|
2012-04-01 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32menu.c (simple_dialog_show, add_menu_item): Use SAFE_ALLOCA
|
|
instead of alloca. (Bug#11138)
|
|
|
|
2012-04-01 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* w32menu.c (is_simple_dialog): Properly check lisp types.
|
|
(Bug#11141)
|
|
|
|
2012-03-31 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (move_it_by_lines): When DVPOS is positive, and the
|
|
position we get to after a call to move_it_to fails the
|
|
IS_POS_VALID_AFTER_MOVE_P test, move to the next buffer position
|
|
only if we wind up in a string from display property. (Bug#11063)
|
|
|
|
* window.c (Fdelete_other_windows_internal): Invalidate the row
|
|
and column information about mouse highlight, so that redisplay
|
|
restores it after reallocating the glyph matrices. (Bug#7464)
|
|
|
|
* xdisp.c (set_cursor_from_row): If `cursor' property on a display
|
|
string comes from a `display' text property, use the buffer
|
|
position of that property as if we actually saw that position in
|
|
the row's glyphs.
|
|
(move_it_by_lines): Remove the assertion that
|
|
"it->current_x == 0 && it->hpos == 0" which can be legitimately
|
|
violated when there's a before-string at the beginning of a line.
|
|
(Bug#11063)
|
|
|
|
2012-03-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (append_space_for_newline): If the default face was
|
|
remapped, use the remapped face for the appended newline.
|
|
(extend_face_to_end_of_line): Use the remapped default face for
|
|
extending the face to the end of the line.
|
|
(display_line): Call extend_face_to_end_of_line when the default
|
|
face was remapped. (Bug#11068)
|
|
|
|
2012-03-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* s/ms-w32.h: Discourage from defining HAVE_GETCWD.
|
|
|
|
2012-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (safe_run_hooks_error): Don't unquote strings.
|
|
|
|
2012-03-27 Glenn Morris <rgm@gnu.org>
|
|
|
|
* search.c (Fword_search_backward_lax, Fword_search_forward_lax):
|
|
Doc fixes.
|
|
|
|
2012-03-26 Kenichi Handa <handa@m17n.org>
|
|
|
|
* dispextern.h (struct glyph): Fix previous change. Change the
|
|
bit length of glyphless.ch to 25 (Bug#11082).
|
|
|
|
2012-03-26 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keyboard.c (Vselection_inhibit_update_commands): New variable.
|
|
(command_loop_1): Use it; inhibit selection update for
|
|
handle-select-window too (Bug#8996).
|
|
|
|
2012-03-25 Fabrice Popineau <fabrice.popineau@supelec.fr>
|
|
|
|
* w32heap.c (_heap_init, _heap_term): Remove dead MSVC-specific code.
|
|
|
|
2012-03-25 Kenichi Handa <handa@m17n.org>
|
|
|
|
* dispextern.h (struct glyph): Change the bit length of
|
|
glyphless.ch to 22 to make the member glyphless fit in 32 bits.
|
|
|
|
2012-03-24 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* s/ms-w32.h (tzname): Include time.h before redirecting to
|
|
_tzname. Fixes the MSVC build. (Bug#9960)
|
|
|
|
2012-03-24 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6
|
|
characters.
|
|
|
|
* xterm.c (XTread_socket): Only modify handling_signal if
|
|
!SYNC_INPUT. (Bug#11080)
|
|
|
|
2012-03-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of
|
|
FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes
|
|
when fetching a multibyte character consumes more bytes than
|
|
CHAR_BYTES returns, due to unification of CJK characters in
|
|
string_char. (Bug#11073)
|
|
|
|
2012-03-23 Troels Nielsen <bn.troels@gmail.com> (tiny change)
|
|
|
|
* process.c (wait_reading_process_output): Handle pty disconnect
|
|
by refraining from sending oneself a SIGCHLD (bug#10933).
|
|
|
|
2012-03-22 Chong Yidong <cyd@gnu.org>
|
|
|
|
* dispextern.h (struct it): New member string_from_prefix_prop_p.
|
|
|
|
* xdisp.c (push_prefix_prop): Rename from push_display_prop.
|
|
Mark string as coming from a prefix property.
|
|
(handle_face_prop): Use default face for prefix strings (Bug#4281).
|
|
(pop_it, reseat_1): Save and restore string_from_prefix_prop_p.
|
|
|
|
2012-03-21 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xfaces.c (Vface_remapping_alist): Doc fix.
|
|
|
|
2012-03-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32proc.c (Fw32_set_console_codepage)
|
|
(Fw32_set_console_output_codepage, Fw32_get_codepage_charset):
|
|
Doc fixes.
|
|
|
|
2012-03-20 Chong Yidong <cyd@gnu.org>
|
|
|
|
* dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc
|
|
to reflect default non-nil value of redisplay-dont-pause.
|
|
|
|
2012-03-19 Kenichi Handa <handa@m17n.org>
|
|
|
|
* ftfont.c (ftfont_drive_otf): Mask bits of character code to make
|
|
it fit in a valid range (Bug#11003).
|
|
|
|
2012-03-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (cursor_row_p): Even if the glyph row ends in a string
|
|
that is not from display property, accept the row as a "cursor
|
|
row" if one of the string's character has a non-nil `cursor'
|
|
property. Fixes cursor positioning when there are newlines in
|
|
overlay strings, e.g. in icomplete.el. (Bug#11035)
|
|
|
|
2012-03-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* buffer.c (compare_overlays): Don't assume args differ (Bug#6830).
|
|
|
|
2012-03-12 Chong Yidong <cyd@gnu.org>
|
|
|
|
* eval.c (inhibit_lisp_code): Rename from
|
|
inhibit_window_configuration_change_hook; move from window.c.
|
|
|
|
* xfns.c (unwind_create_frame_1, Fx_create_frame):
|
|
* window.c (run_window_configuration_change_hook)
|
|
(syms_of_window): Callers changed.
|
|
|
|
2012-03-11 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keymap.c (Fkey_description): Doc fix (Bug#9700).
|
|
|
|
* editfns.c (Fconstrain_to_field): Doc fix (Bug#9452).
|
|
|
|
2012-03-10 Chong Yidong <cyd@gnu.org>
|
|
|
|
* frame.c (other_visible_frames): Don't assume the selected frame
|
|
is visible (Bug#10955).
|
|
|
|
2012-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* buffer.c (compare_overlays): Avoid qsort's instability (bug#6830).
|
|
|
|
2012-03-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (x_wm_set_size_hint): Use one row in call to
|
|
FRAME_TEXT_LINES_TO_PIXEL_HEIGHT so base_height is greater than
|
|
zero (Bug#10954).
|
|
|
|
2012-03-03 Glenn Morris <rgm@gnu.org>
|
|
|
|
* alloc.c (Fgarbage_collect, misc-objects-consed): Doc fixes.
|
|
|
|
2012-03-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (try_window_reusing_current_matrix): Don't move cursor
|
|
position past the first glyph_row that ends at ZV. (Bug#10902)
|
|
(redisplay_window, next_element_from_string): Fix typos in
|
|
comments.
|
|
(redisplay_window): Pass to move_it_vertically the margin in
|
|
pixels, not in screen lines.
|
|
|
|
2012-03-02 Glenn Morris <rgm@gnu.org>
|
|
|
|
* buffer.c (buffer-list-update-hook): Doc fix.
|
|
|
|
2012-02-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (get_overlay_strings_1): Under bidi redisplay, call
|
|
push_it before setting up the iterator for the first overlay
|
|
string, even if we have an empty string loaded.
|
|
(next_overlay_string): If there's an empty string on the iterator
|
|
stack, pop the stack. (Bug#10903)
|
|
|
|
2012-02-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Generalize fix for crash due to non-contiguous EMACS_INT (Bug#10780).
|
|
Suggested by Stefan Monnier in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00692.html>.
|
|
* alloc.c (widen_to_Lisp_Object): New static function.
|
|
(mark_memory): Also mark Lisp_Objects by fetching pointer words
|
|
and widening them to Lisp_Objects. This would work even if
|
|
USE_LSB_TAG is defined and wide integers are used, which might
|
|
happen in a future version of Emacs.
|
|
|
|
2012-02-25 Chong Yidong <cyd@gnu.org>
|
|
|
|
* fileio.c (Ffile_selinux_context, Fset_file_selinux_context):
|
|
Doc fix.
|
|
|
|
* xselect.c (Fx_selection_exists_p): Doc fix.
|
|
(x_clipboard_manager_save_all): Print an informative message
|
|
before saving to clipboard manager.
|
|
|
|
2012-02-24 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keyboard.c (process_special_events): Handle all X selection
|
|
requests in kbd_buffer, not just the next one (Bug#8869).
|
|
|
|
2012-02-23 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xfns.c (Fx_create_frame): Avoid window-configuration-change-hook
|
|
call when setting menu-bar-lines and tool-bar-lines parameters.
|
|
(unwind_create_frame_1): New helper function.
|
|
|
|
* window.c (inhibit_window_configuration_change_hook): New var.
|
|
(run_window_configuration_change_hook): Obey it.
|
|
(syms_of_window): Initialize it.
|
|
|
|
2012-02-22 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xterm.c (x_draw_image_relief): Add missing type check for
|
|
Vtool_bar_button_margin (Bug#10743).
|
|
|
|
2012-02-21 Chong Yidong <cyd@gnu.org>
|
|
|
|
* fileio.c (Vfile_name_handler_alist): Doc fix.
|
|
|
|
* buffer.c (Fget_file_buffer): Protect against invalid file
|
|
handler return value.
|
|
|
|
2012-02-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* .gdbinit (xreload): Don't assume EMACS_INT fits in 'long'
|
|
when computing $valmask.
|
|
|
|
Fix crash due to non-contiguous EMACS_INT (Bug#10780).
|
|
* lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it.
|
|
(USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0.
|
|
It's useless in that case, and it can cause problems on hosts
|
|
that allocate halves of EMACS_INT values separately.
|
|
Reported by Dan Horák. Diagnosed by Andreas Schwab in
|
|
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10780#30>.
|
|
* mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where
|
|
UINTPTR_MAX >> VALBITS == 0. This is required by the above change;
|
|
it avoids undefined behavior on hosts where shifting right by more
|
|
than the word width has undefined behavior.
|
|
|
|
2012-02-19 Chong Yidong <cyd@gnu.org>
|
|
|
|
* fileio.c (Ffile_name_directory, Ffile_name_nondirectory)
|
|
(Funhandled_file_name_directory, Ffile_name_as_directory)
|
|
(Fdirectory_file_name, Fexpand_file_name)
|
|
(Fsubstitute_in_file_name): Protect against invalid file handler
|
|
return values (Bug#10845).
|
|
|
|
2012-02-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* .gdbinit (pitx): Fix incorrect references to fields of the
|
|
iterator stack.
|
|
|
|
2012-02-17 Chong Yidong <cyd@gnu.org>
|
|
|
|
* syntax.c (Fscan_lists): Doc fix (Bug#10833).
|
|
|
|
2012-02-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (MAX_IMAGE_SIZE): Increase from 6.0 to 10.0; see
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00540.html>.
|
|
|
|
2012-02-15 Chong Yidong <cyd@gnu.org>
|
|
|
|
* eval.c (Fdefvar, Fdefconst): Doc fix; note that the variable is
|
|
marked as special. Also, starting docstrings with * is obsolete.
|
|
|
|
2012-02-13 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* gnutls.c (emacs_gnutls_write): Fix last change.
|
|
|
|
2012-02-13 Lars Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* gnutls.c (emacs_gnutls_write): Set errno appropriately for
|
|
send_process.
|
|
|
|
2012-02-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keymap.c (Fsingle_key_description): Handle char ranges.
|
|
|
|
2012-02-12 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (handle_stop): Avoid assigning -1 to it->face_id here,
|
|
as that creates a dangerous corner case.
|
|
|
|
* window.c (Fdelete_window_internal): Invalidate the mouse
|
|
highlight (Bug#9904).
|
|
|
|
2012-02-12 Glenn Morris <rgm@gnu.org>
|
|
|
|
* xselect.c (Fx_own_selection_internal)
|
|
(Fx_get_selection_internal, Fx_disown_selection_internal)
|
|
(Fx_selection_owner_p, Fx_selection_exists_p): Doc fixes.
|
|
* nsselect.m (Fx_own_selection_internal)
|
|
(Fx_disown_selection_internal, Fx_selection_exists_p)
|
|
(Fx_selection_owner_p, Fx_get_selection_internal):
|
|
Sync docs and argument specs with the xselect.c versions.
|
|
|
|
2012-02-11 Lars Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* gnutls.c (emacs_gnutls_write): Don't infloop if sendto fails.
|
|
|
|
2012-02-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32select.c (Fx_selection_exists_p): Sync doc string and
|
|
argument list with xselect.c. (Bug#10783)
|
|
|
|
* w16select.c (Fx_selection_exists_p): Sync doc string and
|
|
argument list with xselect.c. (Bug#10783)
|
|
|
|
2012-02-10 Glenn Morris <rgm@gnu.org>
|
|
|
|
* fns.c (Fsecure_hash): Doc fix.
|
|
|
|
2012-02-09 Kenichi Handa <handa@m17n.org>
|
|
|
|
* coding.c (produce_chars): Fix updating of src_end (Bug#10701).
|
|
|
|
2012-02-07 Chong Yidong <cyd@gnu.org>
|
|
|
|
* buffer.c (Fbuffer_local_variables)
|
|
(buffer_lisp_local_variables): Handle unbound vars correctly;
|
|
don't let Qunbound leak into Lisp.
|
|
|
|
2012-02-07 Glenn Morris <rgm@gnu.org>
|
|
|
|
* image.c (Fimagemagick_types): Doc fix.
|
|
|
|
* image.c (imagemagick-render-type): Change it from a lisp object
|
|
to an integer. Move the doc here from the lisp manual.
|
|
Treat all values not equal to 0 the same.
|
|
|
|
2012-02-06 Chong Yidong <cyd@gnu.org>
|
|
|
|
* doc.c (store_function_docstring): Avoid applying docstring of
|
|
alias to base function (Bug#2603).
|
|
|
|
2012-02-04 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* .gdbinit (pp1, pv1): Remove redundant defines.
|
|
(pr): Use pp.
|
|
|
|
2012-02-04 Chong Yidong <cyd@gnu.org>
|
|
|
|
* nsterm.m: Declare a global (Bug#10694).
|
|
|
|
2012-02-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (get_emacs_configuration_options):
|
|
Include --enable-checking, if specified, in the return value.
|
|
|
|
2012-02-04 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* dispnew.c (change_frame_size_1): Calculate new_frame_total_cols
|
|
after rounding frame sizes. (Bug#9723)
|
|
|
|
2012-02-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* keyboard.c (adjust_point_for_property): Don't position point
|
|
before BEGV. (Bug#10696)
|
|
|
|
2012-02-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Handle overflow when computing char display width (Bug#9496).
|
|
* character.c (char_width): Return EMACS_INT, not int.
|
|
(char_width, c_string_width): Check for overflow when
|
|
computing the width; this is possible now that individual
|
|
characters can have unbounded width. Problem introduced
|
|
by merge from Emacs 23 on 2012-01-19.
|
|
|
|
2012-02-02 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (Fdbus_register_method): Mention the return value
|
|
:ignore in the docstring.
|
|
|
|
2012-02-02 Glenn Morris <rgm@gnu.org>
|
|
|
|
* callproc.c (Fcall_process, Fcall_process_region): Doc fix.
|
|
|
|
* nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
|
|
Unconditionally set to t. (Bug#10673)
|
|
* nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
|
|
* w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
|
|
* xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Doc fix.
|
|
|
|
2012-02-02 Kenichi Handa <handa@m17n.org>
|
|
|
|
(x_produce_glyphs): Cancel previous change. If cmp->glyph_len is
|
|
0, do not call append_composite_glyph.
|
|
|
|
2012-02-02 Kenichi Handa <handa@m17n.org>
|
|
|
|
* xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): Initialize first_s to
|
|
NULL (Bug#6988).
|
|
(x_produce_glyphs): If the component of a composition is a null
|
|
string, set it->pixel_width to 1 to avoid zero-width glyph.
|
|
|
|
2012-02-01 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* ralloc.c (resize_bloc, r_alloc_sbrk): Don't call memmove if its
|
|
first 2 arguments are identical. This makes inserting large
|
|
output from a subprocess an order of magnitude faster on
|
|
MS-Windows, where all sbrk'ed memory is always contiguous.
|
|
|
|
2012-01-31 Glenn Morris <rgm@gnu.org>
|
|
|
|
* nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
|
|
* w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
|
|
* xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Sync docs.
|
|
|
|
2012-01-29 Glenn Morris <rgm@gnu.org>
|
|
|
|
* gnutls.c (syms_of_gnutls): More doc (from etc/NEWS).
|
|
|
|
2012-01-28 Samuel Thibault <sthibault@debian.org> (tiny change)
|
|
|
|
* s/gnu.h: Define POSIX_SIGNALS (Bug#10552).
|
|
|
|
2012-01-28 Chong Yidong <cyd@gnu.org>
|
|
|
|
* minibuf.c (syms_of_minibuf): Doc fix (Bug#10550).
|
|
|
|
2012-01-26 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keyboard.c (Vecho_keystrokes): Document zero value (Bug#10503).
|
|
|
|
* search.c (Fsearch_forward, Fsearch_backward): Document negative
|
|
repeat counts (Bug#10507).
|
|
|
|
2012-01-26 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lread.c (syms_of_lread): Doc fix.
|
|
|
|
2012-01-25 HIROSHI OOTA <nil@mad.dog.cx> (tiny change)
|
|
|
|
* coding.c (encode_designation_at_bol): Change return value to
|
|
EMACS_INT.
|
|
|
|
2012-01-25 Chong Yidong <cyd@gnu.org>
|
|
|
|
* eval.c (Fuser_variable_p): Doc fix; mention custom-variable-p.
|
|
|
|
2012-01-21 Chong Yidong <cyd@gnu.org>
|
|
|
|
* floatfns.c (Fcopysign): Make the second argument non-optional,
|
|
since nil is not allowed anyway.
|
|
|
|
2012-01-21 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* process.c (read_process_output): Use p instead of XPROCESS (proc).
|
|
(send_process): Likewise.
|
|
|
|
2012-01-19 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (save_window_save, Fcurrent_window_configuration)
|
|
(Vwindow_persistent_parameters): Do not use Qstate.
|
|
Rewrite doc-strings.
|
|
|
|
2012-01-19 Kenichi Handa <handa@m17n.org>
|
|
|
|
* character.c (char_width): New function.
|
|
(Fchar_width, c_string_width, lisp_string_width):
|
|
Use char_width (Bug#9496).
|
|
|
|
2012-01-16 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (Vwindow_persistent_parameters): New variable.
|
|
(Fset_window_configuration, save_window_save): Handle persistent
|
|
window parameters.
|
|
|
|
2012-01-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (signal_user_input): Don't do a QUIT, to avoid
|
|
thrashing the stack of the thread. (Bug#9087)
|
|
|
|
2012-01-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses.
|
|
|
|
2012-01-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (rows_from_pos_range): Handle the case where the
|
|
highlight ends on a newline. (Bug#10464)
|
|
(mouse_face_from_buffer_pos): Fix off-by-one error in calculating
|
|
he end column for display of highlight that ends on a newline
|
|
before a R2L line.
|
|
|
|
2012-01-11 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lread.c (init_lread): If no-site-lisp, remove site-lisp dirs
|
|
from load-path also when installation-directory is nil. (Bug#10208)
|
|
|
|
2012-01-10 Glenn Morris <rgm@gnu.org>
|
|
|
|
* emacs.c (syms_of_emacs) <installation-directory>: Doc fix.
|
|
|
|
* epaths.in (PATH_LOADSEARCH, PATH_EXEC, PATH_DATA, PATH_DOC):
|
|
Update template values to be closer to their typical values these days.
|
|
|
|
2012-01-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (rows_from_pos_range): Accept additional argument
|
|
DISP_STRING, and accept any glyph in a row whose object is that
|
|
string as eligible for mouse highlight. Fixes mouse highlight of
|
|
display strings from overlays. (Bug#10464)
|
|
|
|
2012-01-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
emacs: fix an auto-save permissions race condition (Bug#10400)
|
|
* fileio.c (auto_saving_dir_umask): New static var.
|
|
(Fmake_directory_internal): Use it.
|
|
(do_auto_save_make_dir): Set it, instead of invoking chmod after
|
|
creating the directory. The old code temporarily assigns
|
|
too-generous permissions to the directory.
|
|
(do_auto_save_eh): Clear it.
|
|
(Fdo_auto_save): Catch all errors, not just file errors, so
|
|
that the var is always cleared.
|
|
|
|
2012-01-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* search.c (scan_buffer): Pass character positions to
|
|
know_region_cache, not byte positions. (Bug#6540)
|
|
|
|
2012-01-07 LynX <_LynX@bk.ru> (tiny change)
|
|
|
|
* w32.c (sys_rename): Report EXDEV when rename of a directory
|
|
fails because the target is on another logical disk. (Bug#10284)
|
|
|
|
2012-01-07 David Benjamin <davidben@mit.edu> (tiny change)
|
|
|
|
* xterm.c (x_embed_request_focus): New function.
|
|
|
|
* xterm.h: Add prototype.
|
|
|
|
* xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977).
|
|
|
|
2012-01-05 Glenn Morris <rgm@gnu.org>
|
|
|
|
* emacs.c (emacs_copyright): Update short copyright year to 2012.
|
|
|
|
2012-01-01 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* gnutls.c (init_gnutls_functions): Load gnutls_check_version.
|
|
Load gnutls_transport_set_lowat only if GnuTLS version is below
|
|
2.11.1.
|
|
(emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
|
|
GnuTLS versions below 2.11.1.
|
|
|
|
2011-12-31 Antoine Levitt <antoine.levitt@gmail.com>
|
|
|
|
* xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning
|
|
to the doc string advising against its use for altering the way
|
|
windows are scrolled.
|
|
|
|
2011-12-28 Kenichi Handa <handa@m17n.org>
|
|
|
|
* coding.c (Fdefine_coding_system_internal): Make an utf-8 base
|
|
coding-system ASCII compatible only when it does not produce BOM
|
|
on encoding (Bug#10383).
|
|
|
|
2011-12-26 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus
|
|
can scroll.
|
|
(create_and_show_popup_menu): Always use menu_position_func for
|
|
Gtk3 (Bug#10361).
|
|
|
|
2011-12-24 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* callint.c (Fcall_interactively): Don't truncate prompt string.
|
|
|
|
2011-12-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_invisible_prop): Handle correctly an invisible
|
|
property that ends at ZV, so that the bidi iteration could be
|
|
resumed from there (after widening). (Bug#10360)
|
|
|
|
2011-12-22 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc.
|
|
|
|
2011-12-21 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (x_free_frame_resources):
|
|
Release f->output_data.ns->miniimage.
|
|
(ns_index_color): Fix indentation. Do not retain
|
|
color_table->colors[i].
|
|
|
|
* nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree
|
|
before returning.
|
|
|
|
* nsfns.m (x_set_background_color): Assign return value from
|
|
ns_index_color to face-background instead of NSColor*.
|
|
(ns_implicitly_set_icon_type): Fix indentation.
|
|
Change assignment in for loop to comparison.
|
|
|
|
* emacs.c (ns_pool): New variable.
|
|
(main): Assign ns_pool.
|
|
(Fkill_emacs): Call ns_release_autorelease_pool.
|
|
|
|
* nsfont.m (ns_spec_to_descriptor): Fix indentation,
|
|
autorelease fdesc, release fdAttrs and tdict.
|
|
(ns_get_covering_families): Release charset.
|
|
(ns_findfonts): Release NSFontDescriptor created with new.
|
|
(ns_uni_to_glyphs): Fix indentation.
|
|
(setString): Release attrStr before assigning new value.
|
|
|
|
2011-12-18 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5
|
|
and NS_IMPL_COCOA.
|
|
(trackingNotification): Surround with ifdef NS_IMPL_COCOA.
|
|
(syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA.
|
|
|
|
2011-12-18 David Reitter <reitter@cmu.edu>
|
|
|
|
* nsterm.m (ns_term_init): Subscribe for notifications
|
|
NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification
|
|
to method trackingNotification in EmacsMenu.
|
|
|
|
* nsmenu.m (trackingMenu): New variable.
|
|
(trackingNotification): New method (from Aquamacs).
|
|
(menuNeedsUpdate): Expand comment and return if trackingMenu is 0,
|
|
from Aquamacs (Bug#7030).
|
|
|
|
2011-12-18 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsselect.m (CUT_BUFFER_SUPPORT): Remove define.
|
|
(symbol_to_nsstring): Fix indentation.
|
|
(ns_symbol_to_pb): New function.
|
|
(Fns_get_selection_internal): Rename from Fns_get_cut_buffer_internal.
|
|
(Fns_rotate_cut_buffers_internal): Remove.
|
|
(Fns_store_selection_internal): Rename from
|
|
Fns_store_cut_buffer_internal.
|
|
(ns_get_foreign_selection, Fx_own_selection_internal)
|
|
(Fx_disown_selection_internal, Fx_selection_exists_p)
|
|
(Fns_get_selection_internal, Fns_store_selection_internal):
|
|
Use ns_symbol_to_pb and check if return value is nil.
|
|
(syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT. Remove defsubr
|
|
Sns_rotate_cut_buffers_internal. Sns_get_cut_buffer_internal
|
|
renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal
|
|
renamed to Sns_store_selection_internal.
|
|
(ns_handle_selection_request): Move code to Fx_own_selection_internal
|
|
and remove this function.
|
|
(ns_handle_selection_clear): Remove, never used.
|
|
(Fx_own_selection_internal): Move code from ns_handle_selection_request
|
|
here.
|
|
|
|
2011-12-17 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or
|
|
GID is unknown (Bug#10257).
|
|
|
|
2011-12-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* s/gnu-linux.h: Fix mark_memory typo (Bug#10286).
|
|
(GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory,
|
|
which caused a build failure on GNU/Linux IA-64. This problem was
|
|
introduced by my 2011-10-07 patch.
|
|
|
|
2011-12-15 Juri Linkov <juri@jurta.org>
|
|
|
|
* image.c (imagemagick_error): New function. (Bug#10112)
|
|
(imagemagick_load_image): Comment out `MagickSetResolution' call.
|
|
Use `imagemagick_error' where ImageMagick functions return
|
|
`MagickFalse'.
|
|
(Fimagemagick_types): Add `Fnreverse' to return the list in the
|
|
proper order.
|
|
|
|
2011-12-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* xftfont.c (xftfont_draw): Use the font metrics of s->font to
|
|
fill background (Bug#8992).
|
|
|
|
2011-12-13 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (Vwindow_combination_resize)
|
|
(Vwindow_combination_limit): Use t instead of non-nil in
|
|
doc-strings.
|
|
(Vrecenter_redisplay): Add first sentence of doc-string on
|
|
separate line.
|
|
(Frecenter): Fix doc-string typo.
|
|
|
|
2011-12-11 Kenichi Handa <handa@m17n.org>
|
|
|
|
* coding.c (Funencodable_char_position): Pay attention to the
|
|
buffer text relocation (Bug#9389).
|
|
|
|
2011-12-10 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c (x_term_init): Move call to gdk_window_add_filter before
|
|
gtk_init (Bug#10100).
|
|
|
|
2011-12-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if
|
|
IT->string is nil. (Bug#10263)
|
|
|
|
2011-12-10 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.h (x_free_frame_resources): Declare.
|
|
|
|
* nsfns.m (ns_get_defaults_value): New function (Bug#10103).
|
|
(Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value.
|
|
|
|
* nsterm.h (ns_get_defaults_value): Declare.
|
|
|
|
* nsterm.m (ns_default): Call ns_get_defaults_value.
|
|
|
|
2011-12-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero.
|
|
(Bug#10170)
|
|
|
|
2011-12-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
|
|
that where the value of an _OBJC_* symbol points to is in the .bss
|
|
section (Bug#10240).
|
|
|
|
2011-12-08 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
|
|
|
|
* coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)
|
|
after the loop to call ccl_driver at least once (Bug#8619).
|
|
|
|
2011-12-08 Kenichi Handa <handa@m17n.org>
|
|
|
|
* ftfont.c (get_adstyle_property): Fix previous change
|
|
(Bug#10233).
|
|
|
|
2011-12-07 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32.c (init_environment): If no_site_lisp, remove site-lisp
|
|
dirs from the default value of EMACSLOADPATH (bug#10208).
|
|
|
|
2011-12-07 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in
|
|
installation and source directories as well. (Bug#10208)
|
|
|
|
2011-12-06 Chong Yidong <cyd@gnu.org>
|
|
|
|
* minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228).
|
|
|
|
2011-12-06 Glenn Morris <rgm@gnu.org>
|
|
|
|
* process.c (start_process_unwind): Treat any pid <= 0, except -2,
|
|
as an error, not just -1. (Bug#10217)
|
|
|
|
2011-12-05 Chong Yidong <cyd@gnu.org>
|
|
|
|
* keyboard.c (process_special_events): New function.
|
|
(swallow_events, Finput_pending_p): Use it (Bug#10195).
|
|
|
|
2011-12-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* coding.c (encode_designation_at_bol): Don't use uninitialized
|
|
local variable (Bug#9318).
|
|
|
|
2011-12-05 Kenichi Handa <handa@m17n.org>
|
|
|
|
* ftfont.c (get_adstyle_property): If the font is not BDF nor PCF,
|
|
return Qnil (Bug#8046, Bug#10193).
|
|
|
|
2011-12-05 Kenichi Handa <handa@m17n.org>
|
|
|
|
* coding.c (encode_designation_at_bol): New args charbuf_end and
|
|
dst. Return the number of produced bytes. Callers changed.
|
|
(coding_set_source): Return how many bytes coding->source was
|
|
relocated.
|
|
(coding_set_destination): Return how many bytes
|
|
coding->destination was relocated.
|
|
(CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET)
|
|
(CODING_CHAR_CHARSET_P): Adjust for the avove changes.
|
|
|
|
2011-12-05 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
|
|
|
|
* coding.c (CODING_CHAR_CHARSET_P): New macro.
|
|
(encode_coding_emacs_mule, encode_coding_iso_2022): Use the above
|
|
macro (Bug#9318).
|
|
|
|
2011-12-05 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
The following changes are to fix Bug#9318.
|
|
|
|
* coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros.
|
|
(encode_coding_emacs_mule, ENCODE_ISO_CHARACTER)
|
|
(encode_coding_iso_2022, encode_coding_sjis)
|
|
(encode_coding_big5, encode_coding_charset): Use the above macros.
|
|
|
|
2011-12-05 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* lisp.h (process_quit_flag): Fix external declaration.
|
|
|
|
2011-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
Don't macro-inline non-performance-critical code.
|
|
* eval.c (process_quit_flag): New function.
|
|
* lisp.h (QUIT): Use it.
|
|
|
|
2011-12-04 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m (get_geometry_from_preferences): New function.
|
|
(Fx_create_frame): Call get_geometry_from_preferences (Bug#10103).
|
|
|
|
2011-12-04 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* emacs.c (Qkill_emacs): Define.
|
|
(syms_of_emacs): Initialize it.
|
|
* keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
|
|
Qquit_flag to `kill-emacs' instead.
|
|
(quit_throw_to_read_char): Add parameter `from_signal'.
|
|
All callers changed. Call Fkill_emacs if requested and safe.
|
|
* lisp.h (QUIT): Call Fkill_emacs if requested.
|
|
|
|
2011-12-03 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* widget.c (update_wm_hints): Return if wmshell is null.
|
|
(widget_update_wm_size_hints): New function.
|
|
|
|
* widget.h (widget_update_wm_size_hints): Declare.
|
|
|
|
* xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call
|
|
widget_update_wm_size_hints (Bug#10104).
|
|
|
|
2011-12-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_invisible_prop): If the invisible text ends just
|
|
before a newline, prepare the bidi iterator for consuming the
|
|
newline, and keep the current paragraph direction. (Bug#10183)
|
|
(redisplay_window): Don't let `margin' become negative. (Bug#10192)
|
|
|
|
2011-12-02 Juri Linkov <juri@jurta.org>
|
|
|
|
* search.c (Fword_search_regexp): New Lisp function created from
|
|
`wordify'. Change type of arg `lax' from `int' to `Lisp_Object'.
|
|
(Fword_search_backward, Fword_search_forward)
|
|
(Fword_search_backward_lax, Fword_search_forward_lax):
|
|
Use `Fword_search_regexp' instead of `wordify'. Doc fix.
|
|
(syms_of_search): Define `Sword_search_regexp'. (Bug#10145)
|
|
|
|
2011-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fileio.c (Finsert_file_contents): Move after-change-function call
|
|
to before the "handled:" label, since all "goto handled" appear in
|
|
cases where the *-change-functions have already been properly called
|
|
(bug#10117).
|
|
|
|
2011-12-01 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* keyboard.c (interrupt_signal): Don't call kill-emacs when
|
|
waiting for input. (Bug#10169)
|
|
|
|
2011-11-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (adjust_glyph_matrix): Remove the assertion that
|
|
verifies glyph row's hash code--we have just reallocated the
|
|
glyphs, so their contents can be complete garbage. (Bug#10164)
|
|
|
|
2011-11-30 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check.
|
|
|
|
2011-11-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
|
|
attributes are tested _before_ calling verify_row_hash, to protect
|
|
against GCC re-ordering of the tests. (Bug#10164)
|
|
|
|
2011-11-29 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.h (struct x_output): net_wm_state_hidden_seen is new.
|
|
|
|
* xterm.c (handle_one_xevent): Only set async_visible and friends
|
|
if net_wm_state_hidden_seen is non-zero (Bug#10002)
|
|
(get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
|
|
_NET_WM_STATE_HIDDEN is in NET_WM_STATE.
|
|
|
|
2011-11-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Remove GCPRO-related macros that exist only to avoid shadowing locals.
|
|
* lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR)
|
|
(GCPRO6_VAR, UNGCPRO_VAR): Remove. See
|
|
<http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
|
|
All uses changed to use GCPRO1 etc.
|
|
(GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO):
|
|
Revert to old implementation (i.e., before 2011-03-11).
|
|
|
|
2011-11-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* dispnew.c (scrolling_window): Truncate overlaps in copy destination
|
|
of scroll runs so as to avoid assigning disabled bogus rows and
|
|
unnecessary graphics copy operations.
|
|
|
|
2011-11-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
|
|
(snprintf) [_MSC_VER]: Redirect to _snprintf.
|
|
(strtoll) [_MSC_VER]: Redirect to _strtoi64.
|
|
(malloc, free, realloc, calloc): Redirect to e_* only when
|
|
compiling Emacs.
|
|
|
|
* lisp.h (GCTYPEBITS): Move before first use.
|
|
(ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
|
|
(DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
|
|
this macro definition.
|
|
|
|
* s/ms-w32.h (tzname): Redirect to _tzname for all values of
|
|
_MSC_VER.
|
|
|
|
2011-11-27 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (xg_create_frame_widgets):
|
|
Call gtk_window_set_has_resize_grip (FALSE) if that function is
|
|
present with Gtk+ 2.0.
|
|
|
|
2011-11-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c (Finsert_file_contents): Undo previous change; see
|
|
<http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
|
|
|
|
2011-11-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Rename locals to avoid shadowing.
|
|
* fileio.c (Finsert_file_contents):
|
|
Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing.
|
|
* process.c (wait_reading_process_output):
|
|
Rename inner 'proc' to 'p' to avoid shadowing.
|
|
Indent for consistency with usual Emacs style.
|
|
|
|
2011-11-25 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (redisplay_window): If cursor row is not fully visible
|
|
after recentering, and scroll-conservatively is set to a large
|
|
number, scroll window by a few more lines to make the cursor fully
|
|
visible and out of scroll-margin. (Bug#10105)
|
|
(start_display): Don't move to the next line if the display should
|
|
start at a newline that is part of a display vector or an overlay
|
|
string. (Bug#10119)
|
|
|
|
2011-11-24 Juri Linkov <juri@jurta.org>
|
|
|
|
* image.c (imagemagick_load_image): Move `MagickSetResolution' down
|
|
after the `MagickPingImage' call. (Bug#10112)
|
|
|
|
2011-11-23 Chong Yidong <cyd@gnu.org>
|
|
|
|
* window.c (Fcoordinates_in_window_p): Accept only live windows.
|
|
|
|
2011-11-23 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* buffer.c (Fkill_buffer): Run replace_buffer_in_windows before
|
|
making another buffer current. (Bug#10114)
|
|
|
|
2011-11-23 Glenn Morris <rgm@gnu.org>
|
|
|
|
* font.c (font_find_for_lface) [HAVE_NS]: Ignore case. (Bug#2526)
|
|
|
|
2011-11-23 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (compute_stop_pos): Check validity of end_charpos before
|
|
using it (Bug#5984).
|
|
|
|
2011-11-22 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode-
|
|
and header-lines, as they don't have one computed for them.
|
|
(Bug#10098)
|
|
|
|
* .gdbinit (prow): Make displayed values more self-explaining.
|
|
Add row's hash code.
|
|
|
|
2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* process.c (wait_reading_process_output): Fix asynchrounous
|
|
GnuTLS socket handling on some versions of the GnuTLS library.
|
|
(wait_reading_process_output): Add comment and URL.
|
|
|
|
2011-11-21 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c (x_clear_frame): Reinstate the XClearWindow call.
|
|
|
|
2011-11-21 Chong Yidong <cyd@gnu.org>
|
|
|
|
* window.c (Fnext_window, Fprevious_window): Doc fix.
|
|
|
|
2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup.
|
|
|
|
2011-11-20 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo.
|
|
|
|
2011-11-20 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (Fset_window_combination_limit): Rename argument
|
|
STATUS to LIMIT.
|
|
(Vwindow_combination_limit): Remove "status" from doc-string.
|
|
|
|
2011-11-20 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* m/ibms390.h: Remove.
|
|
* m/ibms390x.h: Don't include "ibms390.h".
|
|
|
|
2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fileio.c (Finsert_file_contents): Add missing gcpro1 variable.
|
|
Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
|
|
|
|
2011-11-20 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* casetab.c (Fset_case_table):
|
|
* charset.c (Fcharset_after): Fix typos.
|
|
|
|
2011-11-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Standardize on VIRT_ADDR_VARIES behavior (Bug#10042).
|
|
Otherwise, valgrind does not work on some platforms.
|
|
Problem reported by Andreas Schwab in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
|
|
* puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
|
|
is set, removing the need for VIRT_ADDRESS_VARIES.
|
|
(PURE_P): Use a more-efficient implementation that needs just one
|
|
comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
|
|
number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
|
|
to 4 (xorl, subq, cmpq, setbe).
|
|
* alloc.c (pure): Always extern now, since that's the
|
|
VIRT_ADDR_VARIES behavior.
|
|
(PURE_POINTER_P): Use a single comparison, not two, for
|
|
consistency with the new puresize.h.
|
|
* lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
|
|
* m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
|
|
Remove VIRT_ADDR_VARIES no longer needed.
|
|
|
|
2011-11-19 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
|
|
(erase_phys_cursor, update_window_cursor, show_mouse_face)
|
|
(cursor_in_mouse_face_p): If the cursor position is out of bounds,
|
|
behave as if the cursor position were at the window margin.
|
|
|
|
* window.c (get_phys_cursor_glyph): If the window is hscrolled,
|
|
and the cursor position is out of bounds, behave as if the cursor
|
|
position were at the window margin. (Bug#10075)
|
|
|
|
2011-11-18 Chong Yidong <cyd@gnu.org>
|
|
|
|
* window.c (Fwindow_combination_limit): Make first argument
|
|
non-optional, since it is meaningless for live windows like the
|
|
selected window.
|
|
|
|
2011-11-18 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs.
|
|
|
|
2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* intervals.c: Fix grafting over the whole buffer (bug#10071).
|
|
(graft_intervals_into_buffer): Simplify.
|
|
|
|
2011-11-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the
|
|
hash values of the two rows.
|
|
(copy_row_except_pointers): Preserve the used[] arrays and the
|
|
hash values of the two rows. (Bug#10035)
|
|
(add_row_entry): Add xassert to verify that ROW's hash code is valid.
|
|
|
|
* xdisp.c (row_hash): New function, body extracted from
|
|
compute_line_metrics.
|
|
(compute_line_metrics): Call row_hash, instead of computing the
|
|
hash code inline.
|
|
|
|
* dispnew.c (verify_row_hash): Call row_hash for computing the
|
|
hash code of a row, instead of duplicating code from xdisp.c.
|
|
|
|
* dispextern.h (row_hash): Add prototype.
|
|
|
|
2011-11-18 Tassilo Horn <tassilo@member.fsf.org>
|
|
|
|
* frame.c (delete_frame): Don't delete the terminal when the last
|
|
X frame is closed if emacs is built with GTK toolkit.
|
|
|
|
2011-11-17 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* window.c (syms_of_window) <window-combination-resize>: Fix typo.
|
|
|
|
2011-11-17 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (Vwindow_splits): Rename to
|
|
Vwindow_combination_resize. Suggested by Juri Linkov.
|
|
(Fsplit_window_internal): Use Vwindow_combination_resize instead
|
|
of Vwindow_splits.
|
|
|
|
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* nsfns.m (Fns_font_name):
|
|
* window.c (syms_of_window) <window-combination-limit>: Fix typos.
|
|
|
|
2011-11-16 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.h (window): Rename slot "nest" to "combination_limit".
|
|
* window.c (Fwindow_nest): Rename to Fwindow_combination_limit.
|
|
(Fset_window_nest): Rename to Fset_window_combination_limit.
|
|
(Vwindow_nest): Rename to Vwindow_combination_limit.
|
|
(recombine_windows, make_parent_window, make_window)
|
|
(Fsplit_window_internal, saved_window)
|
|
(Fset_window_configuration, save_window_save): Rename all
|
|
occurrences of window_nest to window_combination_limit.
|
|
|
|
2011-11-15 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* image.c (imagemagick_load_image): Fix typo.
|
|
|
|
2011-11-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (display_line): Move the call to
|
|
highlight_trailing_whitespace before the call to
|
|
compute_line_metrics, since the latter needs to see the final
|
|
faces of all the glyphs to compute ROW's hash value.
|
|
Fixes assertion violations in row_equal_p. (Bug#10035)
|
|
|
|
2011-11-14 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32proc.c (reader_thread): Don't check pending input if cp->fd < 0,
|
|
just return (bug#10044).
|
|
|
|
2011-11-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* makefile.w32-in (HEAPSIZE): New variable, allows to build temacs
|
|
with user-defined heap size. Bump the default size of the temacs
|
|
heap to 27MB, to avoid memory warning when running temacs.
|
|
($(TEMACS)): Use HEAPSIZE instead of a hardcoded value.
|
|
|
|
* dispnew.c (scrolling_window): Fix incorrect indices in accessing
|
|
current_matrix and desired_matrix. (Bug#9990)
|
|
(verify_row_hash) [XASSERTS]: New function.
|
|
(adjust_glyph_matrix, row_equal_p): Use it in xassert to verify
|
|
that the hash value of glyph rows is correct.
|
|
|
|
2011-11-12 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.h (window): Remove splits slot.
|
|
* window.c (Fwindow_splits, Fset_window_splits): Remove.
|
|
(Fdelete_other_windows_internal, make_parent_window)
|
|
(make_window, Fsplit_window_internal, Fdelete_window_internal)
|
|
(Fset_window_configuration, save_window_save): Don't deal with
|
|
split status of windows.
|
|
(saved_window): Remove splits slot.
|
|
(Vwindow_splits): Rewrite doc-string.
|
|
|
|
2011-11-11 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xfns.c (unwind_create_frame):
|
|
* nsfns.m (unwind_create_frame):
|
|
* w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in
|
|
Vframe_list (Bug#9999).
|
|
|
|
2011-11-11 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext.
|
|
|
|
2011-11-11 Kenichi Handa <handa@m17n.org>
|
|
|
|
* callproc.c (Fcall_process): Set the member dst_multibyte of
|
|
process_coding.
|
|
|
|
2011-11-11 Johan Bockgård <bojohan@gnu.org>
|
|
|
|
* xdisp.c (fill_composite_glyph_string): Always set s->face, to
|
|
avoid a crash (bug#9496).
|
|
|
|
2011-11-09 Chong Yidong <cyd@gnu.org>
|
|
|
|
* window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
|
|
(Fwindow_inside_absolute_pixel_edges): Only allow live windows.
|
|
|
|
2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
|
|
|
|
2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Avoid some portability problems by eschewing 'extern inline' functions.
|
|
The trivial performance wins aren't worth the portability hassles; see
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>
|
|
et seq.
|
|
* dispextern.h (window_box, window_box_height, window_text_bottom_y)
|
|
(window_box_width, window_box_left, window_box_left_offset)
|
|
(window_box_right, window_box_right_offset): Undo previous change,
|
|
by removing the "extern"s.
|
|
* intervals.c (adjust_intervals_for_insertion)
|
|
(adjust_intervals_for_deletion): Undo previous change,
|
|
making these static again.
|
|
(offset_intervals, temp_set_point_both, temp_set_point)
|
|
(copy_intervals_to_string): No longer inline.
|
|
* xdisp.c (window_text_bottom_y, window_box_width)
|
|
(window_box_height, window_box_left_offset)
|
|
(window_box_right_offset, window_box_left, window_box_right)
|
|
(window_box): No longer inline.
|
|
|
|
2011-11-08 Chong Yidong <cyd@gnu.org>
|
|
|
|
* window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
|
|
(Fwindow_body_height, Fwindow_body_width): Move from Lisp.
|
|
Signal an error if not a live window.
|
|
(Fwindow_total_width, Fwindow_total_height): Move from Lisp.
|
|
(Fwindow_total_size, Fwindow_body_size): Move to Lisp.
|
|
|
|
2011-11-07 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* lisp.h (syms_of_abbrev): Remove declaration.
|
|
Reported by CHENG Gao <chenggao@royau.me>.
|
|
|
|
2011-11-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (check_windows_init_file): Don't look for term/w32-win.el
|
|
if Vpurify_flag is non-nil. Fixes a crash when running w32 build
|
|
of temacs in GUI mode.
|
|
|
|
2011-11-07 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.h: Declare delete_all_child_windows instead of
|
|
delete_all_subwindows.
|
|
* window.c (Fwindow_nest, Fset_window_nest)
|
|
(Fset_window_new_total, Fset_window_new_normal)
|
|
(Fwindow_resize_apply): Don't use term subwindow in doc-strings.
|
|
(delete_all_subwindows): Rename to delete_all_child_windows.
|
|
(Fdelete_other_windows_internal, Fset_window_configuration):
|
|
Call delete_all_child_windows instead of delete_all_subwindows.
|
|
* frame.c (delete_frame): Call delete_all_child_windows instead
|
|
of delete_all_subwindows.
|
|
|
|
2011-11-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
|
|
This is also needed for porting to any host where GC_MARK_STACK is
|
|
not GC_MAKE_GCPROS_NOOPS.
|
|
(which_symbols): Use it.
|
|
|
|
2011-11-07 Kenichi Handa <handa@m17n.org>
|
|
|
|
* coding.c (coding_set_destination): Check coding->src_pos only
|
|
when coding->src_object is a buffer (bug#9910).
|
|
|
|
* process.c (send_process): Set the member src_multibyte of coding
|
|
to 0 (bug#9911) when sending a unibyte text.
|
|
|
|
* callproc.c (Fcall_process): Set the member src_multibyte of
|
|
process_coding to 0 (bug#9912).
|
|
|
|
2011-11-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* xmenu.c (cleanup_widget_value_tree): New function.
|
|
(xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
|
|
calling free_menubar_widget_value_tree directly (Bug#9830).
|
|
|
|
2011-11-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix some portability problems with 'inline'.
|
|
* dispextern.h (window_box, window_box_height, window_text_bottom_y)
|
|
(window_box_width, window_box_left, window_box_left_offset)
|
|
(window_box_right, window_box_right_offset): Declare extern.
|
|
Otherwise, these inline functions do not conform to C99 and
|
|
are miscompiled by Microsoft compilers. Reported by Eli Zaretskii in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>.
|
|
* intervals.c (adjust_intervals_for_insertion)
|
|
(adjust_intervals_for_deletion): Now extern, because otherwise the
|
|
extern inline functions 'offset_intervals' couldn't refer to it.
|
|
(static_offset_intervals): Remove.
|
|
(offset_intervals): Rewrite using the old contents of
|
|
static_offset_intervals. The old version didn't conform to C99
|
|
because an extern inline function contained a reference to an
|
|
identifier with static linkage.
|
|
|
|
2011-11-06 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* keyboard.c (interrupt_signal): Don't call kill-emacs while in
|
|
GC.
|
|
|
|
2011-11-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (init_iterator, reseat_to_string): Don't set the
|
|
iterator's bidi_p flag if Vpurify_flag is non-nil. (Bug#9963)
|
|
(Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil,
|
|
return Qleft_to_right.
|
|
|
|
2011-11-06 Chong Yidong <cyd@gnu.org>
|
|
|
|
* window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
|
|
(Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
|
|
(Fset_window_splits, Fwindow_nest, Fset_window_nest)
|
|
(Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
|
|
(Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
|
|
(Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
|
|
(Fwindow_vscroll): Doc fix.
|
|
(Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
|
|
argument, since it makes no sense to pass a live window and for
|
|
consistency with window-child.
|
|
|
|
2011-11-05 Christoph Scholtes <cschol2112@googlemail.com>
|
|
|
|
* makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to
|
|
support MSVC.
|
|
|
|
2011-11-05 Jason Rumney <jasonr@gnu.org>
|
|
|
|
* w32font.c (font_matches_spec): Filter out non-Japanese kana fonts.
|
|
(add_font_entity_to_list): Filter out non-Japanese Shift-JIS
|
|
fonts (Bug#6029).
|
|
(add_font_entity_to_list): Fix logic errors in mixed boolean and
|
|
bitwise arithmetic preventing use of unicode-sip and non-truetype
|
|
opentype fonts.
|
|
|
|
2011-11-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* s/ms-w32.h (fstat, stat, utime): Move redirections to
|
|
"emacs"-only part.
|
|
|
|
* w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
|
|
initialization code to keep similarity to xfns.c after changes
|
|
from 2011-11-05.
|
|
|
|
2011-11-05 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.
|
|
(unwind_create_frame): New function (Bug#9943).
|
|
(Fx_create_frame): Restructure code to be more similar to the one in
|
|
xfns.c. Call record_unwind_protect with unwind_create_frame (Bug#9943).
|
|
Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943).
|
|
Move terminal->reference_count++ just before making the frame official
|
|
(Bug#9943).
|
|
|
|
* nsterm.m (x_free_frame_resources): New function.
|
|
(x_destroy_window): Move code to x_free_frame_resources.
|
|
|
|
* xfns.c (unwind_create_frame): Fix comment.
|
|
(Fx_create_frame, x_create_tip_frame):
|
|
Move terminal->reference_count++ just before making the frame
|
|
official. Move initialization of image_cache_refcount and
|
|
dpyinfo_refcount before calling init_frame_faces (Bug#9943).
|
|
|
|
2011-11-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Support MSVC build with newer versions of Visual Studio.
|
|
* makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
|
|
Nmake barfs on that. Use $(OBJ*_c) variables instead, defined on
|
|
nt/gmake.defs.
|
|
|
|
* lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
|
|
which are not supported by MSVC.
|
|
(Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
|
|
(Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
|
|
bitfields.
|
|
(Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
|
|
types in bitfields.
|
|
(DEFUN) [_MSC_VER]: Define in a different way for MSVC.
|
|
|
|
* w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
|
|
|
|
2011-11-05 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
|
|
|
|
Support MSVC build with newer versions of Visual Studio.
|
|
* w32.c: Don't include w32api.h for MSVC.
|
|
(init_environment) [_MSC_VER]: Call sys_access, not _access.
|
|
|
|
* s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
|
|
[_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
|
|
(fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
|
|
(malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
|
|
e_* cousins.
|
|
(alloca) [_MSC_VER]: Define to _alloca.
|
|
|
|
* lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
|
|
|
|
* regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
|
|
|
|
2011-11-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (note_mouse_highlight): If either of
|
|
previous/next-single-property-change returns nil, treat that as
|
|
the beginning or the end of the buffer. (Bug#9955)
|
|
|
|
2011-11-04 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or
|
|
label is not null (Bug#9951).
|
|
(xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl
|
|
may be NULL.
|
|
|
|
2011-11-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.c (Fwindow_body_size): Mention in the doc string that the
|
|
return value is in frame's canonical units. (Bug#9949)
|
|
|
|
2011-11-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (note_mouse_highlight): Initialize `area'. (Bug#9947)
|
|
|
|
* w32fns.c (unwind_create_frame): If needed, free the glyph
|
|
matrices of the partially constructed frame. (Bug#9943)
|
|
* xfns.c (unwind_create_frame): Likewise.
|
|
|
|
2011-11-01 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
|
|
Don't stop backward scan on the continuation glyph, even though
|
|
its CHARPOS is positive.
|
|
(mouse_face_from_buffer_pos, note_mouse_highlight):
|
|
Rename cover_string to disp_string.
|
|
|
|
2011-11-01 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (temp_output_buffer_show): Don't use
|
|
Vtemp_buffer_show_specifiers.
|
|
(Vtemp_buffer_show_specifiers): Remove unused variable.
|
|
|
|
2011-10-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
|
|
past the beginning of the current glyph matrix.
|
|
|
|
2011-10-30 Adam Sjøgren <asjo@koldfront.dk> (tiny change)
|
|
|
|
* xterm.c: Include X11/Xproto.h if HAVE_GTK3.
|
|
(x_error_handler): Ignore BadMatch for X_SetInputFocus for
|
|
HAVE_GTK3 (Bug#9869).
|
|
|
|
* gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize
|
|
type to GDK_NOTHING so valgrind does not complain (Bug#9901).
|
|
|
|
* xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893).
|
|
|
|
* xterm.c: Declare x_handle_net_wm_state to return int.
|
|
(handle_one_xevent): Check if we are iconified but don't have
|
|
_NET_WM_STATE_HIDDEN. If do, treat as deiconify (Bug#9893).
|
|
(get_current_wm_state): Return non-zero if not hidden,
|
|
check for _NET_WM_STATE_HIDDEN (Bug#9893).
|
|
(do_ewmh_fullscreen): Ignore return value from get_current_wm_state.
|
|
(x_handle_net_wm_state): Return what get_current_wm_state returns.
|
|
(x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden.
|
|
|
|
2011-10-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE,
|
|
so that this new function doesn't get optimized away by a
|
|
whole-program optimizer. Make the 2nd arg EMACS_INT, not int.
|
|
|
|
2011-10-29 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* frame.h (MOUSE_HL_INFO): Remove excess parens.
|
|
|
|
2011-10-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix the `xbytecode' command.
|
|
* .gdbinit (xprintbytestr): New command.
|
|
(xwhichsymbols): Rename from `which'; all callers changed.
|
|
(xbytecode): Print the byte-code string as well.
|
|
|
|
2011-10-29 Kim Storm <storm@cua.dk>
|
|
|
|
* alloc.c (which_symbols): New function.
|
|
|
|
2011-10-29 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* minibuf.c (read_minibuf_noninteractive): Allow reading empty
|
|
line. (Bug#9903)
|
|
|
|
2011-10-29 Glenn Morris <rgm@gnu.org>
|
|
|
|
* process.c (wait_reading_process_output): Revert 2009-08-30 change.
|
|
Not clear what it was for, and it causes various bugs. (Bug#9839)
|
|
|
|
2011-10-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (note_mouse_highlight): Initialize `part', to avoid a
|
|
possible random value that matches one of those tested as
|
|
condition to clear the mouse face.
|
|
|
|
2011-10-28 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
|
|
|
|
2011-10-28 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* window.c (make_window): Initialize phys_cursor_on_p.
|
|
|
|
2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lisp.h (struct Lisp_Symbol): Update comments.
|
|
|
|
2011-10-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32font.c (w32_load_unicows_or_gdi32): Add missing return.
|
|
|
|
2011-10-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix Emacs on Windows 9X (bug#8562). Thanks to oslsachem
|
|
<oslsachem@gmail.com> for helping to debug this.
|
|
|
|
* w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w)
|
|
(g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w)
|
|
(g_b_init_get_glyph_outline_w): New static variables.
|
|
(GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc)
|
|
(GetGlyphOutlineW_Proc): New typedefs.
|
|
(w32_load_unicows_or_gdi32, get_outline_metrics_w)
|
|
(get_text_metrics_w, get_glyph_outline_w, globals_of_w32font):
|
|
New functions.
|
|
(w32font_open_internal, compute_metrics):
|
|
Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w
|
|
instead of calling the "wide" APIs directly.
|
|
|
|
* emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
|
|
|
|
* w32.h (syms_of_w32font): Add prototype.
|
|
|
|
2011-10-27 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* window.c (Fframe_root_window, Fframe_first_window, Fwindow_end)
|
|
(Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window)
|
|
(Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings.
|
|
(Fmove_to_window_line): Doc fix.
|
|
|
|
2011-10-27 Chong Yidong <cyd@gnu.org>
|
|
|
|
* process.c (make_process): Set gnutls_state to NULL.
|
|
|
|
* gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is
|
|
non-NULL, regardless of GNUTLS_INITSTAGE.
|
|
(Fgnutls_boot): Cleanups. Call emacs_gnutls_deinit if we signal
|
|
an error. Set process slots as soon as we allocate them.
|
|
|
|
* gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros.
|
|
|
|
2011-10-27 Chong Yidong <cyd@gnu.org>
|
|
|
|
* gnutls.c (emacs_gnutls_deinit): New function.
|
|
Deallocate credentials structures as well as calling gnutls_deinit.
|
|
(Fgnutls_deinit, Fgnutls_boot): Use it.
|
|
|
|
* process.c (make_process): Initialize GnuTLS credentials to NULL.
|
|
(deactivate_process): Call emacs_gnutls_deinit.
|
|
|
|
2011-10-27 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* image.c (x_create_x_image_and_pixmap):
|
|
* w32.c (sys_rename, w32_delayed_load):
|
|
* w32font.c (fill_in_logfont):
|
|
* w32reg.c (x_get_string_resource): Silence compiler warnings.
|
|
|
|
2011-10-26 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32fns.c (w32_default_color_map): New function,
|
|
extracted from Fw32_default_color_map.
|
|
(Fw32_default_color_map, Fx_open_connection): Use it. (Bug#9785)
|
|
|
|
2011-10-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2).
|
|
|
|
2011-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (test_undefined): New function (bug#9751).
|
|
(read_key_sequence): Use it to detect when a key is bound to `undefined'.
|
|
|
|
2011-10-25 Enami Tsugutomo <tsugutomo.enami@jp.sony.com>
|
|
|
|
* sysdep.c (init_sys_modes): Fix the check for the controlling
|
|
terminal (Bug#6649).
|
|
|
|
2011-10-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispextern.h (struct bidi_it): New member next_en_type.
|
|
|
|
* bidi.c (bidi_line_init): Initialize the next_en_type member.
|
|
(bidi_resolve_explicit_1): When next_en_pos is valid for the
|
|
current character, check also for next_en_type being WEAK_EN.
|
|
(bidi_resolve_weak): Don't enter the expensive loop if the current
|
|
position is before next_en_pos. Record the bidi type of the first
|
|
non-ET, non-BN character we find, in addition to its position.
|
|
(bidi_level_of_next_char): Invalidate next_en_type when
|
|
next_en_pos is over-stepped.
|
|
|
|
2011-10-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794)
|
|
* editfns.c: Rewrite current-time-zone so that it invokes
|
|
the equivalent of (format-time-string "%Z") to get the time zone name.
|
|
This fixes a bug when the time zone name contains characters that
|
|
need converting from the system time locale to Emacs internal format.
|
|
This fixes a shortcoming that I introduced in my 1999-10-19 patch:
|
|
that patch fixed format-time-string to do the conversion, but
|
|
I forgot to fix current-time-zone.
|
|
(format_time_string): New function, containing most of
|
|
what Fformat_time_string used to contain.
|
|
(Fformat_time_string): Rewrite in terms of format_time_string.
|
|
This doesn't change this function's behavior.
|
|
(current-time-zone): Rewrite to use format_time_string.
|
|
This fixes the bug reported by Michael Schierl in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
|
|
Jason Rumney's 2007-06-07 change worked around this bug, but
|
|
didn't fix it.
|
|
* systime.h (tzname, timezone): Remove no-longer-used declarations.
|
|
|
|
2011-10-19 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (start_display): If the character at POS is displayed
|
|
via a display vector, reset IT->current.dpvec_index to zero.
|
|
(try_window_reusing_current_matrix): If a line ends in a display
|
|
vector or the next line starts in a display vector, continue
|
|
redrawing the window even though the character position of
|
|
start_row was reached.
|
|
(Bug#9771, part 2)
|
|
|
|
2011-10-18 Chong Yidong <cyd@gnu.org>
|
|
|
|
* xdisp.c (get_next_display_element): Handle U+2010 and U+2011
|
|
with nobreak-char-display too.
|
|
|
|
2011-10-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix part 3 of bug#9771.
|
|
* bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
|
|
(bidi_resolve_neutral): Don't enter the expensive loop looking for
|
|
non-neutral characters if the current character is a paragraph
|
|
separator (a.k.a. Newline). This avoids running the same
|
|
expensive loop twice, once when we consume the preceding newline
|
|
and the other time when the line actually needs to be displayed.
|
|
Avoid the loop when we see neutrals on the base embedding level
|
|
following a character whose directionality is the same as the
|
|
paragraph's. This avoids running the expensive loop when a line
|
|
ends in a long sequence of neutrals, like control characters.
|
|
Add assertion against STRONG_AL type. Slightly rearrange code
|
|
that determines the type of a neutral given the first non-neutral
|
|
that follows it.
|
|
(bidi_level_of_next_char): Set next_en_pos to zero when
|
|
invalidating its info.
|
|
|
|
2011-10-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (push_display_prop): Determine whether to record string
|
|
or buffer position by IT->string, not by IT->method. Allow
|
|
GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4)
|
|
(move_it_vertically_backward): Don't look for character position
|
|
immediately after the newline when in a continuation line.
|
|
(Bug#9771, part 1)
|
|
|
|
2011-10-15 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (coordinates_in_window): Rewrite and delabelize
|
|
vertical border check. (Bug#5357) (Bug#9618)
|
|
|
|
2011-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
|
|
errors in XSetWindowBorder (bug#9310).
|
|
|
|
2011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* editfns.c (Fset_time_zone_rule): Replace free with xfree to
|
|
avoid crash when xmalloc overrun checking is enabled.
|
|
|
|
2011-10-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
|
|
itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect
|
|
cursor motion with <left> and <right> arrow keys.
|
|
|
|
* bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
|
|
some callers set that themselves.
|
|
|
|
2011-10-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (find_row_edges): Handle the case where ROW comes from a
|
|
display string and the previous row comes from the same string and
|
|
is empty. (Bug#9739) (Bug#9738)
|
|
|
|
2011-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* doc.c (get_doc_string): Encode file name (bug#9735).
|
|
|
|
2011-10-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_level_of_next_char):
|
|
* xdisp.c (get_visually_first_element): Remove old incorrect
|
|
comments regarding the Unicode Line Separator character.
|
|
|
|
* bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
|
|
|
|
2011-10-12 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* alloc.c (Fgc_status): Do not access beyond zombies array
|
|
boundary if nzombies > MAX_ZOMBIES.
|
|
* alloc.c (dump_zombies): Add missing format specifier.
|
|
|
|
2011-10-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xdisp.c (set_cursor_from_row): Simplify conditionals,
|
|
to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
|
|
|
|
* lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
|
|
Some packages use them to denote characters with modifiers.
|
|
|
|
2011-10-11 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
|
|
(GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid
|
|
matching a pp-number. Rename parameter var to var1.
|
|
|
|
2011-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709).
|
|
|
|
2011-10-08 Glenn Morris <rgm@gnu.org>
|
|
|
|
* callint.c (Fcall_interactively): Give a more explicit error for the
|
|
'c' case with a non-character input. (Bug#8479)
|
|
|
|
2011-10-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (hscroll_window_tree): Support hscroll in right-to-left
|
|
lines.
|
|
(set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
|
|
lines that are hscrolled on the left.
|
|
|
|
* dispnew.c (buffer_posn_from_coords): Account for a possible
|
|
presence of header-line. (Bug#4426)
|
|
|
|
2011-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* buffer.c (syms_of_buffer) <enable-multibyte-characters>:
|
|
Don't advertise functionality which we discourage or doesn't work.
|
|
|
|
2011-10-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
|
|
or sizeof. __alignof__ gives the wrong answer on Fedora x86-64
|
|
with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
|
|
this makes Emacs dump core during garbage collection on rare
|
|
occasions. sizeof is obviously inferior to offsetof here, so
|
|
stick with offsetof.
|
|
(GC_POINTER_ALIGNMENT): New macro.
|
|
(mark_memory): Omit 3rd (offset) arg; caller changed.
|
|
Don't assume EMACS_INT alignment is the same as pointer alignment.
|
|
|
|
2011-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (read_key_sequence_remapped): New var.
|
|
(read_key_sequence): Compute remapping in the right buffer.
|
|
(command_loop_1): Use read_key_sequence's remapping directly.
|
|
|
|
2011-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* dired.c (file_name_completion): Don't expand file name.
|
|
(Ffile_name_completion, Ffile_name_all_completions): Expand file name
|
|
before checking file name handler.
|
|
|
|
* minibuf.c (Finternal_complete_buffer): Only show internal buffers if
|
|
they've been requested explicitly (bug#9591).
|
|
|
|
2011-10-01 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* keymap.c (Fsingle_key_description): Use make_specified_string
|
|
instead of build_string to build string from push_key_description.
|
|
(Bug#5193)
|
|
|
|
2011-09-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* buffer.h (struct buffer): Use time_t, not int, for a time stamp.
|
|
This fixes a Y2038 bug on 64-bit hosts.
|
|
* buffer.c (reset_buffer):
|
|
* fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
|
|
(Fclear_buffer_auto_save_failure):
|
|
Use 0, not -1, to represent an unset failure time, since time_t
|
|
might not be signed.
|
|
|
|
Remove dependency on glibc malloc internals.
|
|
* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
|
|
Move back here from lisp.h, but with their new implementations.
|
|
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
|
|
(XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here.
|
|
* charset.c (charset_table_init): New static var.
|
|
(syms_of_charset): Use it instead of xmalloc. This removes a
|
|
dependency on glibc malloc internals. See Eli Zaretskii's comment in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00815.html>.
|
|
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
|
|
Move back to alloc.c.
|
|
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
|
|
(XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c.
|
|
|
|
2011-09-30 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (windowDidResize): Call x_set_window_size only when
|
|
ns_in_resize is true. Otherwise set pixelwidth/height and
|
|
call change_frame_size (Bug#9628).
|
|
|
|
2011-09-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port --enable-checking=all to Fedora 14 x86-64.
|
|
* charset.c (syms_of_charset): Also account for glibc malloc's
|
|
internal overhead when calculating the initial malloc maximum.
|
|
|
|
Port --enable-checking=all to Fedora 14 x86.
|
|
* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
|
|
Move to lisp.h.
|
|
(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
|
|
(overrun_check_realloc, overrun_check_free):
|
|
Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
|
|
That way, xmalloc returns a properly-aligned pointer even if
|
|
XMALLOC_OVERRUN_CHECK is defined. The old debugging code happened
|
|
to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
|
|
* charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
|
|
into account when calculating the initial malloc maximum.
|
|
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
|
|
Move here from alloc.c, so that charset.c can use it too.
|
|
Properly align; the old code wasn't right for common 32-bit hosts
|
|
when configured with --enable-checking=all.
|
|
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
|
|
(XMALLOC_OVERRUN_SIZE_SIZE): New macros.
|
|
|
|
2011-09-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined,
|
|
use EDOM.
|
|
|
|
2011-09-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (compute_display_string_end): If there's no display
|
|
string at CHARPOS, return -1.
|
|
|
|
* bidi.c (bidi_fetch_char): When compute_display_string_end
|
|
returns a negative value, treat the character as a normal
|
|
character not covered by a display string. (Bug#9624)
|
|
|
|
2011-09-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* lread.c (Fread_from_string): Fix typo in docstring.
|
|
|
|
2011-09-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_invisible_prop): If invisible text ends on a
|
|
newline, reseat the iterator instead of bidi-iterating there one
|
|
character at a time. (Bug#9610)
|
|
(BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past
|
|
TO_CHARPOS if the bidi iterator is at base embedding level.
|
|
|
|
2011-09-27 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lread.c (readevalloop): Use correct code for NBSP.
|
|
(read1): Likewise. (Bug#9608)
|
|
|
|
2011-09-25 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (Fdbus_register_signal): When service is not
|
|
registered, use nil in Vdbus_registered_objects_table. (Bug#9581)
|
|
|
|
2011-09-25 Glenn Morris <rgm@gnu.org>
|
|
|
|
* buffer.c (truncate-lines): Doc fix.
|
|
|
|
2011-09-24 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* window.c (Fwindow_prev_buffers, Fset_window_prev_buffers)
|
|
(Fset_window_next_buffers): Doc fix.
|
|
|
|
2011-09-24 Glenn Morris <rgm@gnu.org>
|
|
|
|
* minibuf.c (read_minibuf): Disable line truncation. (Bug#5715)
|
|
|
|
2011-09-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking.
|
|
* xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
|
|
* indent.c (Fvertical_motion): Fix == vs = typo.
|
|
|
|
2011-09-24 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispnew.c (syms_of_display) <redisplay-dont-pause>:
|
|
Default value is now t. Doc fix.
|
|
|
|
* indent.c (Fvertical_motion): Compute and apply the overshoot
|
|
logic when moving up, not only when moving down. Fix the
|
|
confusing name and values of the it_overshoot_expected variable;
|
|
logic changes accordingly. (Bug#9254) (Bug#9549)
|
|
|
|
* xdisp.c (pos_visible_p): Produce correct pixel coordinates when
|
|
CHARPOS is covered by a display string which includes newlines.
|
|
(move_it_vertically_backward): Avoid inflooping when START_CHARPOS
|
|
is covered by a display string with embedded newlines.
|
|
|
|
2011-09-24 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (Fdbus_register_signal): Add match rule to
|
|
Vdbus_registered_objects_table. (Bug#9581)
|
|
(Fdbus_register_method, Vdbus_registered_objects_table):
|
|
Fix docstring.
|
|
|
|
2011-09-24 Jim Meyering <meyering@redhat.com>
|
|
|
|
do not ignore write error for any output size
|
|
The previous change was incomplete.
|
|
While it makes emacs --batch detect the vast majority of stdout
|
|
write failures, errors were still ignored whenever the output size is
|
|
k * (BUFSIZ+1) - 4. E.g., on a system with BUFSIZ of 4096,
|
|
$ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
|
|
&& echo FAIL: ignored write error
|
|
FAIL: ignored write error
|
|
$ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
|
|
&& echo FAIL: ignored write error
|
|
FAIL: ignored write error
|
|
* emacs.c (Fkill_emacs): Also test ferror. (Bug#9574)
|
|
|
|
2011-09-23 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* emacs.c (Fkill_emacs): In noninteractive mode exit
|
|
non-successfully if a write error occurred on stdout. (Bug#9574)
|
|
|
|
2011-09-21 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pop_it): Allow it->object that is a cons cell to pass
|
|
the xassert test.
|
|
|
|
* dispextern.h (struct it): Update the comment documenting what
|
|
can it->OBJECT be.
|
|
|
|
2011-09-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_cursor_from_row): If the row ends in a newline from
|
|
a display string, extend search for cursor position to end of row.
|
|
(find_row_edges): If the row ends in a newline from a display
|
|
string, increment its MATRIX_ROW_END_CHARPOS by one. (Bug#9549)
|
|
Handle the case of a display string with multiple newlines.
|
|
(Fcurrent_bidi_paragraph_direction): Fix search for previous
|
|
non-empty line. Fixes confusing cursor motion with arrow keys at
|
|
the beginning of a line that starts with whitespace.
|
|
|
|
2011-09-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is
|
|
(bug#9493).
|
|
|
|
2011-09-18 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xfns.c (Fx_create_frame): Handle the bitmapIcon resource as
|
|
boolean (Bug#9154).
|
|
|
|
2011-09-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (display_line): Record maximum and minimum buffer
|
|
positions even if no glyphs were produced (e.g., by a zero-width
|
|
stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record
|
|
buffer positions that will be removed from the glyph row because
|
|
they don't fit.
|
|
(produce_stretch_glyph): Fix a bug in :align-to on a TTY when the
|
|
column is beyond frame width: don't subtract 1 "pixel" when
|
|
computing width of the stretch.
|
|
(reseat_at_next_visible_line_start): Undo the change made on
|
|
2011-09-17 that saved paragraph information and restored it after
|
|
the call to `reseat'. (Bug#9545)
|
|
|
|
2011-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* xdisp.c (expose_window): Save original value of phys_cursor_on_p
|
|
and turn window cursor on if cleared (Bug#9415).
|
|
|
|
2011-09-18 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* search.c (boyer_moore): Take unibyte characters from pattern
|
|
literally. (Bug#9458)
|
|
|
|
2011-09-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (reseat_at_next_visible_line_start): Fix last change.
|
|
|
|
2011-09-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problem found by static checking.
|
|
* xdisp.c (reseat_at_next_visible_line_start): Mark locals as
|
|
initialized, to pacify gcc -Wuninitialized.
|
|
|
|
* fileio.c: Report proper errno when syscall falls.
|
|
(Finsert_file_contents): Save and restore errno,
|
|
so that report_file_error outputs the correct diagnostic.
|
|
(Fwrite_region) [CLASH_DETECTION]: Likewise.
|
|
|
|
2011-09-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* .gdbinit (pgx): Fix references to fields of `struct glyph'.
|
|
|
|
2011-09-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (produce_stretch_glyph): Another fix for changes made on
|
|
2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530)
|
|
|
|
2011-09-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (reseat_at_next_visible_line_start): Keep information
|
|
about the current paragraph and restore it after the call to reseat.
|
|
|
|
* bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
|
|
(bidi_find_paragraph_start): Search back for paragraph beginning
|
|
at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE.
|
|
(bidi_move_to_visually_next): Only trigger paragraph-related
|
|
computations when the last character is a newline or at EOB, not
|
|
just any NEUTRAL_B. (Bug#9470)
|
|
|
|
* xdisp.c (set_cursor_from_row): Don't invoke special treatment of
|
|
truncated lines if point is covered by a display string. (Bug#9524)
|
|
|
|
2011-09-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xselect.c: Relax test for outgoing X longs (Bug#9498).
|
|
(cons_to_x_long): New function.
|
|
(lisp_data_to_selection_data): Use it. Correct the test for
|
|
short-versus-long data; it was negated. Break out of vector
|
|
loop, for efficiency, when a long datum is discovered.
|
|
|
|
2011-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (Fquote): Document its non-consing behavior (bug#9482).
|
|
|
|
2011-09-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
|
|
GCC PR/17406) by declaring this function with external scope.
|
|
|
|
2011-09-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
|
|
Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
|
|
|
|
2011-09-15 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* editfns.c (Fformat): Correctly handle text properties on "%%".
|
|
|
|
2011-09-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xterm.c (x_draw_composite_glyph_string_foreground):
|
|
* w32term.c (x_draw_composite_glyph_string_foreground):
|
|
* term.c (encode_terminal_code):
|
|
* composite.c (composition_update_it, get_composition_id):
|
|
* xdisp.c (get_next_display_element)
|
|
(fill_composite_glyph_string): Add comments about special meaning
|
|
of TAB characters in a composition.
|
|
|
|
2011-09-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
|
|
This occurs when processing a multibyte format.
|
|
Problem reported by Wolfgang Jenker.
|
|
|
|
2011-09-15 Johan Bockgård <bojohan@gnu.org>
|
|
|
|
* xdisp.c (try_cursor_movement): Only check for exact match if
|
|
cursor hpos found by set_cursor_from_row is valid. (Bug#9495)
|
|
|
|
2011-09-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Remove unused external symbols.
|
|
* dispextern.h (calc_pixel_width_or_height): Remove decl.
|
|
* xdisp.c (calc_pixel_width_or_height): Now static.
|
|
* doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove.
|
|
* indent.c (check_display_width):
|
|
* w32term.c: Fix comment to match code.
|
|
* xterm.c, xterm.h (x_catching_errors): Remove.
|
|
|
|
2011-09-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xselect.c: Use signed conversions more consistently (Bug#9498).
|
|
(selection_data_to_lisp_data): Assume incoming selection data are
|
|
signed integers, not unsigned. This is to be consistent with
|
|
outgoing selection data, which was modified to use signed integers
|
|
in as part of the fix to Bug#9196 in response to Jan D.'s comment
|
|
in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#32> that X11
|
|
expects long, not unsigned long.
|
|
|
|
2011-09-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (try_window_reusing_current_matrix): Fix incorrect
|
|
computation of loop end. Reported by Johan Bockgård
|
|
<bojohan@gnu.org>.
|
|
|
|
2011-09-13 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* frame.c (Fother_visible_frames_p): Function deleted.
|
|
|
|
2011-09-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* indent.c (compute_motion): Process display vector front to back
|
|
rather than the other way around. (Bug#2496)
|
|
|
|
2011-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fileio.c (Finsert_file_contents): Don't assume beg_offset is 0.
|
|
|
|
2011-09-11 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* minibuf.c (Fread_from_minibuffer): Doc fix.
|
|
|
|
2011-09-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (produce_stretch_glyph): Fix a typo made in changes from
|
|
2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9475)
|
|
|
|
2011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a
|
|
value for non-existent files.
|
|
|
|
2011-09-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* fileio.c (Finsert_file_contents): If the file cannot be opened,
|
|
set its "size" to -1. This will set the modtime_size field of
|
|
the corresponding buffer to -1, which is what
|
|
verify-visited-file-modtime expects for files that do not exist.
|
|
(Bug#9139)
|
|
|
|
2011-09-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls
|
|
here ...
|
|
* lisp.h: ... from here. push_key_description is no longer
|
|
defined in keyboard.c, so its declaration should not be in
|
|
lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE
|
|
logically belongs with push_key_description.
|
|
|
|
2011-09-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* buffer.h: Include <sys/types.h> instead of <time.h>.
|
|
Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386.
|
|
Problem reported by Herbert J. Skuhra.
|
|
|
|
2011-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* xml.c (parse_region): Make the parsing work for
|
|
non-comment-starting XML files again (bug#9144).
|
|
|
|
2011-09-10 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* image.c (gif_load): Fix calculation of bottom and right corner.
|
|
(Bug#9468)
|
|
|
|
2011-09-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (MAX_DISP_SCAN): Decrease to 250. Prevents sluggish
|
|
redisplay in small windows.
|
|
|
|
2011-09-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* frame.c (x_report_frame_params): Cast to avoid compiler warnings.
|
|
|
|
2011-09-08 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
|
|
Operate on live windows only.
|
|
|
|
2011-09-08 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* emacs.c (my_heap_start): #ifdef to avoid warnings when unused.
|
|
|
|
2011-09-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it
|
|
only under bidi iteration.
|
|
|
|
2011-09-07 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (xg_make_tool_item): Insert comment about eventbox.
|
|
|
|
2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
isnan: Fix porting problem to Solaris 10 with bundled gcc.
|
|
Without this fix, the command to link temacs failed due to an
|
|
undefined symbol __builtin_isnan. This is because
|
|
/usr/include/iso/math_c99.h #defines isnan(x) to
|
|
__builtin_isnan(x), but the bundled gcc, which identifies itself
|
|
as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have
|
|
a __builtin_isnan.
|
|
* floatfns.c (isnan): #undef, and then #define to a clone of
|
|
what's in data.c.
|
|
(Fisnan): Always define, since it's always available now.
|
|
(syms_of_floatfns): Always define isnan at the Lisp level.
|
|
|
|
2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169).
|
|
|
|
2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c: Fix bugs with large file offsets (Bug#9428).
|
|
The previous code assumed that file offsets (off_t values) fit in
|
|
EMACS_INT variables, which is not true on typical 32-bit hosts.
|
|
The code messed up by falsely reporting buffer overflow in cases
|
|
such as (insert-file-contents "big" nil 1 2) into an empty buffer
|
|
when "big" contains more than 2**29 bytes, even though this
|
|
inserts just one byte and does not overflow the buffer.
|
|
(Finsert_file_contents): Store file offsets as off_t
|
|
values, not as EMACS_INT values. Check for overflow when
|
|
converting between EMACS_INT and off_t. When checking for
|
|
buffer overflow or for overlap, take the offsets into account.
|
|
Don't use EMACS_INT for small values where int suffices.
|
|
When checking for overlap, fix a typo: ZV was used where
|
|
ZV_BYTE was intended.
|
|
(Fwrite_region): Don't assume off_t fits into 'long'.
|
|
* buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT.
|
|
|
|
2011-09-05 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (xd_signature_cat): Rename from signature_cat.
|
|
|
|
2011-09-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
sprintf-related integer and memory overflow issues (Bug#9412).
|
|
|
|
* doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values.
|
|
(esprintf, exprintf, evxprintf): New functions.
|
|
* keyboard.c (command_loop_level): Now EMACS_INT, not int.
|
|
(cmd_error): Kbd macro iterations count is now EMACS_INT, not int.
|
|
(modify_event_symbol): Do not assume that the length of
|
|
name_alist_or_stem is safe to alloca and fits in int.
|
|
(Fexecute_extended_command): Likewise for function name and binding.
|
|
(Frecursion_depth): Wrap around reliably on integer overflow.
|
|
* keymap.c (push_key_description): First arg is now EMACS_INT, not int,
|
|
since some callers pass EMACS_INT values.
|
|
(Fsingle_key_description): Don't crash if symbol name contains more
|
|
than MAX_ALLOCA bytes.
|
|
* minibuf.c (minibuf_level): Now EMACS_INT, not int.
|
|
(get_minibuffer): Arg is now EMACS_INT, not int.
|
|
* lisp.h (get_minibuffer, push_key_description): Reflect API changes.
|
|
(esprintf, exprintf, evxprintf): New decls.
|
|
* window.h (command_loop_level, minibuf_level): Reflect API changes.
|
|
|
|
* dbusbind.c (signature_cat): New function.
|
|
(xd_signature, Fdbus_register_signal):
|
|
Do not overrun buffer; instead, report string overflow.
|
|
|
|
* dispnew.c (add_window_display_history): Don't overrun buffer.
|
|
Truncate instead; this is OK since it's just a log.
|
|
|
|
* editfns.c (Fcurrent_time_zone): Don't overrun buffer
|
|
even if the time zone offset is outlandishly large.
|
|
Don't mishandle offset == INT_MIN.
|
|
|
|
* emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer
|
|
when creating daemon; the previous buffer-overflow check was incorrect.
|
|
|
|
* eval.c (verror): Simplify by rewriting in terms of evxprintf,
|
|
which has the guts of the old verror function.
|
|
|
|
* filelock.c (lock_file_1, lock_file): Don't blindly alloca long name;
|
|
use SAFE_ALLOCA instead. Use esprintf to avoid int-overflow issues.
|
|
|
|
* font.c: Include <float.h>, for DBL_MAX_10_EXP.
|
|
(font_unparse_xlfd): Don't blindly alloca long strings.
|
|
Don't assume XINT result fits in int, or that XFLOAT_DATA * 10
|
|
fits in int, when using sprintf. Use single snprintf to count
|
|
length of string rather than counting it via multiple sprintfs;
|
|
that's simpler and more reliable.
|
|
(font_unparse_fcname): Use it to avoid sprintf buffer overrun.
|
|
(generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not
|
|
sprintf, in case result does not fit in int.
|
|
|
|
* fontset.c (num_auto_fontsets): Now printmax_t, not int.
|
|
(fontset_from_font): Print it.
|
|
|
|
* frame.c (tty_frame_count): Now printmax_t, not int.
|
|
(make_terminal_frame, set_term_frame_name): Print it.
|
|
(x_report_frame_params): In X, window IDs are unsigned long,
|
|
not signed long, so print them as unsigned.
|
|
(validate_x_resource_name): Check for implausibly long names,
|
|
and don't assume name length fits in 'int'.
|
|
(x_get_resource_string): Don't blindly alloca invocation name;
|
|
use SAFE_ALLOCA. Use esprintf, not sprintf, in case result does
|
|
not fit in int.
|
|
|
|
* gtkutil.c: Include <float.h>, for DBL_MAX_10_EXP.
|
|
(xg_check_special_colors, xg_set_geometry):
|
|
Make sprintf buffers a bit bigger, to avoid potential buffer overrun.
|
|
|
|
* lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA.
|
|
Use esprintf, not sprintf, in case result does not fit in int.
|
|
|
|
* macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int.
|
|
(Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating
|
|
it as a large positive number.
|
|
(Fexecute_kbd_macro): Don't assume repeat count fits in int.
|
|
* macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int.
|
|
|
|
* nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf,
|
|
in case result does not fit in int.
|
|
|
|
* print.c (float_to_string): Detect width overflow more reliably.
|
|
(print_object): Make sprintf buffer a bit bigger, to avoid potential
|
|
buffer overrun. Don't assume list length fits in 'int'. Treat
|
|
print length of 0 as 0, not as infinity; to be consistent with other
|
|
uses of print length in this function. Don't overflow print length
|
|
index. Don't assume hash table size fits in 'long', or that
|
|
vectorlike size fits in 'unsigned long'.
|
|
|
|
* process.c (make_process): Use printmax_t, not int, to format
|
|
process-name gensyms.
|
|
|
|
* sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function.
|
|
|
|
* term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger
|
|
to avoid potential buffer overrun.
|
|
|
|
* xfaces.c (x_update_menu_appearance): Don't overrun buffer
|
|
if X resource line is longer than 512 bytes.
|
|
|
|
* xfns.c (x_window): Make sprintf buffer a bit bigger
|
|
to avoid potential buffer overrun.
|
|
|
|
* xterm.c (x_io_error_quitter): Don't overrun sprintf buffer.
|
|
|
|
* xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF.
|
|
|
|
2011-09-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer overflow fixes for scrolling, etc.
|
|
Without these, Emacs silently mishandles large integers sometimes.
|
|
For example, "C-u 4294967297 M-x recenter" was treated as if
|
|
it were "C-u 1 M-x recenter" on a typical 64-bit host.
|
|
|
|
* xdisp.c (try_window_id): Check Emacs fixnum range before
|
|
converting to 'int'.
|
|
|
|
* window.c (window_scroll_line_based, Frecenter):
|
|
Check that an Emacs fixnum is in range before assigning it to 'int'.
|
|
(Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for
|
|
values converted from Emacs fixnums.
|
|
(Frecenter): Don't wrap around a line count if it is out of 'int'
|
|
range; instead, treat it as an extreme value.
|
|
(Fset_window_configuration, compare_window_configurations):
|
|
Use ptrdiff_t, not int, for index that might exceed 2 GiB.
|
|
|
|
* search.c (Freplace_match): Use ptrdiff_t, not int, for indexes
|
|
that can exceed INT_MAX. Check that EMACS_INT value is in range
|
|
before assigning it to the (possibly-narrower) index.
|
|
(match_limit): Don't assume that a fixnum can fit in 'int'.
|
|
|
|
* print.c (print_object): Use ptrdiff_t, not int, for index that can
|
|
exceed INT_MAX.
|
|
|
|
* indent.c (position_indentation): Now takes ptrdiff_t, not int.
|
|
(Fvertical_motion): Don't wrap around LINES values that don't fit
|
|
in 'int'. Instead, treat them as extreme values. This is good
|
|
enough for windows, which can't have more than INT_MAX lines anyway.
|
|
|
|
2011-09-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* Require libxml/parser.h to avoid compilation warning.
|
|
|
|
* emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown.
|
|
|
|
* xml.c (parse_region): Don't call xmlCleanupParser after parsing,
|
|
since this reportedly can destroy thread storage.
|
|
|
|
2011-08-30 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* syntax.c (find_defun_start): Update all cache variables if
|
|
exiting early (Bug#9401).
|
|
|
|
2011-08-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings.
|
|
|
|
* xdisp.c (produce_stretch_glyph): No longer static, compiled also
|
|
when HAVE_WINDOW_SYSTEM is not defined. Support both GUI and TTY
|
|
frames. Call tty_append_glyph in the TTY case. (Bug#9402)
|
|
|
|
* term.c (tty_append_glyph): New function.
|
|
(produce_stretch_glyph): Static function and its prototype deleted.
|
|
|
|
* dispextern.h (produce_stretch_glyph, tty_append_glyph):
|
|
Add prototypes.
|
|
|
|
2011-08-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (parse_image_spec): Check for nonnegative, not for positive,
|
|
when checking :margin (Bug#9390).
|
|
(IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR):
|
|
Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR,
|
|
so that the name doesn't mislead. All uses changed.
|
|
|
|
2011-08-28 Johan Bockgård <bojohan@gnu.org>
|
|
|
|
* term.c (init_tty) [HAVE_GPM]: Move mouse settings after
|
|
set_tty_hooks.
|
|
|
|
2011-08-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (move_it_to): Don't bail out early when reaching
|
|
position beyond to_charpos, if we are scanning backwards.
|
|
(move_it_vertically_backward): When DY == 0, make sure we get to
|
|
the first character in the line after the newline.
|
|
|
|
2011-08-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* ccl.c: Improve and simplify overflow checking (Bug#9196).
|
|
(ccl_driver): Do not generate an out-of-range pointer.
|
|
(Fccl_execute_on_string): Remove unnecessary check for
|
|
integer overflow, noted by Stefan Monnier in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00979.html>.
|
|
Remove a FIXME that didn't need fixing.
|
|
Simplify the newly-introduced buffer reallocation code.
|
|
|
|
2011-08-27 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h.
|
|
|
|
2011-08-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer and memory overflow issues (Bug#9196).
|
|
|
|
* doc.c (get_doc_string): Rework so that
|
|
get_doc_string_buffer_size is the actual buffer size, rather than
|
|
being 1 less than the actual buffer size; this makes xpalloc more
|
|
convenient.
|
|
|
|
* image.c (x_allocate_bitmap_record, cache_image):
|
|
* xselect.c (Fx_register_dnd_atom):
|
|
Simplify previous changes by using xpalloc.
|
|
|
|
* buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT,
|
|
since either will do and ptrdiff_t is convenient with xpalloc.
|
|
|
|
* charset.c (charset_table_size)
|
|
(struct charset_sort_data.priority): Now ptrdiff_t.
|
|
(charset_compare): Don't overflow if priorities differ greatly.
|
|
(Fsort_charsets): Don't assume list length fits in int.
|
|
Check for size-calculation overflow when allocating sort data.
|
|
(syms_of_charset): Allocate an initial charset table that is
|
|
just under 64 KiB, to avoid problems with glibc malloc and mmap.
|
|
|
|
* cmds.c (internal_self_insert): Check for size-calculation overflow.
|
|
|
|
* composite.h (struct composition.glyph_len): Now int, not unsigned.
|
|
The actual value is always <= INT_MAX, and leaving it unsigned made
|
|
overflow checking harder.
|
|
|
|
* dispextern.h (struct glyph_matrix.rows_allocated)
|
|
(struct face_cache.size): Now ptrdiff_t, for convenience in use
|
|
with xpalloc. The values are still always <= INT_MAX.
|
|
|
|
* indent.c (compute_motion): Adjust to region_cache_forward sig change.
|
|
|
|
* lisp.h (xnmalloc, xnrealloc, xpalloc): New decls.
|
|
(SAFE_NALLOCA): New macro.
|
|
|
|
* region-cache.c (struct boundary.pos, find_cache_boundary)
|
|
(move_cache_gap, insert_cache_boundary, delete_cache_boundaries)
|
|
(set_cache_region, invalidate_region_cache)
|
|
(revalidate_region_cache, know_region_cache, region_cache_forward)
|
|
(region_cache_backward, pp_cache):
|
|
Use ptrdiff_t, not EMACS_INT, since either will do. This is needed
|
|
so that ptrdiff_t * can be passed to xpalloc.
|
|
(struct region_cache): Similarly, for gap_start, gap_len, cache_len,
|
|
beg_unchanged, end_unchanged, buffer_beg, buffer_end members.
|
|
(pp_cache): Don't assume cache_len fits in int.
|
|
* region-cache.h: Adjust extern decls to match.
|
|
|
|
* search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not
|
|
EMACS_INT, since either will do, for xpalloc.
|
|
|
|
* alloc.c: Include verify.h, and check that int fits in ptrdiff_t.
|
|
(xnmalloc, xnrealloc, xpalloc): New functions.
|
|
|
|
* bidi.c (bidi_shelve_header_size): New constant.
|
|
(bidi_cache_ensure_space, bidi_shelve_cache): Use it.
|
|
(bidi_cache_ensure_space): Avoid integer overflow when allocating.
|
|
|
|
* bidi.c (bidi_cache_shrink):
|
|
* buffer.c (overlays_at, overlays_in, record_overlay_string)
|
|
(overlay_strings):
|
|
Don't update size of array until after memory allocation succeeds,
|
|
because xmalloc/xrealloc may not return.
|
|
(struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help
|
|
now that we have proper integer overflow checking.
|
|
(record_overlay_string, overlay_strings): Catch overflows when
|
|
calculating size of overlay_str_buf.
|
|
|
|
* callproc.c (Fcall_process): Check for size overflow when
|
|
calculating size of args2.
|
|
(child_setup): Avoid overflow by using size_t rather than ptrdiff_t.
|
|
Normally we prefer signed values, but sticking with ptrdiff_t would
|
|
require adding more-complicated checks.
|
|
|
|
* ccl.c (Fccl_execute_on_string): Check for memory overflow.
|
|
Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do.
|
|
Redo buffer-overflow calculations to avoid integer overflow.
|
|
Add a FIXME comment where memory seems to be over-allocated.
|
|
|
|
* character.c (Fstring): Check for size-calculation overflow.
|
|
|
|
* coding.c (produce_chars): Redo buffer-overflow calculations to avoid
|
|
unnecessary integer overflow. Check for size overflow.
|
|
(encode_coding_object): Don't update size until xmalloc succeeds.
|
|
|
|
* composite.c (get_composition_id): Check for overflow in glyph
|
|
length calculations.
|
|
|
|
Integer and memory overflow fixes for display code.
|
|
* dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int.
|
|
* dispnew.c (adjust_glyph_matrix, realloc_glyph_pool)
|
|
(scrolling_window): Check for overflow in size calculations.
|
|
(line_draw_cost, realloc_glyph_pool, add_row_entry):
|
|
Don't assume glyph table len fits in int.
|
|
(struct row_entry.bucket, row_entry_pool_size, row_entry_idx)
|
|
(row_table_size): Now ptrdiff_t, not int.
|
|
(scrolling_window): Avoid overflow in size calculations.
|
|
Don't update size until allocation succeeds.
|
|
* fns.c (concat): Check for overflow in size calculations.
|
|
(next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT.
|
|
* lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
|
|
(NEXT_ALMOST_PRIME_LIMIT): New constant.
|
|
|
|
* doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int.
|
|
(get_doc_string): Check for size calculation overflow.
|
|
Don't update size until allocation succeeds.
|
|
(get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not
|
|
EMACS_INT, where ptrdiff_t will do.
|
|
(Fsubstitute_command_keys): Check for string overflow.
|
|
|
|
* editfns.c (set_time_zone_rule): Don't assume environment length
|
|
fits in int.
|
|
(message_length): Now ptrdiff_t, not int.
|
|
(Fmessage_box): Don't update size until allocation succeeds.
|
|
Don't assume message length fits in int.
|
|
(Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do.
|
|
|
|
* emacs.c (main): Do not reallocate argv, since there is a null at
|
|
the end that can be overwritten, and this way there's no need to
|
|
worry about size-calculation overflow.
|
|
(sort_args): Check for size-calculation overflow.
|
|
|
|
* eval.c (init_eval_once, grow_specpdl): Don't update size until
|
|
alloc succeeds.
|
|
(call_debugger, grow_specpdl): Redo calculations to avoid overflow.
|
|
|
|
* frame.c (set_menu_bar_lines, x_set_frame_parameters)
|
|
(x_set_scroll_bar_width, x_figure_window_size):
|
|
Check for integer overflow.
|
|
(x_set_alpha): Do not assume XINT fits in int.
|
|
|
|
* frame.h (struct frame): Use int, not EMACS_INT, where int works.
|
|
This is for the members text_lines, text_cols, total_lines, total_cols,
|
|
where the system imposes an 'int' limit.
|
|
|
|
* fringe.c (Fdefine_fringe_bitmap):
|
|
Don't update size until alloc works.
|
|
|
|
* ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring)
|
|
(ftfont_shape_by_flt): Check for integer overflow in size calculations.
|
|
|
|
* gtkutil.c (get_utf8_string, xg_store_widget_in_map):
|
|
Check for size-calculation overflow.
|
|
(get_utf8_string): Use ptrdiff_t, not size_t, where either will
|
|
do, as we prefer signed integers.
|
|
(id_to_widget.max_size, id_to_widget.used)
|
|
(xg_store_widget_in_map, xg_remove_widget_from_map)
|
|
(xg_get_widget_from_map, xg_get_scroll_id_for_window)
|
|
(xg_remove_scroll_bar, xg_update_scrollbar_pos):
|
|
Use and return ptrdiff_t, not int.
|
|
(xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int.
|
|
* gtkutil.h: Change prototypes to match the above.
|
|
|
|
* image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these
|
|
are duplicate now that they've been promoted to lisp.h.
|
|
(x_allocate_bitmap_record, x_alloc_image_color)
|
|
(make_image_cache, cache_image, xpm_load):
|
|
Don't update size until alloc is done.
|
|
(xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors)
|
|
(x_detect_edges):
|
|
Check for size calculation overflow.
|
|
(ct_colors_allocated_max): New constant.
|
|
(x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid
|
|
overflow.
|
|
|
|
* keyboard.c (read_char, menu_bar_items, tool_bar_items)
|
|
(read_char_x_menu_prompt, read_char_minibuf_menu_width)
|
|
(read_char_minibuf_menu_prompt, follow_key, read_key_sequence):
|
|
Use ptrdiff_t, not int, to count maps.
|
|
(read_char_minibuf_menu_prompt): Check for overflow in size
|
|
calculations. Don't update size until allocation succeeds.
|
|
Redo calculations to avoid overflow.
|
|
* keyboard.h: Change prototypes to match the above.
|
|
|
|
* keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int,
|
|
to count maps.
|
|
(current_minor_maps): Check for size calculation overflow.
|
|
* keymap.h: Change prototypes to match the above.
|
|
|
|
* lread.c (read1, init_obarray): Don't update size until alloc done.
|
|
|
|
* macros.c (Fstart_kbd_macro): Don't update size until alloc done.
|
|
(store_kbd_macro_char): Reorder multiplicands to avoid overflow.
|
|
|
|
* nsterm.h (struct ns_color_table.size, struct ns_color_table.avail):
|
|
Now ptrdiff_t, not int.
|
|
* nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes.
|
|
(ns_draw_fringe_bitmap): Rewrite to avoid overflow.
|
|
|
|
* process.c (Fnetwork_interface_list): Check for overflow
|
|
in size calculation.
|
|
|
|
* region-cache.c (move_cache_gap): Check for size calculation overflow.
|
|
|
|
* scroll.c (do_line_insertion_deletion_costs): Check for size calc
|
|
overflow. Don't bother calling xmalloc when xrealloc will do.
|
|
|
|
* search.c (Freplace_match): Check for size calculation overflow.
|
|
(Fset_match_data): Don't assume list lengths fit in 'int'.
|
|
|
|
* sysdep.c (system_process_attributes): Use ptrdiff_t, not int,
|
|
for command line length. Do not attempt to address one before the
|
|
beginning of an array, as that's not portable.
|
|
|
|
* term.c (max_frame_lines): Remove; unused.
|
|
(encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t,
|
|
not int.
|
|
(encode_terminal_code, calculate_costs): Check for size
|
|
calculation overflow.
|
|
(encode_terminal_code): Use ptrdiff_t, not int, to record glyph
|
|
table lengths and related sizes. Don't update size until alloc
|
|
done. Redo calculations to avoid overflow.
|
|
(calculate_costs): Don't bother calling xmalloc when xrealloc will do.
|
|
|
|
* termcap.c (tgetent): Use ptrdiff_t, not int, to record results of
|
|
subtracting pointers.
|
|
(gobble_line): Check for overflow more carefully. Don't update size
|
|
until alloc done.
|
|
|
|
* tparam.c (tparam1): Use ptrdiff_t, not int, for sizes.
|
|
Don't update size until alloc done.
|
|
Redo size calculations to avoid overflow.
|
|
Check for size calculation overflow.
|
|
(main) [DEBUG]: Fix typo in invoking tparam1.
|
|
|
|
* xdisp.c (store_mode_line_noprop_char, x_consider_frame_title):
|
|
Use ptrdiff_t, not int, for sizes.
|
|
(store_mode_line_noprop_char): Don't update size until alloc done.
|
|
|
|
* xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face):
|
|
Use ptrdiff_t, not int, for sizes.
|
|
(Finternal_make_lisp_face, cache_face):
|
|
Check for size calculation overflow.
|
|
(cache_face): Treat size calculation overflows as if they were
|
|
memory exhaustion (the usual treatment), rather than aborting.
|
|
|
|
* xfns.c (x_encode_text, x_set_name_internal)
|
|
(Fx_change_window_property): Use ptrdiff_t, not int, to count
|
|
sizes, since they can exceed INT_MAX in size. Check for size
|
|
calculation overflow.
|
|
|
|
* xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc.
|
|
(xg_select): Check for size calculation overflow.
|
|
Don't update size until alloc done.
|
|
|
|
* xrdb.c (get_environ_db): Don't assume path length fits in int,
|
|
as sprintf is limited to int lengths.
|
|
|
|
* xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX)
|
|
(X_LONG_MIN): New macros.
|
|
Use them to make the following changes clearer.
|
|
(MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer.
|
|
This change doesn't affect the value now, but it may help remind
|
|
future maintainers not to raise the value too much later.
|
|
(SELECTION_QUANTUM): Remove, replacing with ...
|
|
(selection_quantum): ... new function, which avoids overflow.
|
|
All uses changed.
|
|
(struct selection_data.size): Now ptrdiff_t, not int, to avoid
|
|
assumption that selection length fits in 'int'.
|
|
(x_reply_selection_request, x_handle_selection_request)
|
|
(x_get_window_property, receive_incremental_selection)
|
|
(x_get_window_property_as_lisp_data, selection_data_to_lisp_data)
|
|
(lisp_data_to_selection_data, clean_local_selection_data):
|
|
Use ptrdiff_t, not int, to record length of selection.
|
|
(x_reply_selection_request, x_get_window_property)
|
|
(receive_incremental_selection, x_property_data_to_lisp):
|
|
Redo calculations to avoid overflow.
|
|
(x_reply_selection_request): When sending hint, ceiling it at
|
|
X_LONG_MAX rather than relying on wraparound overflow to send
|
|
something.
|
|
(x_get_window_property, receive_incremental_selection)
|
|
(lisp_data_to_selection_data, x_property_data_to_lisp):
|
|
Check for size-calculation overflow.
|
|
(x_get_window_property, receive_incremental_selection)
|
|
(lisp_data_to_selection_data, Fx_register_dnd_atom):
|
|
Don't store size until memory allocation succeeds.
|
|
(x_get_window_property): Plug memory leak on memory exhaustion.
|
|
Don't double-block input; malloc is safe here. Don't assume 2**34
|
|
- 4 fits in unsigned long. Add an xassert to check
|
|
XGetWindowProperty overflow. Be more careful about overflow
|
|
calculations, and distinguish size from memory overflow better.
|
|
(receive_incremental_selection): When tracing, don't assume
|
|
unsigned int is less than INT_MAX.
|
|
(x_selection_data_to_lisp_data): Remove unnecessary (and in theory
|
|
harmful) conversions of unsigned short to int.
|
|
(lisp_data_to_selection_data): Don't assume that integers
|
|
in the range -65535 through -1 fit in an X unsigned short.
|
|
Don't assume that ULONG_MAX == X_ULONG_MAX. Don't store into
|
|
result parameters unless successful. Rely on cons_to_unsigned
|
|
to report problems with elements; the old code wasn't right anyway.
|
|
(x_check_property_data): Check for int overflow; we cannot use
|
|
a wider type due to X limits.
|
|
(x_handle_dnd_message): Use unsigned int, to avoid int overflow.
|
|
|
|
* xsmfns.c (smc_save_yourself_CB): Check for size calc overflow.
|
|
|
|
* xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent)
|
|
(x_term_init): Check for size calculation overflow.
|
|
(x_color_cells): Don't store size until memory allocation succeeds.
|
|
(handle_one_xevent): Use ptrdiff_t, not int, for byte counts.
|
|
Don't assume alloca size is less than MAX_ALLOCA.
|
|
(x_term_init): Don't assume length fits in int (sprintf is limited
|
|
to int size).
|
|
|
|
Use ptrdiff_t for composition IDs.
|
|
* character.c (lisp_string_width):
|
|
* composite.c (composition_table_size, n_compositions)
|
|
(get_composition_id, composition_gstring_from_id):
|
|
* dispextern.h (struct glyph_string.cmp_id, struct composition_it.id):
|
|
* xdisp.c (BUILD_COMPOSITE_GLYPH_STRING):
|
|
* window.c (Frecenter):
|
|
Use ptrdiff_t, not int, for composition IDs.
|
|
* composite.c (get_composition_id): Check for integer overflow.
|
|
* composite.h: Adjust prototypes to match the above changes.
|
|
|
|
Use ptrdiff_t for hash table indexes.
|
|
* category.c (hash_get_category_set):
|
|
* ccl.c (ccl_driver):
|
|
* charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID):
|
|
* coding.c (coding_system_charset_list, detect_coding_system):
|
|
* coding.h (struct coding_system.id):
|
|
* composite.c (get_composition_id, gstring_lookup_cache):
|
|
* fns.c (hash_lookup, hash_put, Fgethash, Fputhash):
|
|
* image.c (xpm_get_color_table_h):
|
|
* lisp.h (hash_lookup, hash_put):
|
|
* minibuf.c (Ftest_completion):
|
|
Use ptrdiff_t for hash table indexes, not int (which is too
|
|
narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on
|
|
32-bit --with-wide-int hosts).
|
|
|
|
* charset.c (Fdefine_charset_internal): Check for integer overflow.
|
|
Add a FIXME comment about memory leaks.
|
|
(syms_of_charset): Don't assume xmalloc returns.
|
|
|
|
Don't assume that stated character widths fit in int.
|
|
* character.c (Fchar_width, c_string_width, lisp_string_width):
|
|
* character.h (CHAR_WIDTH):
|
|
* indent.c (MULTIBYTE_BYTES_WIDTH):
|
|
Use sanitize_char_width to avoid undefined and/or bad behavior
|
|
with outlandish widths.
|
|
* character.h (sanitize_tab_width): Rename from sanitize_width,
|
|
now that we have two such functions. All uses changed.
|
|
(sanitize_char_width): New inline function.
|
|
|
|
Don't assume that tab-width fits in int.
|
|
* character.h (sanitize_width): New inline function.
|
|
(SANE_TAB_WIDTH): New macro.
|
|
(ASCII_CHAR_WIDTH): Use it.
|
|
* indent.c (sane_tab_width): Remove. All uses replaced by
|
|
SANE_TAB_WIDTH (current_buffer).
|
|
* xdisp.c (init_iterator): Use SANE_TAB_WIDTH.
|
|
|
|
* fileio.c: Integer overflow issues with file modes.
|
|
(Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int.
|
|
|
|
* charset.c (read_hex): New arg OVERFLOW. All uses changed.
|
|
Remove unreachable code.
|
|
(read_hex, load_charset_map_from_file): Check for integer overflow.
|
|
|
|
* xterm.c: Don't go over XClientMessageEvent limit.
|
|
(scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed.
|
|
(x_send_scroll_bar_event): Likewise. Check that the size does not
|
|
exceed limits imposed by XClientMessageEvent, as well as the usual
|
|
ptrdiff_t and size_t limits.
|
|
|
|
* keyboard.c: Overflow, signedness and related fixes.
|
|
(make_lispy_movement): Use same integer type in forward decl
|
|
that is used in the definition.
|
|
(read_key_sequence, keyremap_step):
|
|
Change bufsize argument back to int, undoing my 2011-03-30 change.
|
|
We prefer signed types, and int is wide enough here.
|
|
(parse_tool_bar_item): Don't assume tool_bar_max_label_size is less
|
|
than TYPE_MAXIMUM (EMACS_INT) / 2. Don't let the label size grow
|
|
larger than STRING_BYTES_BOUND. Use ptrdiff_t for Emacs string
|
|
length, not size_t. Use ptrdiff_t for index, not int.
|
|
(keyremap_step, read_key_sequence): Redo bufsize check to avoid
|
|
possibility of integer overflow.
|
|
|
|
Overflow, signedness and related fixes for images.
|
|
|
|
* dispextern.h (struct it.stack[0].u.image.image_id)
|
|
(struct_it.image_id, struct image.id, struct image_cache.size)
|
|
(struct image_cache.used, struct image_cache.ref_count):
|
|
* gtkutil.c (update_frame_tool_bar):
|
|
* image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p)
|
|
(Fimage_metadata, free_image_cache, clear_image_cache, lookup_image)
|
|
(cache_image, mark_image_cache, x_kill_gs_process, Flookup_image):
|
|
* nsmenu.m (update_frame_tool_bar):
|
|
* xdisp.c (calc_pixel_width_or_height):
|
|
* xfns.c (image_cache_refcount):
|
|
Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits
|
|
on typical 64-bit hosts.
|
|
|
|
* image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
|
|
(x_bitmap_pixmap, x_create_x_image_and_pixmap):
|
|
Omit unnecessary casts to int.
|
|
(parse_image_spec): Check that integers fall into 'int' range
|
|
when the callers expect that.
|
|
(image_ascent): Redo ascent calculation to avoid int overflow.
|
|
(clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages.
|
|
(lookup_image): Remove unnecessary tests.
|
|
(xbm_image_p): Locals are now of int, not EMACS_INT,
|
|
since parse_image_check makes sure they fit into int.
|
|
(png_load, gif_load, svg_load_image):
|
|
Prefer int to unsigned where either will do.
|
|
(tiff_handler): New function, combining the cores of the
|
|
old tiff_error_handler and tiff_warning_handler.
|
|
This function is rewritten to use vsnprintf and thereby avoid
|
|
stack buffer overflows. It uses only the features of vsnprintf
|
|
that are common to both POSIX and native Microsoft.
|
|
(tiff_error_handler, tiff_warning_handler): Use it.
|
|
(tiff_load, gif_load, imagemagick_load_image):
|
|
Don't assume :index value fits in 'int'.
|
|
(gif_load): Omit unnecessary cast to double, and avoid double-rounding.
|
|
(imagemagick_load_image): Check that crop parameters fit into
|
|
the integer types that MagickCropImage accepts. Don't assume
|
|
Vimagemagick_render_type has a nonnegative value. Don't assume
|
|
size_t fits in 'long'.
|
|
(gs_load): Use printmax_t to print the widest integers possible.
|
|
Check for integer overflow when computing image height and width.
|
|
|
|
2011-08-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (redisplay_window): Don't force window start if point
|
|
will be invisible in the resulting window. (Bug#9324)
|
|
|
|
2011-08-25 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
|
|
the display spec is of the form `(space ...)'.
|
|
(handle_display_spec): Return the value returned by
|
|
handle_single_display_spec, not just 1 or zero.
|
|
(handle_single_display_spec): If the display spec is of the form
|
|
`(space ...)', and specifies display in the text area, return 2
|
|
rather than 1.
|
|
(try_cursor_movement): Check for the need to scroll more
|
|
accurately, and prefer exact match for point under bidi.
|
|
Don't advance `row' beyond the last row of the window.
|
|
|
|
* dispextern.h (struct bidi_it): Rename the disp_prop_p member
|
|
into disp_prop; all users changed.
|
|
|
|
* bidi.c (bidi_fetch_char): If compute_display_string_pos returns
|
|
DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character
|
|
for the text covered by the display property.
|
|
|
|
2011-08-25 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer.
|
|
Change return value to nil.
|
|
(Frecord_buffer): Delete unused function.
|
|
|
|
2011-08-24 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte
|
|
buffers, return left-to-right.
|
|
(set_cursor_from_row): Consider candidate row a win if its glyph
|
|
represents a newline and point is on that newline. Fixes cursor
|
|
positioning on the newline at EOL of R2L text within L2R
|
|
paragraph, and vice versa.
|
|
(try_cursor_movement): Check continued rows, in addition to
|
|
continuation rows. Fixes unwarranted scroll when point enters a
|
|
continued line of R2L text within an L2R paragraph, or vice versa.
|
|
(cursor_row_p): Consider the case of point being equal to
|
|
MATRIX_ROW_END_CHARPOS. Prevents cursor being stuck when moving
|
|
from the end of a short line to the beginning of a continued line
|
|
of R2L text within L2R paragraph.
|
|
(RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for
|
|
composed characters.
|
|
|
|
* bidi.c (bidi_check_type): Use xassert.
|
|
(bidi_cache_iterator_state): Update the disp_pos and disp_prop_p
|
|
members.
|
|
|
|
2011-08-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_get_type): Abort if we get zero as the bidi type of
|
|
a character.
|
|
|
|
2011-08-23 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* nsfont.m (ns_otf_to_script): Fix typo.
|
|
|
|
2011-08-22 Kenichi Handa <handa@m17n.org>
|
|
|
|
* chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a
|
|
extra slot even if the purpose is char-code-property-table.
|
|
|
|
2011-08-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (redisplay_window): When computing centering_position,
|
|
account for the height of the header line. (Bug#8874)
|
|
|
|
* dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos
|
|
instead of CHAR_TO_BYTE. Fixes a crash when a completion
|
|
candidate is selected by the mouse, and that candidate has a
|
|
composed character under the mouse.
|
|
|
|
* xdisp.c (x_produce_glyphs): Set it->nglyphs to 1. Fixes pixel
|
|
coordinates reported by pos-visible-in-window-p for a composed
|
|
character in column zero.
|
|
|
|
2011-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* cmds.c (Fself_insert_command): Mention post-self-insert-hook.
|
|
|
|
2011-08-22 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (BUFFER_POS_REACHED_P): If this is a composition,
|
|
consider it a hit if to_charpos is anywhere in the range of the
|
|
composed buffer positions.
|
|
|
|
2011-08-22 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* image.c (gif_load): Don't assume that each subimage has the same
|
|
dimensions as the base image. Handle disposal method that is
|
|
"undefined" by the gif spec (Bug#9335).
|
|
|
|
2011-08-20 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329).
|
|
(Fcondition_case): Document `debug' symbol in error handler.
|
|
|
|
2011-08-19 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
|
|
face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
|
|
from an Org mode buffer to a Speedbar frame.
|
|
|
|
* xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from
|
|
a composition, take its buffer position from IT->cmp_it.charpos.
|
|
Fixes cursor positioning at the beginning of a line that begins
|
|
with a composed character.
|
|
|
|
2011-08-18 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_get_type): If bidi_type_table reports zero as the
|
|
character bidirectional type, use STRONG_L instead. Fixes crashes
|
|
in a buffer produced by `describe-categories'.
|
|
|
|
* dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p
|
|
members before the level stack, so they would be saved and
|
|
restored when copying iterator state. Fixes incorrect reordering
|
|
around TABs covered by display properties.
|
|
|
|
2011-08-18 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* process.c (Fnetwork_interface_list): Correctly determine buffer size.
|
|
|
|
2011-08-17 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* eval.c (internal_condition_case, internal_condition_case_1)
|
|
(internal_condition_case_2, internal_condition_case_n):
|
|
Remove unnecessary aborts (Bug#9081).
|
|
|
|
2011-08-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file
|
|
has no `load' handler, try opening the file locally. (Bug#9311)
|
|
|
|
2011-08-16 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* gmalloc.c: Expand comment.
|
|
|
|
2011-08-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_cursor_from_row): Don't accept a previous candidate
|
|
if it fails the cursor_row_p test. Fixes cursor positioning at ZV.
|
|
|
|
2011-08-16 Ken Brown <kbrown@cornell.edu>
|
|
|
|
Fix memory allocation problems in Cygwin build (Bug#9273).
|
|
|
|
* unexcw.c ( __malloc_initialized): Declare external variable.
|
|
(fixup_executable): Force the dumped emacs to reinitialize malloc.
|
|
|
|
* gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo):
|
|
New variables.
|
|
(malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the
|
|
dumped emacs.
|
|
(_free_internal_nolock) [CYGWIN]: Ignore requests to free storage
|
|
in the static heap.
|
|
[CYGWIN] (special_realloc): New function.
|
|
(_realloc_internal_nolock) [CYGWIN]: Use the new function on
|
|
requests to realloc storage in the static heap.
|
|
|
|
2011-08-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* bidi.c (bidi_initialize): Remove unused local.
|
|
|
|
2011-08-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidimirror.h:
|
|
* biditype.h: Remove file.
|
|
* makefile.w32-in ($(BLD)/bidi.$(O)):
|
|
* deps.mk (bidi.o): Remove biditype.h and bidimirror.h.
|
|
|
|
* dispextern.h: Fix a typo in the comment to bidi_type_t.
|
|
|
|
* chartab.c: Improve commentary for the uniprop_table API.
|
|
|
|
* bidi.c (bidi_paragraph_init): Support zero value of
|
|
bidi_ignore_explicit_marks_for_paragraph_level.
|
|
(bidi_initialize): Use uniprop_table instead of including
|
|
biditype.h and bidimirror.h.
|
|
|
|
* xdisp.c (move_it_in_display_line_to): Don't reset pixel
|
|
coordinates of the iterator when restoring from ppos_it.
|
|
(Bug#9296)
|
|
|
|
2011-08-14 Kenichi Handa <handa@m17n.org>
|
|
|
|
* process.c (create_process): Call setup_process_coding_systems
|
|
after the pid of the process is set to -1 (Bug#8162).
|
|
|
|
2011-08-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (move_it_in_display_line_to): Don't invoke
|
|
IT_RESET_X_ASCENT_DESCENT when iterator position was restored from
|
|
ppos_it. Fixes vertical cursor motion when line beginning is
|
|
covered by an image. (Bug#9296)
|
|
|
|
2011-08-14 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.h (ns_run_ascript): Declare.
|
|
(NSAPP_DATA2_RUNASSCRIPT): Define.
|
|
|
|
* nsfns.m (as_script, as_result, as_status): New static variables.
|
|
(ns_run_ascript): New function.
|
|
(Fns_do_applescript): Set variables as_*. Make an NSApplicationDefined
|
|
event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start
|
|
the event loop. Get status from as_status (Bug#7276).
|
|
|
|
* nsterm.m (sendEvent): If event is NSApplicationDefined and
|
|
data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit
|
|
the event loop (Bug#7276).
|
|
|
|
2011-08-14 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* gnutls.c (QCgnutls_bootprop_priority)
|
|
(QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist)
|
|
(QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks)
|
|
(QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname)
|
|
(QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags)
|
|
(QCgnutls_bootprop_verify_hostname_error)
|
|
(QCgnutls_bootprop_callbacks_verify): Rename from
|
|
Qgnutls_bootprop_..., all uses changed.
|
|
|
|
* xfaces.c (QCignore_defface): Rename from Qignore_defface, all
|
|
uses changed.
|
|
|
|
2011-08-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xfaces.c (Qframe_set_background_mode): Now static.
|
|
* dispextern.h (Qframe_set_background_mode): Remove decl.
|
|
|
|
* process.c (Fnetwork_interface_info): Declare local only if needed.
|
|
|
|
2011-08-13 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477).
|
|
(Fnetwork_interface_list): Allocate in increments of bytes instead
|
|
of sizeof (struct ifreq). Iterate over ifconf.ifc_req by counting
|
|
bytes (Bug#8477). Count bytes correctly when ifr_addr is a struct
|
|
sockaddr.
|
|
(struct ifflag_def): notrailers is smart on OSX.
|
|
(Fnetwork_interface_info): Handle case when ifr_flags is negative.
|
|
Get hardware address with getifaddrs if available.
|
|
|
|
2011-08-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (iterate_out_of_display_property): xassert that
|
|
IT->position is set to within IT->object's boundaries. Break from
|
|
the loop as soon as EOB is reached; avoids infloops in redisplay
|
|
when IT->position is set up wrongly due to some bug.
|
|
Set IT->current to match the bidi iterator unconditionally.
|
|
(push_display_prop): Allow GET_FROM_STRING as IT->method on
|
|
entry. Force push_it to save on the stack the current
|
|
buffer/string position, to be restored by pop_it. Fix flags in
|
|
the iterator structure wrt the object coming from a display
|
|
property, as `line-prefix' and `wrap-prefix' are not ``replacing''
|
|
properties. (Bug#9284)
|
|
|
|
2011-08-09 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* fontset.c (fontset_get_font_group): Add proper type checks.
|
|
(Bug#9172)
|
|
|
|
2011-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
|
|
and LC_VERSION_MIN_MACOSX.
|
|
(copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
|
|
(dump_it) [LC_FUNCTION_STARTS]: Use it.
|
|
|
|
2011-08-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (forward_to_next_line_start): Allow to use the
|
|
no-display-properties-and-no-overlays under bidi display.
|
|
Set disp_pos in the bidi iterator to avoid searches for display
|
|
properties and overlays.
|
|
|
|
2011-08-08 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* editfns.c (Fset_time_zone_rule): Document relationship with the
|
|
setenv function.
|
|
|
|
* ftfont.c (ftfont_pattern_entity): Copy the extras argument to
|
|
the font entity extracted from the cache (Bug#8109).
|
|
|
|
2011-08-07 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* composite.c (autocmp_chars): Don't reset point. That is done by
|
|
restore_point_unwind (Bug#5984).
|
|
|
|
2011-08-07 Juri Linkov <juri@jurta.org>
|
|
|
|
* editfns.c (Fformat_time_string): Doc fix, add tag `usage:'
|
|
to show the arg `TIME' instead of `TIMEVAL'.
|
|
|
|
2011-08-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_cursor_from_row): Fix cursor positioning when a
|
|
display property strides EOL and includes a newline, as in
|
|
longlines-mode. (Bug#9254)
|
|
(move_it_in_display_line_to): Fix vertical-motion in a buffer with
|
|
word-wrap under bidirectional display. (Bug#9224)
|
|
|
|
* bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE
|
|
is non-zero, even if the data buffer is NULL. Fixes a crash in
|
|
vertical-motion with longlines-mode. (Bug#9254)
|
|
|
|
2011-08-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c <bidi_cache_total_alloc>: Now static.
|
|
(bidi_initialize): Initialize bidi_cache_total_alloc.
|
|
|
|
* xdisp.c (display_line): Release buffer allocated for shelved bidi
|
|
cache. (Bug#9221)
|
|
|
|
* bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total
|
|
amount allocated this far in `bidi_cache_total_alloc'.
|
|
(bidi_unshelve_cache): Accept an additional argument JUST_FREE; if
|
|
non-zero, only free the data buffer without restoring the cache
|
|
contents. All callers changed.
|
|
|
|
* dispextern.h (bidi_unshelve_cache): Update prototype.
|
|
|
|
* xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to)
|
|
(move_it_in_display_line, move_it_to)
|
|
(move_it_vertically_backward, move_it_by_lines): Replace the call
|
|
to xfree to an equivalent call to bidi_unshelve_cache.
|
|
(move_it_in_display_line_to): Fix logic of returning
|
|
MOVE_POS_MATCH_OR_ZV in the bidi case. (Bug#9224)
|
|
|
|
2011-08-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_cursor_from_row): Prefer the candidate glyph that
|
|
came from a string character with a `cursor' property. (Bug#9229)
|
|
|
|
2011-08-04 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* Makefile.in (LIB_PTHREAD): New variable.
|
|
(LIBES): Add LIB_PTHREAD (Bug#9216).
|
|
|
|
* alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h:
|
|
Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216).
|
|
|
|
2011-08-04 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* regex.c (re_iswctype): Remove some redundant boolean conversions.
|
|
|
|
2011-08-04 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c (x_find_topmost_parent): New function.
|
|
(x_set_frame_alpha): Find topmost parent window with
|
|
x_find_topmost_parent and set the property there also (bug#9181).
|
|
(handle_one_xevent): Call x_set_frame_alpha on ReparentNotify.
|
|
|
|
2011-08-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* callproc.c (Fcall_process): Avoid vfork clobbering
|
|
the local vars buffer, coding_systems, current_dir.
|
|
|
|
2011-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keymap.c (Fmake_composed_keymap): Move to subr.el.
|
|
|
|
2011-08-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE
|
|
so that it is not optimized away.
|
|
|
|
* xdisp.c (compute_display_string_pos): Remove unused local.
|
|
|
|
2011-08-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix slow cursor motion and scrolling in large buffers with
|
|
selective display, like Org Mode buffers. (Bug#9218)
|
|
|
|
* dispextern.h (struct bidi_it): New member disp_prop_p.
|
|
|
|
* xdisp.c: Remove one-slot cache of display string positions.
|
|
(compute_display_string_pos): Accept an additional argument
|
|
DISP_PROP_P; callers changed. Scan at most 5K characters forward
|
|
for a display string or property. If found, set DISP_PROP_P
|
|
non-zero.
|
|
|
|
* bidi.c (bidi_fetch_char): Accept an additional argument
|
|
DISP_PROP_P, and pass it to compute_display_string_pos.
|
|
Only handle text covered by a display string if DISP_PROP_P is returned
|
|
non-zero. All callers of bidi_fetch_char changed.
|
|
|
|
2011-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
|
|
|
|
2010-12-03 Don March <don@ohspite.net>
|
|
|
|
* keymap.c (Fdefine_key): Fix non-prefix key error message when
|
|
last character M-[char] is translated to ESC [char] (bug#7541).
|
|
|
|
2011-08-02 Kenichi Handa <handa@m17n.org>
|
|
|
|
* lisp.h (uniprop_table): Extern it.
|
|
|
|
* chartab.c (uniprop_table): Make it non-static.
|
|
|
|
2011-08-01 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (forward_to_next_line_start): Accept additional argument
|
|
BIDI_IT_PREV, and store into it the state of the bidi iterator had
|
|
on the newline.
|
|
(reseat_at_next_visible_line_start): Use the bidi iterator state
|
|
returned by forward_to_next_line_start to restore the state of
|
|
it->bidi_it after backing up to previous newline. (Bug#9212)
|
|
|
|
2011-07-30 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* regex.c (re_comp): Protoize.
|
|
(re_exec): Fix return type.
|
|
(regexec): Fix type of `ret'. (Bug#9203)
|
|
|
|
2011-07-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189).
|
|
This is needed if max-image-size is a floating-point number.
|
|
|
|
2011-07-28 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* print.c (print_object): Print empty symbol as ##.
|
|
|
|
* lread.c (read1): Read ## as empty symbol.
|
|
|
|
2011-07-28 Alp Aker <alp.tekin.aker@gmail.com>
|
|
|
|
* nsfns.m (x_set_foreground_color): Set f->foreground_pixel when
|
|
setting frame foreground color (Bug#9175).
|
|
(x_set_background_color): Likewise.
|
|
|
|
* nsmenu.m (-setText): Size tooltip dimensions precisely to
|
|
contents (Bug#9176).
|
|
(EmacsTooltip -init): Remove bezels and add shadows to
|
|
tooltip windows.
|
|
|
|
* nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe
|
|
or scroll bar (Bug#8470).
|
|
|
|
* nsfont.m (nsfont_open): Remove assignment to voffset and
|
|
unnecessary vars hshink, expand, hd, full_height, min_height.
|
|
(nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913).
|
|
|
|
* nsterm.h (nsfont_info): Remove voffset field.
|
|
|
|
2011-07-28 Alp Aker <alp.tekin.aker@gmail.com>
|
|
|
|
Implement strike-through and overline on NextStep (Bug#8863).
|
|
|
|
* nsfont.m (nsfont_open): Use underline position provided by font,
|
|
instead of hard-coded value of 2.
|
|
(nsfont_draw): Call ns_draw_text_decoration instead.
|
|
|
|
* nsterm.h: Add declaration for ns_draw_text_decoration.
|
|
|
|
* nsterm.m (ns_draw_text_decoration): New function for drawing
|
|
underline, overline, and strike-through.
|
|
(ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to
|
|
ns_draw_text_decoration. Change treatment of cursor drawing to
|
|
accommodate underlining, etc.
|
|
|
|
2011-07-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* buffer.c (init_buffer_once): Set bidi-display-reordering to t by
|
|
default.
|
|
|
|
2011-07-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race.
|
|
Without this fix, if a signal arrives just after memory fills up,
|
|
'malloc' might be invoked reentrantly.
|
|
|
|
* image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.
|
|
In other words, assume that every image size is allowed, on non-X
|
|
hosts. This assumption is probably wrong, but it lets Emacs compile.
|
|
|
|
2011-07-28 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* regex.c (re_iswctype): Convert return values to boolean.
|
|
|
|
2011-07-28 Eli Zaretskii <eliz@fencepost.gnu.org>
|
|
|
|
* xdisp.c (compute_display_string_pos): Don't use cached display
|
|
string position if the buffer had its restriction changed.
|
|
(Bug#9184)
|
|
|
|
2011-07-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
|
|
|
|
2011-07-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer signedness and overflow and related fixes. (Bug#9079)
|
|
|
|
* bidi.c: Integer size and overflow fixes.
|
|
(bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx)
|
|
(bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search)
|
|
(bidi_cache_find_level_change, bidi_cache_ensure_space)
|
|
(bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack)
|
|
(bidi_find_other_level_edge):
|
|
Use ptrdiff_t instead of EMACS_INT where either will do.
|
|
This works better on 32-bit hosts configured --with-wide-int.
|
|
(bidi_cache_ensure_space): Check for size-calculation overflow.
|
|
Use % rather than repeated addition, for better worst-case speed.
|
|
Don't set bidi_cache_size until after xrealloc returns, because it
|
|
might not return.
|
|
(bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow.
|
|
(bidi_cache_ensure_space): Also check that the bidi cache size
|
|
does not exceed that of the largest Lisp string or buffer. See Eli
|
|
Zaretskii in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#29>.
|
|
|
|
* alloc.c (__malloc_size_t): Remove.
|
|
All uses replaced by size_t. See Andreas Schwab's note
|
|
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#8>.
|
|
|
|
* image.c: Improve checking for integer overflow.
|
|
(check_image_size): Assume that f is nonnull, since
|
|
it is always nonnull in practice. This is one less thing to
|
|
worry about when checking for integer overflow later.
|
|
(x_check_image_size): New function, which checks for integer
|
|
overflow issues inside X.
|
|
(x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it.
|
|
This removes the need for a memory_full check.
|
|
(xbm_image_p): Rewrite to avoid integer multiplication overflow.
|
|
(Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size.
|
|
(xbm_read_bitmap_data): Change locals back to 'int', since
|
|
their values must fit in 'int'.
|
|
(xpm_load_image, png_load, tiff_load):
|
|
Invoke x_create_x_image_and_pixmap earlier,
|
|
to avoid much needless work if the image is too large.
|
|
(tiff_load): Treat overly large images as if
|
|
x_create_x_image_and_pixmap failed, not as malloc failures.
|
|
(gs_load): Use x_check_image_size.
|
|
|
|
* gtkutil.c: Omit integer casts.
|
|
(xg_get_pixbuf_from_pixmap): Remove unnecessary cast.
|
|
(xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast.
|
|
|
|
* image.c (png_load): Don't assume height * row_bytes fits in 'int'.
|
|
|
|
* xfaces.c (Fbitmap_spec_p): Fix integer overflow bug.
|
|
Without this fix, (bitmap-spec-p '(34359738368 1 "x"))
|
|
would wrongly return t on a 64-bit host.
|
|
|
|
* dispnew.c (init_display): Use *_RANGE_OVERFLOW macros.
|
|
The plain *_OVERFLOW macros run afoul of GCC bug 49705
|
|
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705>
|
|
and therefore cause GCC to emit a bogus diagnostic in some cases.
|
|
|
|
* image.c: Integer signedness and overflow and related fixes.
|
|
This is not an exhaustive set of fixes, but it's time to
|
|
record what I've got.
|
|
(lookup_pixel_color, check_image_size): Remove redundant decls.
|
|
(check_image_size): Don't assume that arbitrary EMACS_INT values
|
|
fit in 'int', or that arbitrary 'double' values fit in 'int'.
|
|
(x_alloc_image_color, x_create_x_image_and_pixmap, png_load)
|
|
(tiff_load, imagemagick_load_image):
|
|
Check for overflow in size calculations.
|
|
(x_create_x_image_and_pixmap): Remove unnecessary test for
|
|
xmalloc returning NULL; that can't happen.
|
|
(xbm_read_bitmap_data): Don't assume sizes fit into 'int'.
|
|
(xpm_color_bucket): Use better integer hashing function.
|
|
(xpm_cache_color): Don't possibly over-allocate memory.
|
|
(struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory)
|
|
(gif_memory_source):
|
|
Use ptrdiff_t, not int or size_t, to record sizes.
|
|
(png_load): Don't assume values greater than 2**31 fit in 'int'.
|
|
(our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when
|
|
either works, as we prefer signed integers.
|
|
(tiff_read_from_memory, tiff_write_from_memory):
|
|
Return tsize_t, not size_t, since that's what the TIFF API wants.
|
|
(tiff_read_from_memory): Don't fail simply because the read would
|
|
go past EOF; instead, return a short read.
|
|
(tiff_load): Omit no-longer-needed casts.
|
|
(Fimagemagick_types): Don't assume size fits into 'int'.
|
|
|
|
Improve hashing quality when configured --with-wide-int.
|
|
* fns.c (hash_string): New function, taken from sxhash_string.
|
|
Do not discard information about ASCII character case; this
|
|
discarding is no longer needed.
|
|
(sxhash-string): Use it. Change sig to match it. Caller changed.
|
|
* lisp.h: Declare it.
|
|
* lread.c (hash_string): Remove, since we now use fns.c's version.
|
|
The fns.c version returns a wider integer if --with-wide-int is
|
|
specified, so this should help the quality of the hashing a bit.
|
|
|
|
* emacs.c: Integer overflow minor fix.
|
|
(heap_bss_diff): Now uprintmax_t, not unsigned long. All used changed.
|
|
Define only if GNU_LINUX.
|
|
(main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX.
|
|
|
|
* dispnew.c: Integer signedness and overflow fixes.
|
|
Remove unnecessary forward decls, that were a maintenance hassle.
|
|
(history_tick): Now uprintmax_t, so it's more likely to avoid overflow.
|
|
All uses changed.
|
|
(adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer)
|
|
(scrolling_window): Use ptrdiff_t, not int, for byte count.
|
|
(prepare_desired_row, line_draw_cost):
|
|
Use int, not unsigned, where either works.
|
|
(save_current_matrix, restore_current_matrix):
|
|
Use ptrdiff_t, not size_t, where either works.
|
|
(init_display): Check for overflow more accurately, and without
|
|
relying on undefined behavior.
|
|
|
|
* editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide):
|
|
Remove, replacing with the new symbols in lisp.h. All uses changed.
|
|
* fileio.c (make_temp_name):
|
|
* filelock.c (lock_file_1, lock_file):
|
|
* xdisp.c (message_dolog):
|
|
Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts.
|
|
Use pMd etc. instead.
|
|
* lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros,
|
|
replacing the pWIDE etc. symbols removed from editfns.c.
|
|
|
|
* keyboard.h (num_input_events): Now uintmax_t.
|
|
This is (very slightly) less likely to mess up due to wraparound.
|
|
All uses changed.
|
|
|
|
* buffer.c: Integer signedness fixes.
|
|
(alloc_buffer_text, enlarge_buffer_text):
|
|
Use ptrdiff_t rather than size_t when either will do, as we prefer
|
|
signed integers.
|
|
|
|
* alloc.c: Integer signedness and overflow fixes.
|
|
Do not impose an arbitrary 32-bit limit on malloc sizes when debugging.
|
|
(__malloc_size_t): Default to size_t, not to int.
|
|
(pure_size, pure_bytes_used_before_overflow, stack_copy_size)
|
|
(Fgarbage_collect, mark_object_loop_halt, mark_object):
|
|
Prefer ptrdiff_t to size_t when either would do, as we prefer
|
|
signed integers.
|
|
(XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro.
|
|
(xmalloc_overrun_check_header, xmalloc_overrun_check_trailer):
|
|
Now const. Initialize with values that are in range even if char
|
|
is signed.
|
|
(XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ...
|
|
(xmalloc_put_size, xmalloc_get_size): New functions. All uses changed.
|
|
These functions do the right thing with sizes > 2**32.
|
|
(check_depth): Now ptrdiff_t, not int.
|
|
(overrun_check_malloc, overrun_check_realloc, overrun_check_free):
|
|
Adjust to new way of storing sizes. Check for size overflow bugs
|
|
in rest of code.
|
|
(STRING_BYTES_MAX): Adjust to new overheads. The old code was
|
|
slightly wrong anyway, as it missed one instance of
|
|
XMALLOC_OVERRUN_CHECK_OVERHEAD.
|
|
(refill_memory_reserve): Omit needless cast to size_t.
|
|
(mark_object_loop_halt): Mark as externally visible.
|
|
|
|
* xselect.c: Integer signedness and overflow fixes.
|
|
(Fx_register_dnd_atom, x_handle_dnd_message):
|
|
Use ptrdiff_t, not size_t, since we prefer signed.
|
|
(Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow.
|
|
* xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for
|
|
x_dnd_atoms_size and x_dnd_atoms_length.
|
|
|
|
* doprnt.c: Prefer signed to unsigned when either works.
|
|
* eval.c (verror):
|
|
* doprnt.c (doprnt):
|
|
* lisp.h (doprnt):
|
|
* xdisp.c (vmessage):
|
|
Use ptrdiff_t, not size_t, when using or implementing doprnt,
|
|
since the sizes cannot exceed ptrdiff_t bounds anyway, and we
|
|
prefer signed arithmetic to avoid comparison confusion.
|
|
* doprnt.c (doprnt): Avoid a "+ 1" that can't overflow,
|
|
but is a bit tricky.
|
|
|
|
Assume freestanding C89 headers, string.h, stdlib.h.
|
|
* data.c, doprnt.c, floatfns.c, print.c:
|
|
Include float.h unconditionally.
|
|
* gmalloc.c: Assume C89-at-least behavior for preprocessor,
|
|
limits.h, stddef.h, string.h. Use memset instead of 'flood'.
|
|
* regex.c: Likewise for stddef.h, string.h.
|
|
(ISASCII): Remove; can assume it returns 1 now. All uses removed.
|
|
* s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef.
|
|
* s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H)
|
|
(STDC_HEADERS): Remove obsolete defines.
|
|
* sysdep.c: Include limits.h unconditionally.
|
|
|
|
Assume support for memcmp, memcpy, memmove, memset.
|
|
* lisp.h, sysdep.c (memcmp, memcpy, memmove, memset):
|
|
* regex.c (memcmp, memcpy):
|
|
Remove; we assume C89 now.
|
|
|
|
* gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now.
|
|
(__malloc_safe_bcopy): Remove; no longer needed.
|
|
|
|
* lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes.
|
|
Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally
|
|
well either way, and we prefer signed to unsigned.
|
|
|
|
2011-07-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* gnutls.c (emacs_gnutls_read): Don't message anything if the peer
|
|
closes the connection while we're reading (bug#9182).
|
|
|
|
2011-07-25 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons
|
|
are specified (Bug#9168).
|
|
|
|
2011-07-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* bidi.c (bidi_dump_cached_states): Fix printf format mismatch.
|
|
Found by GCC static checking and --with-wide-int on a 32-bit host.
|
|
|
|
2011-07-25 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (compute_display_string_pos): Fix logic of caching
|
|
previous display string position. Initialize cached_prev_pos to
|
|
-1. Fixes slow-down at the beginning of a buffer.
|
|
|
|
2011-07-24 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil'
|
|
for attrs[LFACE_FONTSET_INDEX].
|
|
|
|
2011-07-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xml.c (parse_region): Remove unused local
|
|
that was recently introduced.
|
|
|
|
2011-07-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in
|
|
2008-02-22T17:42:09Z!monnier@iro.umontreal.ca.
|
|
|
|
* xdisp.c (move_it_in_display_line_to): Record the best matching
|
|
position for TO_CHARPOS while scanning the line, and restore it on
|
|
exit if none of the characters scanned was an exact match.
|
|
Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay
|
|
when exact match is impossible due to invisible text, and the
|
|
lines are truncated.
|
|
|
|
2011-07-23 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask
|
|
for OSX >= 10.7.
|
|
|
|
2011-07-22 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix a significant slow-down of cursor motion with C-n, C-p,
|
|
C-f/C-b, and C-v/M-v that couldn't keep up with keyboard
|
|
auto-repeat under bidi redisplay in fontified buffers.
|
|
* xdisp.c (compute_stop_pos_backwards): New function.
|
|
(next_element_from_buffer): Call compute_stop_pos_backwards to
|
|
find a suitable prev_stop when we find ourselves before
|
|
base_level_stop.
|
|
(reseat): Don't look for prev_stop, as that could mean a very long
|
|
run.
|
|
<cached_disp_pos, cached_disp_buffer, cached_disp_modiff>
|
|
<cached_disp_overlay_modiff>: Cache for last found display string
|
|
position.
|
|
(compute_display_string_pos): Return the cached position if asked
|
|
about the same buffer in the same area of character positions, and
|
|
the buffer wasn't changed since the time the display string
|
|
position was cached.
|
|
|
|
2011-07-22 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object
|
|
is an integer, which is important for empty lines. (Bug#9149)
|
|
|
|
2011-07-22 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* frame.c (Fmodify_frame_parameters): In tty case, update the
|
|
default face if necessary (Bug#4238).
|
|
|
|
2011-07-21 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* editfns.c (Fstring_to_char): No need to explain what a character
|
|
is in the docstring (Bug#6576).
|
|
|
|
2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* xml.c (parse_region): Make sure we always return a tree.
|
|
|
|
2011-07-20 HAMANO Kiyoto <khiker.mail@gmail.com>
|
|
|
|
* xml.c (parse_region): If a document contains only comments,
|
|
return that, too.
|
|
|
|
2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* xml.c (make_dom): Return comments, too.
|
|
|
|
2011-07-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port to OpenBSD.
|
|
See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html
|
|
and the surrounding thread.
|
|
* minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar
|
|
rather than fgets, and retry after EINTR. Otherwise, 'emacs
|
|
--batch -f byte-compile-file' fails on OpenBSD if an inactivity
|
|
timer goes off.
|
|
* s/openbsd.h (BROKEN_SIGIO): Define.
|
|
* unexelf.c (unexec) [__OpenBSD__]:
|
|
Don't update the .mdebug section of the Alpha COFF symbol table.
|
|
|
|
2011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* lread.c (syms_of_lread): Clarify when `lexical-binding' is used
|
|
(bug#8460).
|
|
|
|
2011-07-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
|
|
This fixes some race conditions on the permissions of any newly
|
|
created file.
|
|
|
|
* alloc.c (valid_pointer_p): Use pipe, not open.
|
|
This fixes some permissions issues when debugging.
|
|
|
|
* fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002)
|
|
If fchown fails to set both uid and gid, try to set just gid,
|
|
as that is sometimes allowed. Adjust the file's mode to eliminate
|
|
setuid or setgid bits that are inappropriate if fchown fails.
|
|
|
|
2011-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ
|
|
to compare Lisp_Objects.
|
|
* gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to
|
|
global_gnutls_log_level, don't mistake it for a Lisp_Object.
|
|
(init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses.
|
|
|
|
2011-07-17 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lread.c (read_integer): Unread even EOF character.
|
|
(read1): Likewise. Properly record start position of symbol.
|
|
|
|
* lread.c (read1): Read `#:' as empty uninterned symbol if no
|
|
symbol character follows.
|
|
|
|
2011-07-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002)
|
|
This works around a problem with the previous change to Fcopy_file.
|
|
Recent glibc declares fchown with __attribute__((warn_unused_result)),
|
|
and without this change, GCC might complain about discarding
|
|
fchown's return value.
|
|
|
|
2011-07-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
|
|
|
|
2011-07-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002)
|
|
|
|
2011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since
|
|
it's used from the C level.
|
|
|
|
* process.c: Use the same condition for POLL_FOR_INPUT in both
|
|
keyboard.c and process.c (bug#1858).
|
|
|
|
2011-07-09 Lawrence Mitchell <wence@gmx.li>
|
|
|
|
* gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable.
|
|
(Fgnutls_boot): Use it.
|
|
|
|
2011-07-15 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* doc.c (Fsubstitute_command_keys): Revert last change.
|
|
|
|
2011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* doc.c (Fsubstitute_command_keys): Clarify that \= really only
|
|
quotes the next character, and doesn't affect other longer
|
|
sequences (bug#8935).
|
|
|
|
* lread.c (syms_of_lread): Clarify that is isn't only
|
|
`eval-buffer' and `eval-defun' that's affected by
|
|
`lexical-binding' (bug#8460).
|
|
|
|
2011-07-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (move_it_in_display_line_to): Fix vertical motion with
|
|
bidi redisplay when a line includes both an image and is truncated.
|
|
|
|
2011-07-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking.
|
|
* bidi.c (bidi_cache_size): Now EMACS_INT, not size_t.
|
|
(elsz): Now a signed constant, not a size_t var. We prefer signed
|
|
types to unsigned, to avoid integer comparison confusion. Without
|
|
this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains
|
|
"cannot optimize loop, the loop counter may overflow", a symptom
|
|
of the confusion.
|
|
* indent.c (Fvertical_motion): Mark locals as initialized.
|
|
* xdisp.c (reseat_to_string): Fix pointer signedness issue.
|
|
|
|
2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* search.c (Fre_search_backward): Mention `case-fold-search' in
|
|
all the re_search_* functions (bug#8138).
|
|
|
|
* keyboard.c (Fopen_dribble_file): Document when the file is
|
|
closed (bug#8056).
|
|
|
|
2011-07-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_dump_cached_states): Fix format of displaying
|
|
bidi_cache_idx.
|
|
|
|
Support bidi reordering of display and overlay strings.
|
|
* xdisp.c (compute_display_string_pos)
|
|
(compute_display_string_end): Accept additional argument STRING.
|
|
(init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
|
|
(reseat_to_string): Initialize bidi_it->string.s and
|
|
bidi_it->string.schars.
|
|
(Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
|
|
NULL (avoids a crash in bidi_paragraph_init).
|
|
Initialize itb.string.lstring.
|
|
(init_iterator): Call bidi_init_it only of a valid
|
|
buffer position was specified. Initialize paragraph_embedding to
|
|
L2R.
|
|
(reseat_to_string): Initialize the bidi iterator.
|
|
(display_string): If we need to ignore text properties of
|
|
LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
|
|
original value of -1 will not work with bidi.)
|
|
(compute_display_string_pos): First arg is now struct
|
|
`text_pos *'; all callers changed. Support display properties on
|
|
Lisp strings.
|
|
(compute_display_string_end): Support display properties on Lisp
|
|
strings.
|
|
(init_iterator, reseat_1, reseat_to_string): Initialize the
|
|
string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
|
|
when iterating on a string not from display properties).
|
|
(compute_display_string_pos, compute_display_string_end):
|
|
Fix calculation of the object to scan. Fixes an error when using
|
|
arrow keys.
|
|
(next_element_from_buffer): Don't abort when IT_CHARPOS is before
|
|
base_level_stop; instead, set base_level_stop to BEGV.
|
|
Fixes crashes in vertical-motion.
|
|
(next_element_from_buffer): Improve commentary for when
|
|
the iterator is before prev_stop.
|
|
(init_iterator): Initialize bidi_p from the default value of
|
|
bidi-display-reordering, not from buffer-local value. Use the
|
|
buffer-local value only if initializing for buffer iteration.
|
|
(handle_invisible_prop): Support invisible properties on strings
|
|
that are being bidi-reordered.
|
|
(set_iterator_to_next): Support bidi reordering of C strings and
|
|
Lisp strings.
|
|
(next_element_from_string): Support bidi reordering of Lisp
|
|
strings.
|
|
(handle_stop_backwards): Support Lisp strings as well.
|
|
(display_string): Support display of R2L glyph rows.
|
|
Use IT_STRING_CHARPOS when displaying from a Lisp string.
|
|
(init_iterator): Don't initialize it->bidi_p for strings
|
|
here.
|
|
(reseat_to_string): Initialize it->bidi_p for strings here.
|
|
(next_element_from_string, next_element_from_c_string)
|
|
(next_element_from_buffer): Add xassert's for correspondence
|
|
between IT's object being iterated and it->bidi_it.string
|
|
structure.
|
|
(face_before_or_after_it_pos): Support bidi iteration.
|
|
(next_element_from_c_string): Handle the case of the first string
|
|
character that is not the first one in the visual order.
|
|
(get_visually_first_element): New function, refactored from common
|
|
parts of next_element_from_buffer, next_element_from_string, and
|
|
next_element_from_c_string.
|
|
(tool_bar_lines_needed, redisplay_tool_bar)
|
|
(display_menu_bar): Force left-to-right direction. Add a FIXME
|
|
comment for making that be controlled by a user option.
|
|
(push_it, pop_it): Save and restore the state of the
|
|
bidi iterator. Save and restore the bidi_p flag.
|
|
(pop_it): Iterate out of display property for string iteration as
|
|
well.
|
|
(iterate_out_of_display_property): Support iteration over strings.
|
|
(handle_single_display_spec): Set up it->bidi_it for iteration
|
|
over a display string, and call bidi_init_it.
|
|
(handle_single_display_spec, next_overlay_string)
|
|
(get_overlay_strings_1, push_display_prop): Set up the bidi
|
|
iterator for displaying display or overlay strings.
|
|
(forward_to_next_line_start): Don't use the shortcut if
|
|
bidi-iterating.
|
|
(back_to_previous_visible_line_start): If handle_display_prop
|
|
pushed the iterator stack, restore the internal state of the bidi
|
|
iterator by calling bidi_pop_it same number of times.
|
|
(reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
|
|
and we are bidi-iterating, don't decrement the iterator position;
|
|
instead, set the first_elt flag in the bidi iterator, to produce
|
|
the same effect.
|
|
(reseat_1): Remove redundant setting of string_from_display_prop_p.
|
|
(push_display_prop): xassert that we are iterating a buffer.
|
|
(push_it, pop_it): Save and restore paragraph_embedding member.
|
|
(handle_single_display_spec, next_overlay_string)
|
|
(get_overlay_strings_1, reseat_1, reseat_to_string)
|
|
(push_display_prop): Set up the `unibyte' member of bidi_it.string
|
|
correctly. Don't assume unibyte strings are not bidi-reordered.
|
|
(compute_display_string_pos)
|
|
(compute_display_string_end): Fix handling the case of C string.
|
|
(push_it, pop_it): Save and restore from_disp_prop_p.
|
|
(handle_single_display_spec, push_display_prop): Set the
|
|
from_disp_prop_p flag.
|
|
(get_overlay_strings_1): Reset the from_disp_prop_p flag.
|
|
(pop_it): Call iterate_out_of_display_property only if we are
|
|
popping after iteration over a string that came from a display
|
|
property. Fix a typo in popping stretch info. Add an assertion
|
|
for verifying that the iterator position is in sync with the bidi
|
|
iterator.
|
|
(handle_single_display_spec, get_overlay_strings_1)
|
|
(push_display_prop): Fix initialization of paragraph direction for
|
|
string when that of the parent object is not yet determined.
|
|
(reseat_1): Call bidi_init_it to resync the bidi
|
|
iterator with IT's position. (Bug#7616)
|
|
(find_row_edges): If ROW->start.pos gives position
|
|
smaller than min_pos, use it as ROW->minpos. (Bug#7616)
|
|
(handle_stop, back_to_previous_visible_line_start, reseat_1):
|
|
Reset the from_disp_prop_p flag.
|
|
(SAVE_IT, RESTORE_IT): New macros.
|
|
(pos_visible_p, face_before_or_after_it_pos)
|
|
(back_to_previous_visible_line_start)
|
|
(move_it_in_display_line_to, move_it_in_display_line)
|
|
(move_it_to, move_it_vertically_backward, move_it_by_lines)
|
|
(try_scrolling, redisplay_window, display_line): Use them when
|
|
saving a temporary copy of the iterator and restoring it back.
|
|
(back_to_previous_visible_line_start, reseat_1)
|
|
(init_iterator): Empty the bidi cache "stack".
|
|
(move_it_in_display_line_to): If iterator ended up at
|
|
EOL, but we never saw any buffer positions smaller than
|
|
to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor
|
|
motion in bidi-reordered lines.
|
|
(move_it_in_display_line_to): Record prev_method and prev_pos
|
|
immediately before the call to set_iterator_to_next. Fixes cursor
|
|
motion in bidi-reordered lines with stretch glyphs and strings
|
|
displayed in margins. (Bug#8133) (Bug#8867)
|
|
Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
|
|
TO_CHARPOS.
|
|
(pos_visible_p): Support positions in bidi-reordered lines.
|
|
Save and restore bidi cache.
|
|
|
|
* bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
|
|
(bidi_paragraph_info): Delete unused struct.
|
|
(bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
|
|
(bidi_cache_start): New variable.
|
|
(bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
|
|
to zero.
|
|
(bidi_cache_fetch_state, bidi_cache_search)
|
|
(bidi_cache_find_level_change, bidi_cache_iterator_state)
|
|
(bidi_cache_find, bidi_peek_at_next_level)
|
|
(bidi_level_of_next_char, bidi_find_other_level_edge)
|
|
(bidi_move_to_visually_next): Compare cache index with
|
|
bidi_cache_start rather than with zero.
|
|
(bidi_fetch_char): Accept new argument STRING; all callers
|
|
changed. Support iteration over a string. Support strings with
|
|
display properties. Support unibyte strings. Fix the type of
|
|
`len' according to what STRING_CHAR_AND_LENGTH expects.
|
|
(bidi_paragraph_init, bidi_resolve_explicit_1)
|
|
(bidi_resolve_explicit, bidi_resolve_weak)
|
|
(bidi_level_of_next_char, bidi_move_to_visually_next):
|
|
Support iteration over a string.
|
|
(bidi_set_sor_type, bidi_resolve_explicit_1)
|
|
(bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
|
|
can now be zero (for strings); special values 0 and -1 were
|
|
changed to -1 and -2, respectively.
|
|
(bidi_char_at_pos): New function.
|
|
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
|
|
Call it instead of FETCH_MULTIBYTE_CHAR.
|
|
(bidi_move_to_visually_next): Abort if charpos or bytepos were not
|
|
initialized to valid values.
|
|
(bidi_init_it): Don't initialize charpos and bytepos with invalid
|
|
values.
|
|
(bidi_level_of_next_char): Allow the sentinel "position" to pass
|
|
the test for valid cached positions. Fix the logic for looking up
|
|
the sentinel state in the cache. GCPRO the Lisp string we are
|
|
iterating.
|
|
(bidi_push_it, bidi_pop_it): New functions.
|
|
(bidi_initialize): Initialize the bidi cache start stack pointer.
|
|
(bidi_cache_ensure_space): New function, refactored from part of
|
|
bidi_cache_iterator_state. Don't assume the required size is just
|
|
one BIDI_CACHE_CHUNK away.
|
|
(bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
|
|
(bidi_count_bytes, bidi_char_at_pos): New functions.
|
|
(bidi_cache_search): Don't assume bidi_cache_last_idx is
|
|
always valid if bidi_cache_idx is valid.
|
|
(bidi_cache_find_level_change): xassert that bidi_cache_last_idx
|
|
is valid if it's going to be used.
|
|
(bidi_shelve_cache, bidi_unshelve_cache): New functions.
|
|
(bidi_cache_fetch_state, bidi_cache_search)
|
|
(bidi_cache_find_level_change, bidi_cache_ensure_space)
|
|
(bidi_cache_iterator_state, bidi_cache_find)
|
|
(bidi_find_other_level_edge, bidi_cache_start_stack):
|
|
All variables related to cache indices are now EMACS_INT.
|
|
|
|
* dispextern.h (struct bidi_string_data): New structure.
|
|
(struct bidi_it): New member `string'. Make flag members be 1-bit
|
|
fields, and put them last in the struct.
|
|
(compute_display_string_pos, compute_display_string_end):
|
|
Update prototypes.
|
|
(bidi_push_it, bidi_pop_it): Add prototypes.
|
|
(struct iterator_stack_entry): New members bidi_p,
|
|
paragraph_embedding, and from_disp_prop_p.
|
|
(struct it): Member bidi_p is now a bit field 1 bit wide.
|
|
(bidi_shelve_cache, bidi_unshelve_cache):
|
|
Declare prototypes.
|
|
|
|
* .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
|
|
(xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
|
|
and vector-like objects.
|
|
|
|
* dispnew.c (buffer_posn_from_coords): Save and restore the bidi
|
|
cache around display iteration.
|
|
|
|
* window.c (Fwindow_end, window_scroll_pixel_based)
|
|
(displayed_window_lines, Frecenter): Save and restore the bidi
|
|
cache around display iteration.
|
|
|
|
2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* editfns.c (Fdelete_region): Clarify the use of the named
|
|
parameters (bug#6788).
|
|
|
|
2011-07-14 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* indent.c (Fvertical_motion): Set and restore w->pointm when
|
|
saving and restoring the window's buffer (Bug#9006).
|
|
|
|
2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* editfns.c (Fstring_to_char): Clarify just what is returned
|
|
(bug#6576). Text by Eli Zaretskii.
|
|
|
|
2011-07-13 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059).
|
|
|
|
2011-07-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* buffer.c (mmap_find): Fix a typo.
|
|
|
|
2011-07-13 Johan Bockgård <bojohan@gnu.org>
|
|
|
|
Fix execution of x selection hooks.
|
|
* xselect.c (Qx_lost_selection_functions)
|
|
(Qx_sent_selection_functions): New vars.
|
|
(syms_of_xselect): DEFSYM them.
|
|
(x_handle_selection_request): Pass Qx_sent_selection_functions
|
|
rather than Vx_sent_selection_functions to Frun_hook_with_args.
|
|
(x_handle_selection_clear,x_clear_frame_selections):
|
|
Pass Qx_lost_selection_functions rather than
|
|
Vx_lost_selection_functions to Frun_hook_with_args.
|
|
|
|
2011-07-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* buffer.c (Fget_buffer_create): Initialize inhibit_shrinking.
|
|
The old code sometimes used this field without initializing it.
|
|
|
|
* alloc.c (gc_sweep): Don't read past end of array.
|
|
In theory, the old code could also have corrupted Emacs internals,
|
|
though it'd be very unlikely.
|
|
|
|
2011-07-12 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* character.c (Fcharacterp): Don't advertise optional ignored
|
|
argument. (Bug#4026)
|
|
|
|
2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier
|
|
key" (bug#4257).
|
|
|
|
* window.c (Fset_window_start): Doc fix (bug#4199).
|
|
(Fset_window_hscroll): Ditto.
|
|
|
|
2011-07-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor new problems caught by GCC 4.6.1.
|
|
* term.c (init_tty): Remove unused local.
|
|
* xsettings.c (store_monospaced_changed): Define this function only
|
|
if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's
|
|
not used otherwise.
|
|
|
|
2011-07-12 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
|
|
|
|
2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
|
|
are the mini-buffer and the echo area (bug#3320).
|
|
|
|
* term.c (init_tty): Remove support for supdup, c10 and perq
|
|
terminals, which are no longer supported (bug#1482).
|
|
|
|
2011-07-10 Johan Bockgård <bojohan@gnu.org>
|
|
|
|
* xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check.
|
|
|
|
2011-07-10 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
|
|
for non-popups (Bug#3642).
|
|
|
|
2011-07-10 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* alloc.c (reset_malloc_hooks): Protoize.
|
|
* buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
|
|
(mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise.
|
|
* cm.c (losecursor): Likewise.
|
|
* data.c (fmod): Likewise.
|
|
* dispnew.c (swap_glyphs_in_rows): Likewise.
|
|
* emacs.c (memory_warning_signal): Likewise.
|
|
* floatfns.c (float_error): Likewise.
|
|
* font.c (check_gstring, check_otf_features, otf_tag_symbol)
|
|
(otf_open, font_otf_capability, generate_otf_features)
|
|
(font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
|
|
Likewise.
|
|
* image.c (pbm_read_file): Likewise.
|
|
* indent.c (string_display_width): Likewise.
|
|
* intervals.c (check_for_interval, search_for_interval)
|
|
(inc_interval_count, count_intervals, root_interval)
|
|
(adjust_intervals_for_insertion, make_new_interval): Likewise.
|
|
* lread.c (defalias): Likewise.
|
|
* ralloc.c (r_alloc_check): Likewise.
|
|
* regex.c (set_image_of_range_1, set_image_of_range)
|
|
(regex_grow_registers): Likewise.
|
|
* sysdep.c (strerror): Likewise.
|
|
* termcap.c (valid_filename_p, tprint, main): Likewise.
|
|
* tparam.c (main): Likewise.
|
|
* unexhp9k800.c (run_time_remap, save_data_space)
|
|
(update_file_ptrs, read_header, write_header, calculate_checksum)
|
|
(copy_file, copy_rest, display_header): Likewise.
|
|
* widget.c (mark_shell_size_user_specified, create_frame_gcs):
|
|
Likewise.
|
|
* xdisp.c (check_it): Likewise.
|
|
* xfaces.c (register_color, unregister_color, unregister_colors):
|
|
Likewise.
|
|
* xfns.c (print_fontset_result): Likewise.
|
|
* xrdb.c (member, fatal, main): Likewise.
|
|
|
|
2011-07-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking (Bug#9031).
|
|
* chartab.c (char_table_set_range, map_sub_char_table):
|
|
Remove unused locals.
|
|
(uniprop_table): Now static.
|
|
* composite.c (_work_char): Remove unused static var.
|
|
|
|
2011-07-09 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* chartab.c (uniprop_table_uncompress): Remove unused local variable.
|
|
|
|
2011-07-09 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (qttip_cb): Remove code without function.
|
|
|
|
2011-07-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (pthread_sigmask): New stub.
|
|
|
|
2011-07-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use pthread_sigmask, not sigprocmask (Bug#9010).
|
|
sigprocmask is portable only for single-threaded applications, and
|
|
Emacs can be multi-threaded when it uses GTK.
|
|
* Makefile.in (LIB_PTHREAD_SIGMASK): New macro.
|
|
(LIBES): Use it.
|
|
* callproc.c (Fcall_process):
|
|
* process.c (create_process):
|
|
* sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask):
|
|
Use pthread_sigmask, not sigprocmask.
|
|
|
|
2011-07-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget.
|
|
(xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was
|
|
wrong (Bug#8591).
|
|
|
|
2011-07-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (xg_prepare_tooltip): Fix indentation and comment.
|
|
Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591).
|
|
(xg_hide_tooltip): Fix comment.
|
|
|
|
* nsterm.m (initFrameFromEmacs): Don't use ns_return_types
|
|
in registerServicesMenuSendTypes.
|
|
(validRequestorForSendType): Don't check ns_return_types.
|
|
|
|
* nsfns.m (Fx_open_connection): Put NSStringPboardType into
|
|
ns_return_type.
|
|
|
|
2011-07-08 Jason Rumney <jasonr@gnu.org>
|
|
|
|
* w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than
|
|
SH_SHOW for hidden windows (Bug#5482).
|
|
|
|
* w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
|
|
frame struct members of non-existent frames (Bug#6284).
|
|
|
|
2011-07-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and
|
|
variable firstTime not needed on OSX >= 10.6.
|
|
(setPosition): setFloatValue:knobProportion: is deprecated on OSX
|
|
>= 10.5. Use setKnobProportion, setDoubleValue.
|
|
|
|
* nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4)
|
|
(MAC_OS_X_VERSION_10_5): Define if not defined.
|
|
(EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6.
|
|
(EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6.
|
|
(EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
|
|
|
|
* nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
|
|
cString and lossyCString on OSX >= 10.4
|
|
|
|
* nsmenu.m (fillWithWidgetValue): Don't use deprecated method
|
|
sizeToFit on OSX >= 10.2.
|
|
|
|
* nsimage.m (allocInitFromFile): Don't use deprecated method
|
|
bestRepresentationForDevice on OSX >= 10.6.
|
|
|
|
* nsfns.m (check_ns_display_info): Cast to long and use %ld in error
|
|
to avoid warning.
|
|
|
|
* emacs.c: Declare unexec_init_emacs_zone.
|
|
|
|
* nsgui.h: Fix compiler warning about gnulib redefining verify.
|
|
|
|
* nsselect.m (ns_get_local_selection): Change to extern (Bug#8842).
|
|
|
|
* nsmenu.m (ns_update_menubar): Remove useless setDelegate call
|
|
on svcsMenu (Bug#8842).
|
|
|
|
* nsfns.m (Fx_open_connection): Remove NSStringPboardType from
|
|
ns_return_types.
|
|
(Fns_list_services): Just return Qnil on 10.6, code not working there.
|
|
|
|
* nsterm.m (QUTF8_STRING): Declare.
|
|
(initFrameFromEmacs): Call registerServicesMenuSendTypes.
|
|
(validRequestorForSendType): Return type is (id).
|
|
Change indexOfObjectIdenticalTo to indexOfObject.
|
|
Check if we have local selection before returning self (Bug#8842).
|
|
(writeSelectionToPasteboard): Put local selection into paste board
|
|
if we have a local selection (Bug#8842).
|
|
(syms_of_nsterm): DEFSYM QUTF8_STRING.
|
|
|
|
* nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m.
|
|
(ns_get_local_selection): Declare.
|
|
|
|
2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* keymap.c (describe_map_tree): Don't insert a double newline at
|
|
the end of the buffer (bug#1169) and return whether we inserted
|
|
something.
|
|
|
|
* callint.c (Fcall_interactively): Change "reading args" to
|
|
"providing args" to try to clarify what it does (bug#1010).
|
|
|
|
2011-07-07 Kenichi Handa <handa@m17n.org>
|
|
|
|
* composite.c (composition_compute_stop_pos): Ignore a static
|
|
composition starting before CHARPOS (Bug#8915).
|
|
|
|
* xdisp.c (handle_composition_prop): Likewise.
|
|
|
|
2011-07-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what.
|
|
(Bug#9015)
|
|
|
|
2011-07-07 Kenichi Handa <handa@m17n.org>
|
|
|
|
* character.h (unicode_category_t): New enum type.
|
|
|
|
* chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types.
|
|
(Qchar_code_property_table): New variable.
|
|
(UNIPROP_TABLE_P, UNIPROP_GET_DECODER)
|
|
(UNIPROP_COMPRESSED_FORM_P): New macros.
|
|
(char_table_ascii): Uncompress the compressed values.
|
|
(sub_char_table_ref): New arg is_uniprop. Callers changed.
|
|
Uncompress the compressed values.
|
|
(sub_char_table_ref_and_range): Likewise.
|
|
(char_table_ref_and_range): Uncompress the compressed values.
|
|
(sub_char_table_set): New arg is_uniprop. Callers changed.
|
|
Uncompress the compressed values.
|
|
(sub_char_table_set_range): Args changed. Callers changed.
|
|
(char_table_set_range): Adjuted for the above change.
|
|
(map_sub_char_table): Delete args default_val and parent. Add arg
|
|
top. Give decoded values to a Lisp function.
|
|
(map_char_table): Adjust for the above change. Give decoded
|
|
values to a Lisp function. Gcpro more variables.
|
|
(uniprop_table_uncompress)
|
|
(uniprop_decode_value_run_length): New functions.
|
|
(uniprop_decoder, uniprop_decoder_count): New variables.
|
|
(uniprop_get_decoder, uniprop_encode_value_character)
|
|
(uniprop_encode_value_run_length, uniprop_encode_value_numeric):
|
|
New functions.
|
|
(uniprop_encoder, uniprop_encoder_count): New variables.
|
|
(uniprop_get_encoder, uniprop_table)
|
|
(Funicode_property_table_internal, Fget_unicode_property_internal)
|
|
(Fput_unicode_property_internal): New functions.
|
|
(syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr
|
|
Sunicode_property_table_internal, Sget_unicode_property_internal,
|
|
and Sput_unicode_property_internal. Defvar_lisp
|
|
char-code-property-alist.
|
|
|
|
* composite.c (CHAR_COMPOSABLE_P): Adjust for the change of
|
|
Vunicode_category_table.
|
|
|
|
* font.c (font_range): Adjust for the change of
|
|
Vunicode_category_table.
|
|
|
|
2011-07-07 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* m/iris4d.h: Remove file, move contents ...
|
|
* s/irix6-5.h: ... here.
|
|
|
|
2011-07-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Remove unportable assumption about struct layout (Bug#8884).
|
|
* alloc.c (mark_buffer):
|
|
* buffer.c (reset_buffer_local_variables, Fbuffer_local_variables)
|
|
(clone_per_buffer_values): Don't assume that
|
|
sizeof (struct buffer) is a multiple of sizeof (Lisp_Object).
|
|
This isn't true in general, and it's particularly not true
|
|
if Emacs is configured with --with-wide-int.
|
|
* buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER):
|
|
New macros, used in the buffer.c change.
|
|
|
|
2011-07-05 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xsettings.c: Use both GConf and GSettings if both are available.
|
|
(store_config_changed_event): Add comment.
|
|
(dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
|
|
(store_tool_bar_style_changed): New functions.
|
|
(store_monospaced_changed): Add comment. Call dpyinfo_valid.
|
|
(struct xsettings): Move font inside HAVE_XFT.
|
|
(GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
|
|
(GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT.
|
|
Move inside HAVE_XFT.
|
|
(something_changed_gsettingsCB): Rename from something_changedCB.
|
|
Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
|
|
also.
|
|
(GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
|
|
(GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT.
|
|
(something_changed_gconfCB): Rename from something_changedCB.
|
|
Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
|
|
(parse_settings): Move check for font inside HAVE_XFT.
|
|
(read_settings, apply_xft_settings): Add comment.
|
|
(read_and_apply_settings): Add comment. Call map_tool_bar_style and
|
|
store_tool_bar_style_changed. Move check for font inside HAVE_XFT and
|
|
call store_font_name_changed.
|
|
(xft_settings_event): Add comment.
|
|
(init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE
|
|
and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT.
|
|
(init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE
|
|
and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT.
|
|
(xsettings_initialize): Call init_gsettings last.
|
|
(xsettings_get_system_font, xsettings_get_system_normal_font):
|
|
Add comment.
|
|
|
|
2011-07-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Random fixes. E.g., (random) never returned negative values.
|
|
* fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the
|
|
subseconds part to the entropy, as that's a bit more random.
|
|
Prefer signed to unsigned, since the signedness doesn't matter and
|
|
in general we prefer signed. When given a limit, use a
|
|
denominator equal to INTMASK + 1, not to VALMASK + 1, because the
|
|
latter isn't right if USE_2_TAGS_FOR_INTS.
|
|
* sysdep.c (get_random): Return a value in the range 0..INTMASK,
|
|
not 0..VALMASK. Don't discard "excess" bits that random () returns.
|
|
|
|
2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* textprop.c (text_property_stickiness):
|
|
Obey Vtext_property_default_nonsticky.
|
|
(syms_of_textprop): Add `display' to Vtext_property_default_nonsticky.
|
|
* w32fns.c (syms_of_w32fns):
|
|
* xfns.c (syms_of_xfns): Don't Add `display' since it's there by default.
|
|
|
|
2011-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fileio.c (barf_or_query_if_file_exists): Use S_ISDIR.
|
|
This is more efficient than Ffile_directory_p and avoids a minor race.
|
|
|
|
2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* buffer.c (Foverlay_put): Say what the return value is
|
|
(bug#7835).
|
|
|
|
* fileio.c (barf_or_query_if_file_exists): Check first if the file
|
|
is a directory before asking whether to use the file name
|
|
(bug#7564).
|
|
(barf_or_query_if_file_exists): Make the "File is a directory"
|
|
error be more correct.
|
|
|
|
* fns.c (Frequire): Remove the mention of the .gz files, since
|
|
that's installation-specific, but keep the mention of
|
|
`get-load-suffixes'.
|
|
|
|
2011-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* editfns.c (Fformat_time_string): Don't assume strlen fits in int.
|
|
Report string overflow if the output is too long.
|
|
|
|
2011-07-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.c (Fgnutls_boot): Don't mention :verify-error.
|
|
(syms_of_gnutls): Remove duplicate DEFSYM for
|
|
Qgnutls_bootprop_verify_hostname_error, an error for
|
|
Qgnutls_bootprop_verify_error (which is no longer used).
|
|
|
|
* eval.c (find_handler_clause): Remove parameters `sig' and `data',
|
|
unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed.
|
|
Also (re)move comments that are misplaced or no longer relevant.
|
|
|
|
2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* callint.c (Finteractive): Clarify the meaning of "@" (bug#8813).
|
|
|
|
2011-07-03 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xfaces.c (Finternal_merge_in_global_face): Modify the foreground
|
|
and background color parameters if they have been changed.
|
|
|
|
2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* editfns.c (Fformat): Clarify the - and 0 flags (bug#6659).
|
|
|
|
2011-07-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xsettings.c (SYSTEM_FONT): Define only when used.
|
|
No need to define when HAVE_GSETTINGS || !HAVE_XFT.
|
|
|
|
* keymap.c (access_keymap_1): Now static.
|
|
|
|
2011-07-02 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* keyboard.c (command_loop_1): If a down-mouse event is unbound,
|
|
leave any prefix arg for the up event (Bug#1586).
|
|
|
|
2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* lread.c (syms_of_lread): Mention single symbols defined by
|
|
`defvar' or `defconst' (bug#7154).
|
|
|
|
* fns.c (Frequire): Mention .el.gz files (bug#7314).
|
|
(Frequire): Mention get-load-suffixes.
|
|
|
|
2011-07-02 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.h (window): Remove clone_number slot.
|
|
* window.c (Fwindow_clone_number, Fset_window_clone_number):
|
|
Remove.
|
|
(make_parent_window, make_window, saved_window)
|
|
(Fset_window_configuration, save_window_save): Don't deal with
|
|
clone numbers.
|
|
* buffer.c (Qclone_number): Remove declaration.
|
|
(sort_overlays, overlay_strings): Don't deal with clone numbers.
|
|
|
|
2011-07-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
Add multiple inheritance to keymaps.
|
|
* keymap.c (Fmake_composed_keymap): New function.
|
|
(Fset_keymap_parent): Simplify.
|
|
(fix_submap_inheritance): Remove.
|
|
(access_keymap_1): New function extracted from access_keymap to handle
|
|
embedded parents and handle lists of maps.
|
|
(access_keymap): Use it.
|
|
(Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap)
|
|
(Fcopy_keymap): Handle embedded parents.
|
|
(Fcommand_remapping, define_as_prefix): Simplify.
|
|
(Fkey_binding): Simplify.
|
|
(syms_of_keymap): Move minibuffer-local-completion-map,
|
|
minibuffer-local-filename-completion-map,
|
|
minibuffer-local-must-match-map, and
|
|
minibuffer-local-filename-must-match-map to Elisp.
|
|
(syms_of_keymap): Defsubr make-composed-keymap.
|
|
* keyboard.c (menu_bar_items): Use map_keymap_canonical.
|
|
(parse_menu_item): Trivial simplification.
|
|
|
|
2011-07-01 Glenn Morris <rgm@gnu.org>
|
|
|
|
* Makefile.in (SETTINGS_LIBS): Fix typo.
|
|
|
|
2011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny patch)
|
|
|
|
* coding.c (Fencode_coding_string): Record the last coding system
|
|
used, as the function doc string says (bug#8738).
|
|
|
|
2011-07-01 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xsettings.c (store_monospaced_changed): Take new font as arg and
|
|
check for change against current_mono_font.
|
|
(EMACS_TYPE_SETTINGS): Remove this and related defines.
|
|
(emacs_settings_constructor, emacs_settings_get_property)
|
|
(emacs_settings_set_property, emacs_settings_class_init)
|
|
(emacs_settings_init, gsettings_obj): Remove.
|
|
(something_changedCB): New function for HAVE_GSETTINGS.
|
|
(something_changedCB): HAVE_GCONF: Call store_monospaced_changed
|
|
with value as argument.
|
|
(init_gsettings): Check that GSETTINGS_SCHEMA exists before calling
|
|
g_settings_new (Bug#8967). Do not create gsettings_obj.
|
|
Remove calls to g_settings_bind. Connect something_changedCB to
|
|
"changed".
|
|
|
|
* xgselect.c: Add defined (HAVE_GSETTINGS).
|
|
(xgselect_initialize): Ditto.
|
|
|
|
* process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
|
|
(wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
|
|
xg_select.
|
|
|
|
2011-07-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* eval.c (struct backtrace): Simplify and port the data structure.
|
|
Do not assume that "int nargs : BITS_PER_INT - 2;" produces a
|
|
signed bit field, as this assumption is not portable and it makes
|
|
Emacs crash when compiled with Sun C 5.8 on sparc. Do not use
|
|
"char debug_on_exit : 1" as this is not portable either; instead,
|
|
use the portable "unsigned int debug_on_exit : 1". Remove unused
|
|
member evalargs. Remove obsolete comments about cc bombing out.
|
|
|
|
2011-06-30 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS.
|
|
Let HAVE_GSETTINGS override HAVE_GCONF.
|
|
(store_monospaced_changed): New function.
|
|
(EMACS_SETTINGS): A new type derived from GObject to handle
|
|
GSettings notifications.
|
|
(emacs_settings_constructor, emacs_settings_get_property)
|
|
(emacs_settings_set_property, emacs_settings_class_init):
|
|
New functions.
|
|
(gsettings_client, gsettings_obj): New variables.
|
|
(GSETTINGS_SCHEMA): New define.
|
|
(something_changedCB): Call store_monospaced_changed.
|
|
(init_gsettings): New function.
|
|
(xsettings_initialize): Call init_gsettings.
|
|
(syms_of_xsettings): Initialize gsettings_client, gsettings_obj
|
|
to NULL.
|
|
|
|
* Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from
|
|
GCONF_CFLAGS/LIBS.
|
|
|
|
2011-06-29 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (resize_root_window, grow_mini_window)
|
|
(shrink_mini_window): Rename Qresize_root_window to
|
|
Qwindow_resize_root_window and Qresize_root_window_vertically to
|
|
Qwindow_resize_root_window_vertically.
|
|
|
|
2011-06-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var.
|
|
|
|
2011-06-27 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Redesign dependencies so they reflect more
|
|
clearly which files are directly included by each source file,
|
|
and not through other includes.
|
|
|
|
2011-06-27 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* buffer.c (Qclone_number): Declare static and DEFSYM it.
|
|
(sort_overlays, overlay_strings): When an overlay's clone number
|
|
matches the window's clone number process the overlay even if
|
|
the overlay's window property doesn't match the current window.
|
|
|
|
* window.c (Fwindow_vchild): Rename to Fwindow_top_child.
|
|
(Fwindow_hchild): Rename to Fwindow_left_child.
|
|
(Fwindow_next): Rename to Fwindow_next_sibling.
|
|
(Fwindow_prev): Rename to Fwindow_prev_sibling.
|
|
(resize_window_check): Rename to window_resize_check.
|
|
(resize_window_apply): Rename to window_resize_apply.
|
|
(Fresize_window_apply): Rename to Fwindow_resize_apply.
|
|
(Fdelete_other_windows_internal, resize_frame_windows)
|
|
(Fsplit_window_internal, Fdelete_window_internal)
|
|
(grow_mini_window, shrink_mini_window)
|
|
(Fresize_mini_window_internal): Fix callers accordingly.
|
|
|
|
2011-06-26 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* emacsgtkfixed.h: State that this is only used with Gtk+3.
|
|
(emacs_fixed_set_min_size): Remove.
|
|
(emacs_fixed_new): Take frame as argument.
|
|
|
|
* emacsgtkfixed.c: State that this is only used with Gtk+3.
|
|
(_EmacsFixedPrivate): Remove minwidth/height.
|
|
Add struct frame *f.
|
|
(emacs_fixed_init): Initialize priv->f.
|
|
(get_parent_class, emacs_fixed_set_min_size): Remove.
|
|
(emacs_fixed_new): Set priv->f to argument.
|
|
(emacs_fixed_get_preferred_width)
|
|
(emacs_fixed_get_preferred_height): Use min_width/height from
|
|
frames size_hint to set minimum and natural (Bug#8919).
|
|
(XSetWMSizeHints, XSetWMNormalHints): Override these functions
|
|
and use min_width/height from frames size_hint to set
|
|
min_width/height (Bug#8919).
|
|
|
|
* gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new.
|
|
(x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size.
|
|
Fix indentation.
|
|
|
|
2011-06-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling
|
|
bidi_at_paragraph_end, since fast_looking_at doesn't like to be
|
|
called at ZV.
|
|
|
|
2011-06-26 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* process.c (wait_reading_process_output): Bypass select if
|
|
waiting for a cell while ignoring keyboard input, and input is
|
|
pending. Suggested by Jan Djärv (Bug#8869).
|
|
|
|
2011-06-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use gnulib's dup2 module instead of rolling our own.
|
|
* sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
|
|
|
|
2011-06-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* dispnew.c (scrolling_window): Before scrolling, turn off a
|
|
mouse-highlight in the window being scrolled.
|
|
|
|
2011-06-24 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
Move DEFSYM to lisp.h and use everywhere.
|
|
|
|
* character.h (DEFSYM): Move declaration...
|
|
* lisp.h (DEFSYM): ...here.
|
|
|
|
* gnutls.c:
|
|
* minibuf.c:
|
|
* w32menu.c:
|
|
* w32proc.c:
|
|
* w32select.c: Don't include character.h.
|
|
|
|
* alloc.c (syms_of_alloc):
|
|
* buffer.c (syms_of_buffer):
|
|
* bytecode.c (syms_of_bytecode):
|
|
* callint.c (syms_of_callint):
|
|
* casefiddle.c (syms_of_casefiddle):
|
|
* casetab.c (init_casetab_once):
|
|
* category.c (init_category_once, syms_of_category):
|
|
* ccl.c (syms_of_ccl):
|
|
* cmds.c (syms_of_cmds):
|
|
* composite.c (syms_of_composite):
|
|
* dbusbind.c (syms_of_dbusbind):
|
|
* dired.c (syms_of_dired):
|
|
* dispnew.c (syms_of_display):
|
|
* doc.c (syms_of_doc):
|
|
* editfns.c (syms_of_editfns):
|
|
* emacs.c (syms_of_emacs):
|
|
* eval.c (syms_of_eval):
|
|
* fileio.c (syms_of_fileio):
|
|
* fns.c (syms_of_fns):
|
|
* frame.c (syms_of_frame):
|
|
* fringe.c (syms_of_fringe):
|
|
* insdel.c (syms_of_insdel):
|
|
* keymap.c (syms_of_keymap):
|
|
* lread.c (init_obarray, syms_of_lread):
|
|
* macros.c (syms_of_macros):
|
|
* msdos.c (syms_of_msdos):
|
|
* print.c (syms_of_print):
|
|
* process.c (syms_of_process):
|
|
* search.c (syms_of_search):
|
|
* sound.c (syms_of_sound):
|
|
* syntax.c (init_syntax_once, syms_of_syntax):
|
|
* terminal.c (syms_of_terminal):
|
|
* textprop.c (syms_of_textprop):
|
|
* undo.c (syms_of_undo):
|
|
* w32.c (globals_of_w32):
|
|
* window.c (syms_of_window):
|
|
* xdisp.c (syms_of_xdisp):
|
|
* xfaces.c (syms_of_xfaces):
|
|
* xfns.c (syms_of_xfns):
|
|
* xmenu.c (syms_of_xmenu):
|
|
* xsettings.c (syms_of_xsettings):
|
|
* xterm.c (syms_of_xterm): Use DEFSYM.
|
|
|
|
2011-06-24 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h.
|
|
|
|
2011-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer and buffer overflow fixes (Bug#8873).
|
|
|
|
* print.c (printchar, strout): Check for string overflow.
|
|
(PRINTPREPARE, printchar, strout):
|
|
Don't set size unless allocation succeeds.
|
|
|
|
* minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int,
|
|
for sizes. Check for string overflow more accurately.
|
|
Simplify newline removal at end; this suppresses a GCC 4.6.0 warning.
|
|
|
|
* macros.c: Integer and buffer overflow fixes.
|
|
* keyboard.h (struct keyboard.kbd_macro_bufsize):
|
|
* macros.c (Fstart_kbd_macro, store_kbd_macro_char):
|
|
Use ptrdiff_t, not int, for sizes.
|
|
Don't increment bufsize until after realloc succeeds.
|
|
Check for size-calculation overflow.
|
|
(Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result.
|
|
|
|
* lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling.
|
|
|
|
* lread.c: Integer overflow fixes.
|
|
(read_integer): Radix is now EMACS_INT, not int,
|
|
to improve quality of diagnostics for out-of-range radices.
|
|
Calculate buffer size correctly for out-of-range radices.
|
|
(read1): Check for integer overflow in radices, and in
|
|
read-circle numbers.
|
|
(read_escape): Avoid int overflow.
|
|
(Fload, openp, read_buffer_size, read1)
|
|
(substitute_object_recurse, read_vector, read_list, map_obarray):
|
|
Use ptrdiff_t, not int, for sizes.
|
|
(read1): Use EMACS_INT, not int, for sizes.
|
|
Check for size overflow.
|
|
|
|
* image.c (cache_image): Check for size arithmetic overflow.
|
|
|
|
* lread.c: Integer overflow issues.
|
|
(saved_doc_string_size, saved_doc_string_length)
|
|
(prev_saved_doc_string_size, prev_saved_doc_string_length):
|
|
Now ptrdiff_t, not int.
|
|
(read1): Don't assume doc string length fits in int. Check for
|
|
out-of-range doc string lengths.
|
|
(read_list): Don't assume file position fits in int.
|
|
(read_escape): Check for hex character overflow.
|
|
|
|
2011-06-22 Leo Liu <sdl.web@gmail.com>
|
|
|
|
* minibuf.c (Fcompleting_read_default, Vcompleting_read_function):
|
|
Move to minibuffer.el.
|
|
|
|
2011-06-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking.
|
|
The following patches are for when GLYPH_DEBUG && !XASSERT.
|
|
* dispextern.h (trace_redisplay_p, dump_glyph_string):
|
|
* dispnew.c (flush_stdout):
|
|
* xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph):
|
|
Mark as externally visible.
|
|
* dispnew.c (check_window_matrix_pointers): Now static.
|
|
* dispnew.c (window_to_frame_vpos):
|
|
* xfns.c (unwind_create_frame):
|
|
* xterm.c (x_check_font): Remove unused local.
|
|
* scroll.c (CHECK_BOUNDS):
|
|
* xfaces.c (cache_fache): Rename local to avoid shadowing.
|
|
* xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static.
|
|
* xdisp.c (check_window_end): Now a no-op if !XASSERTS.
|
|
(debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos)
|
|
(debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos):
|
|
Now static.
|
|
(debug_method_add): Use va_list and vsprintf rather than relying
|
|
on undefined behavior with wrong number of arguments.
|
|
(dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
|
|
Don't assume ptrdiff_t and EMACS_INT are the same width as int.
|
|
In this code, it's OK to assume C99 behavior for ptrdiff_t formats
|
|
since we're not interested in debugging glyphs with old libraries.
|
|
* xfaces.c (cache_face): Move debugging code earlier; this pacifies
|
|
GCC 4.6.0's static checking.
|
|
|
|
2011-06-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer overflow and signedness fixes (Bug#8873).
|
|
A few related buffer overrun fixes, too.
|
|
|
|
* font.c (font_score): Use EMACS_INT, not int, to store XINT value.
|
|
|
|
* dispextern.h (struct face.stipple):
|
|
* image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
|
|
(x_bitmap_mask, x_allocate_bitmap_record)
|
|
(x_create_bitmap_from_data, x_create_bitmap_from_file)
|
|
(x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask)
|
|
(x_create_bitmap_from_xpm_data):
|
|
* nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last):
|
|
* w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size)
|
|
(.bitmaps_last):
|
|
* xfaces.c (load_pixmap):
|
|
* xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap):
|
|
* xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size)
|
|
(.bitmaps_last, struct x_output.icon_bitmap):
|
|
Use ptrdiff_t, not int, for bitmap indexes.
|
|
(x_allocate_bitmap_record): Check for size overflow.
|
|
* dispextern.h, lisp.h: Adjust to API changes elsewhere.
|
|
|
|
Use ptrdiff_t, not int, for overlay counts.
|
|
* buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
|
|
* editfns.c (overlays_around, get_pos_property):
|
|
* textprop.c (get_char_property_and_overlay):
|
|
* xdisp.c (next_overlay_change, note_mouse_highlight):
|
|
* xfaces.c (face_at_buffer_position):
|
|
* buffer.c (OVERLAY_COUNT_MAX): New macro.
|
|
(overlays_at, overlays_in, sort_overlays, Foverlays_at)
|
|
(Fnext_overlay_change, Fprevious_overlay_change)
|
|
(mouse_face_overlay_overlaps, Foverlays_in):
|
|
Use ptrdiff_t, not int, for sizes.
|
|
(overlays_at, overlays_in): Check for size-calculation overflow.
|
|
|
|
* xterm.c (xim_initialize, same_x_server): Strlen may not fit in int.
|
|
|
|
* xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen.
|
|
(x_session_initialize): Do not assume string length fits in int.
|
|
|
|
* xsettings.c (apply_xft_settings): Fix potential buffer overrun.
|
|
This is unlikely, but can occur if DPI is outlandish.
|
|
|
|
* xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font):
|
|
* xselect.c (Fx_get_atom_name): Avoid need for strlen.
|
|
|
|
* xrdb.c: Don't assume strlen fits in int; avoid some strlens.
|
|
* xrdb.c (magic_file_p, search_magic_path):
|
|
Omit last arg SUFFIX; it was always 0. All callers changed.
|
|
(magic_file_p): Use ptrdiff_t, not int. Check for size overflow.
|
|
|
|
* xfont.c (xfont_match): Avoid need for strlen.
|
|
|
|
* xfns.c: Don't assume strlen fits in int.
|
|
(xic_create_fontsetname, x_window): Use ptrdiff_t, not int.
|
|
|
|
* xdisp.c (message_log_check_duplicate): Return intmax_t,
|
|
not unsigned long, as we prefer signed integers. All callers changed.
|
|
Detect integer overflow in repeat count.
|
|
(message_dolog): Don't assume print length fits in 39 bytes.
|
|
(display_mode_element): Don't assume strlen fits in int.
|
|
|
|
* termcap.c: Don't assume sizes fit in int and never overflow.
|
|
(struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes.
|
|
(gobble_line): Check for size-calculation overflow.
|
|
|
|
* minibuf.c (Fread_buffer):
|
|
* lread.c (intern, intern_c_string):
|
|
* image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:
|
|
Don't assume string length fits in int.
|
|
|
|
* keyboard.c (parse_tool_bar_item):
|
|
* gtkutil.c (style_changed_cb): Avoid need for strlen.
|
|
|
|
* font.c: Don't assume string length fits in int.
|
|
(font_parse_xlfd, font_parse_fcname, font_unparse_fcname):
|
|
Use ptrdiff_t, not int.
|
|
(font_intern_prop): Don't assume string length fits in int.
|
|
Don't assume integer property fits in fixnum.
|
|
* font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int.
|
|
|
|
* filelock.c: Fix some buffer overrun and integer overflow issues.
|
|
(get_boot_time): Don't assume gzip command string fits in 100 bytes.
|
|
Reformulate so as not to need the command string.
|
|
Invoke gzip -cd rather than gunzip, as it's more portable.
|
|
(lock_info_type, lock_file_1, lock_file):
|
|
Don't assume pid_t and time_t fit in unsigned long.
|
|
(LOCK_PID_MAX): Remove; we now use more-reliable bounds.
|
|
(current_lock_owner): Prefer signed type for sizes.
|
|
Use memcpy, not strncpy, where memcpy is what is really wanted.
|
|
Don't assume (via atoi) that time_t and pid_t fit in int.
|
|
Check for time_t and/or pid_t out of range, e.g., via a network share.
|
|
Don't alloca where an auto var works fine.
|
|
|
|
* fileio.c: Fix some integer overflow issues.
|
|
(file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name):
|
|
Don't assume string length fits in int.
|
|
(directory_file_name): Don't assume string length fits in long.
|
|
(make_temp_name): Don't assume pid fits in int, or that its print
|
|
length is less than 20.
|
|
|
|
* data.c (Fsubr_name): Rewrite to avoid a strlen call.
|
|
|
|
* coding.c (make_subsidiaries): Don't assume string length fits in int.
|
|
|
|
* callproc.c (child_setup): Rewrite to avoid two strlen calls.
|
|
|
|
* process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT.
|
|
We prefer signed integers, even for size calculations.
|
|
|
|
* emacs.c: Don't assume string length fits in 'int'.
|
|
(DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int.
|
|
(main): Don't invoke strlen when not needed.
|
|
|
|
* dbusbind.c (XD_ERROR): Don't arbitrarily truncate string.
|
|
(XD_DEBUG_MESSAGE): Don't waste a byte.
|
|
|
|
* callproc.c (getenv_internal_1, getenv_internal)
|
|
(Fgetenv_internal):
|
|
* buffer.c (init_buffer): Don't assume string length fits in 'int'.
|
|
|
|
* lread.c (invalid_syntax): Omit length argument.
|
|
All uses changed. This doesn't fix a bug, but it simplifies the
|
|
code away from its former Hollerith-constant appearance, and it's
|
|
one less 'int' to worry about when looking at integer-overflow issues.
|
|
(string_to_number): Simplify 2011-04-26 change by invoking xsignal1.
|
|
|
|
* lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr).
|
|
This didn't break anything, but it didn't help either.
|
|
It's confusing to put a bogus integer in a place where the actual
|
|
value does not matter.
|
|
(LIST_END_P): Remove unused macro and its bogus comment.
|
|
(make_fixnum_or_float): Remove unnecessary cast to EMACS_INT.
|
|
|
|
* lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT.
|
|
This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE,
|
|
implementation.
|
|
(struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT.
|
|
We prefer signed types, and the value cannot exceed the EMACS_INT
|
|
range anyway (because otherwise the length would not be representable).
|
|
(XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t,
|
|
not EMACS_UINT and EMACS_INT, when converting pointer to integer.
|
|
This avoids a GCC warning when WIDE_EMACS_INT.
|
|
|
|
* indent.c (sane_tab_width): New function.
|
|
(current_column, scan_for_column, Findent_to, position_indentation)
|
|
(compute_motion): Use it. This is just for clarity.
|
|
(Fcompute_motion): Don't assume hscroll and tab offset fit in int.
|
|
|
|
* image.c (xbm_image_p): Don't assume stated width, height fit in int.
|
|
|
|
* lisp.h (lint_assume): New macro.
|
|
* composite.c (composition_gstring_put_cache):
|
|
* ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0.
|
|
|
|
* editfns.c, insdel.c:
|
|
Omit unnecessary forward decls, to simplify future changes.
|
|
|
|
* ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths.
|
|
|
|
* font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'.
|
|
|
|
* fns.c (Ffillarray): Don't assume bool vector size fits in 'int'.
|
|
Use much-faster test for byte-length change.
|
|
Don't assume string byte-length fits in 'int'.
|
|
Check that character arg fits in 'int'.
|
|
(mapcar1): Declare byte as byte, for clarity.
|
|
|
|
* alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication.
|
|
|
|
* fns.c (concat): Catch string overflow earlier.
|
|
Do not rely on integer wraparound.
|
|
|
|
* dispextern.h (struct it.overlay_strings_charpos)
|
|
(struct it.selective): Now EMACS_INT, not int.
|
|
* xdisp.c (forward_to_next_line_start)
|
|
(back_to_previous_visible_line_start)
|
|
(reseat_at_next_visible_line_start, next_element_from_buffer):
|
|
Don't arbitrarily truncate the value of 'selective' to int.
|
|
|
|
* xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0.
|
|
|
|
* composite.c: Don't truncate sizes to 'int'.
|
|
(composition_gstring_p, composition_reseat_it)
|
|
(composition_adjust_point): Use EMACS_INT, not int.
|
|
(get_composition_id, composition_gstring_put_cache): Use EMACS_INT,
|
|
not EMACS_UINT, for indexes.
|
|
|
|
* category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT.
|
|
|
|
* buffer.c: Include <verify.h>.
|
|
(struct sortvec.priority, struct sortstr.priority):
|
|
Now EMACS_INT, not int.
|
|
(compare_overlays, cmp_for_strings): Avoid subtraction overflow.
|
|
(struct sortstr.size, record_overlay_string)
|
|
(struct sortstrlist.size, struct sortlist.used):
|
|
Don't truncate size to int.
|
|
(record_overlay_string): Check for size-calculation overflow.
|
|
(init_buffer_once): Check at compile-time, not run-time.
|
|
|
|
2011-06-22 Jim Meyering <meyering@redhat.com>
|
|
|
|
Don't leak an XBM-image-sized buffer
|
|
* image.c (xbm_load): Free the image buffer after using it.
|
|
|
|
2011-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port to Sun C.
|
|
* composite.c (find_automatic_composition): Omit needless 'return 0;'
|
|
that Sun C diagnosed.
|
|
* fns.c (secure_hash): Fix pointer signedness issue.
|
|
* intervals.c (static_offset_intervals): New function.
|
|
(offset_intervals): Use it.
|
|
|
|
2011-06-21 Leo Liu <sdl.web@gmail.com>
|
|
|
|
* deps.mk (fns.o):
|
|
* makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and
|
|
sha512.h.
|
|
|
|
* fns.c (secure_hash): Rename from crypto_hash_function and change
|
|
the first arg to accept symbols.
|
|
(Fsecure_hash): New primitive.
|
|
(syms_of_fns): New symbols.
|
|
|
|
2011-06-20 Deniz Dogan <deniz@dogan.se>
|
|
|
|
* process.c (Fset_process_buffer): Clarify return value in
|
|
docstring.
|
|
|
|
2011-06-18 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* dispnew.c (add_window_display_history): Use BVAR.
|
|
|
|
* xdisp.c (debug_method_add): Use BVAR.
|
|
(check_window_end, dump_glyph_matrix, dump_glyph)
|
|
(dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C.
|
|
|
|
* xfaces.c (check_lface_attrs, check_lface, dump_realized_face):
|
|
Likewise.
|
|
|
|
* xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache
|
|
check till after the cache is created in init_frame_faces.
|
|
|
|
2011-06-17 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fns.c (Fsafe_length): Yet another int/Lisp_Object mixup.
|
|
|
|
2011-06-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* lisp.h: Include <limits.h>, for INT_MAX, LONG_MAX, LLONG_MAX.
|
|
Without this, prin1 mishandles Lisp_Misc_Save_Value printing on
|
|
hosts with pre-C99 libraries, because pD is wrongly defined to "t".
|
|
|
|
Improve buffer-overflow checking (Bug#8873).
|
|
* fileio.c (Finsert_file_contents):
|
|
* insdel.c (insert_from_buffer_1, replace_range, replace_range_2):
|
|
Remove the old (too-loose) buffer overflow checks.
|
|
They weren't needed, since make_gap checks for buffer overflow.
|
|
* insdel.c (make_gap_larger): Catch buffer overflows that were missed.
|
|
The old code merely checked for Emacs fixnum overflow, and relied
|
|
on undefined (wraparound) behavior. The new code avoids undefined
|
|
behavior, and also checks for ptrdiff_t and/or size_t overflow.
|
|
|
|
* editfns.c (Finsert_char): Don't dump core with very negative counts.
|
|
Tune. Don't use wider integers than needed. Don't use alloca.
|
|
Use a bigger 'string' buffer. Rewrite to avoid 'n > 0' test.
|
|
|
|
* insdel.c (replace_range): Fix buf overflow when insbytes < outgoing.
|
|
|
|
* insdel.c, lisp.h (buffer_overflow): New function.
|
|
(insert_from_buffer_1, replace_range, replace_range_2):
|
|
* insdel.c (make_gap_larger):
|
|
* editfns.c (Finsert_char):
|
|
* fileio.c (Finsert_file_contents): Use it, to normalize wording.
|
|
|
|
* buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed.
|
|
|
|
2011-06-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer overflow and signedness fixes (Bug#8873, Bug#8828).
|
|
|
|
* ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772.
|
|
(GET_CCL_RANGE, IN_INT_RANGE): Use it.
|
|
|
|
* fileio.c: Don't assume EMACS_INT fits in off_t.
|
|
(emacs_lseek): New static function.
|
|
(Finsert_file_contents, Fwrite_region): Use it.
|
|
Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate.
|
|
|
|
* fns.c (Fload_average): Don't assume 100 * load average fits in int.
|
|
|
|
* fns.c: Don't overflow int when computing a list length.
|
|
* fns.c (QUIT_COUNT_HEURISTIC): New constant.
|
|
(Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted
|
|
truncation on 64-bit hosts. Check for QUIT every
|
|
QUIT_COUNT_HEURISTIC entries rather than every other entry; that's
|
|
faster and is responsive enough.
|
|
(Flength): Report an error instead of overflowing an integer.
|
|
(Fsafe_length): Return a float if the value is not representable
|
|
as a fixnum. This shouldn't happen except in contrived situations.
|
|
(Fnthcdr, Fsort): Don't assume list length fits in int.
|
|
(Fcopy_sequence): Don't assume vector length fits in int.
|
|
|
|
* alloc.c: Check that resized vectors' lengths fit in fixnums.
|
|
(header_size, word_size): New constants.
|
|
(allocate_vectorlike): Don't check size overflow here.
|
|
(allocate_vector): Check it here instead, since this is the only
|
|
caller of allocate_vectorlike that could cause overflow.
|
|
Check that the new vector's length is representable as a fixnum.
|
|
|
|
* fns.c (next_almost_prime): Don't return a multiple of 3 or 5.
|
|
The previous code was bogus. For example, next_almost_prime (32)
|
|
returned 39, which is undesirable as it is a multiple of 3; and
|
|
next_almost_prime (24) returned 25, which is a multiple of 5 so
|
|
why was the code bothering to check for multiples of 7?
|
|
|
|
* bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length.
|
|
|
|
* eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now.
|
|
|
|
Variadic C functions now count arguments with ptrdiff_t.
|
|
This partly undoes my 2011-03-30 change, which replaced int with size_t.
|
|
Back then I didn't know that the Emacs coding style prefers signed int.
|
|
Also, in the meantime I found a few more instances where arguments
|
|
were being counted with int, which may truncate counts on 64-bit
|
|
machines, or EMACS_INT, which may be unnecessarily wide.
|
|
* lisp.h (struct Lisp_Subr.function.aMANY)
|
|
(DEFUN_ARGS_MANY, internal_condition_case_n, safe_call):
|
|
Arg counts are now ptrdiff_t, not size_t.
|
|
All variadic functions and their callers changed accordingly.
|
|
(struct gcpro.nvars): Now size_t, not size_t. All uses changed.
|
|
* bytecode.c (exec_byte_code): Check maxdepth for overflow,
|
|
to avoid potential buffer overrun. Don't assume arg counts fit in 'int'.
|
|
* callint.c (Fcall_interactively): Check arg count for overflow,
|
|
to avoid potential buffer overrun. Use signed char, not 'int',
|
|
for 'varies' array, so that we needn't bother to check its size
|
|
calculation for overflow.
|
|
* editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args.
|
|
* eval.c (apply_lambda):
|
|
* fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length.
|
|
(struct textprop_rec.argnum): Now ptrdiff_t, not int. All uses changed.
|
|
(mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args.
|
|
|
|
* callint.c (Fcall_interactively): Don't use index var as event count.
|
|
|
|
* vm-limit.c (check_memory_limits): Fix incorrect extern function decls.
|
|
* mem-limits.h (SIZE): Remove; no longer used.
|
|
|
|
* xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works.
|
|
|
|
Remove unnecessary casts.
|
|
* xterm.c (x_term_init):
|
|
* xfns.c (x_set_border_pixel):
|
|
* widget.c (create_frame_gcs): Remove casts to unsigned long etc.
|
|
These aren't needed now that we assume ANSI C.
|
|
|
|
* sound.c (Fplay_sound_internal): Remove cast to unsigned long.
|
|
It's more likely to cause problems (due to unsigned overflow)
|
|
than to cure them.
|
|
|
|
* dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts.
|
|
|
|
* unexelf.c (unexec): Don't assume BSS addr fits in unsigned.
|
|
|
|
* xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned.
|
|
|
|
* keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX.
|
|
|
|
* lisp.h (CHAR_TABLE_SET): Omit now-redundant test.
|
|
|
|
* lread.c (Fload): Don't compare a possibly-garbage time_t value.
|
|
|
|
GLYPH_CODE_FACE returns EMACS_INT, not int.
|
|
* dispextern.h (merge_faces):
|
|
* xfaces.c (merge_faces):
|
|
* xdisp.c (get_next_display_element, next_element_from_display_vector):
|
|
Don't assume EMACS_INT fits in int.
|
|
|
|
* character.h (CHAR_VALID_P): Remove unused parameter.
|
|
* fontset.c, lisp.h, xdisp.c: All uses changed.
|
|
|
|
* editfns.c (Ftranslate_region_internal): Omit redundant test.
|
|
|
|
* fns.c (concat): Minor tuning based on overflow analysis.
|
|
This doesn't fix any bugs. Use int to hold character, instead
|
|
of constantly refetching from Emacs object. Use XFASTINT, not
|
|
XINT, for value known to be a character. Don't bother comparing
|
|
a single byte to 0400, as it's always less.
|
|
|
|
* floatfns.c (Fexpt):
|
|
* fileio.c (make_temp_name): Omit unnecessary cast to unsigned.
|
|
|
|
* editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT
|
|
for characters.
|
|
|
|
* doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives.
|
|
|
|
* data.c (Faset): If ARRAY is a string, check that NEWELT is a char.
|
|
Without this fix, on a 64-bit host (aset S 0 4294967386) would
|
|
incorrectly succeed when S was a string, because 4294967386 was
|
|
truncated before it was used.
|
|
|
|
* chartab.c (Fchar_table_range): Use CHARACTERP to check range.
|
|
Otherwise, an out-of-range integer could cause undefined behavior
|
|
on a 64-bit host.
|
|
|
|
* composite.c: Use int, not EMACS_INT, for characters.
|
|
(fill_gstring_body, composition_compute_stop_pos): Use int, not
|
|
EMACS_INT, for values that are known to be in character range.
|
|
This doesn't fix any bugs but is the usual style inside Emacs and
|
|
may generate better code on 32-bit machines.
|
|
|
|
Make sure a 64-bit char is never passed to ENCODE_CHAR.
|
|
This is for reasons similar to the recent CHAR_STRING fix.
|
|
* charset.c (Fencode_char): Check that character arg is actually
|
|
a character. Pass an int to ENCODE_CHAR.
|
|
* charset.h (ENCODE_CHAR): Verify that the character argument is no
|
|
wider than 'int', as a compile-time check to prevent future regressions
|
|
in this area.
|
|
|
|
* character.c (char_string): Remove unnecessary casts.
|
|
|
|
Make sure a 64-bit char is never passed to CHAR_STRING.
|
|
Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform,
|
|
by silently ignoring the top 32 bits, allowing some values
|
|
that were far too large to be valid characters.
|
|
* character.h: Include <verify.h>.
|
|
(CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character
|
|
arguments are no wider than unsigned, as a compile-time check
|
|
to prevent future regressions in this area.
|
|
* data.c (Faset):
|
|
* editfns.c (Fchar_to_string, general_insert_function, Finsert_char)
|
|
(Fsubst_char_in_region):
|
|
* fns.c (concat):
|
|
* xdisp.c (decode_mode_spec_coding):
|
|
Adjust to CHAR_STRING's new requirement.
|
|
* editfns.c (Finsert_char, Fsubst_char_in_region):
|
|
* fns.c (concat): Check that character args are actually
|
|
characters. Without this test, these functions did the wrong
|
|
thing with wildly out-of-range values on 64-bit hosts.
|
|
|
|
Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts.
|
|
These casts should not be needed on 32-bit hosts, either.
|
|
* keyboard.c (read_char):
|
|
* lread.c (Fload): Remove casts to unsigned.
|
|
|
|
* lisp.h (UNSIGNED_CMP): New macro.
|
|
This fixes comparison bugs on 64-bit hosts.
|
|
(ASCII_CHAR_P): Use it.
|
|
* casefiddle.c (casify_object):
|
|
* character.h (ASCII_BYTE_P, CHAR_VALID_P)
|
|
(SINGLE_BYTE_CHAR_P, CHAR_STRING):
|
|
* composite.h (COMPOSITION_ENCODE_RULE_VALID):
|
|
* dispextern.h (FACE_FROM_ID):
|
|
* keyboard.c (read_char): Use UNSIGNED_CMP.
|
|
|
|
* xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
|
|
not to EMACS_INT, to avoid GCC warning.
|
|
|
|
* xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals.
|
|
|
|
* buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast.
|
|
The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
|
|
isn't needed on 32-bit machines.
|
|
|
|
* buffer.c (Fgenerate_new_buffer_name):
|
|
Use EMACS_INT for count, not int.
|
|
(advance_to_char_boundary): Return EMACS_INT, not int.
|
|
|
|
* data.c (Qcompiled_function): Now static.
|
|
|
|
* window.c (window_body_lines): Now static.
|
|
|
|
* image.c (gif_load): Rename local to avoid shadowing.
|
|
|
|
* lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
|
|
(struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member.
|
|
* alloc.c (make_save_value): Integer argument is now of type
|
|
ptrdiff_t, not int.
|
|
(mark_object): Use ptrdiff_t, not int.
|
|
* lisp.h (pD): New macro.
|
|
* print.c (print_object): Use it.
|
|
|
|
* alloc.c: Use EMACS_INT, not int, to count objects.
|
|
(total_conses, total_markers, total_symbols, total_vector_size)
|
|
(total_free_conses, total_free_markers, total_free_symbols)
|
|
(total_free_floats, total_floats, total_free_intervals)
|
|
(total_intervals, total_strings, total_free_strings):
|
|
Now EMACS_INT, not int. All uses changed.
|
|
(Fgarbage_collect): Compute overall total using a double, so that
|
|
integer overflow is less likely to be a problem. Check for overflow
|
|
when converting back to an integer.
|
|
(n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks)
|
|
(n_vectors, n_symbol_blocks, n_marker_blocks): Remove.
|
|
These were 'int' variables that could overflow on 64-bit hosts;
|
|
they were never used, so remove them instead of repairing them.
|
|
(nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'.
|
|
(inhibit_garbage_collection): Set gc_cons_threshold to max value.
|
|
Previously, this ceilinged at INT_MAX, but that doesn't work on
|
|
64-bit machines.
|
|
(allocate_pseudovector): Don't use EMACS_INT when int would do.
|
|
|
|
* alloc.c (Fmake_bool_vector): Don't assume vector size fits in int.
|
|
(allocate_vectorlike): Check for ptrdiff_t overflow.
|
|
(mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT
|
|
when a (possibly-narrower) signed value would do just as well.
|
|
We prefer using signed arithmetic, to avoid comparison confusion.
|
|
|
|
* alloc.c: Catch some string size overflows that we were missing.
|
|
(XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0,
|
|
for convenience in STRING_BYTES_MAX.
|
|
(STRING_BYTES_MAX): New macro, superseding the old one in lisp.h.
|
|
The definition here is exact; the one in lisp.h was approximate.
|
|
(allocate_string_data): Check for string overflow. This catches
|
|
some instances we weren't catching before. Also, it catches
|
|
size_t overflow on (unusual) hosts where SIZE_MAX <= min
|
|
(PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits
|
|
and ptrdiff_t and EMACS_INT are both 64 bits.
|
|
|
|
* character.c, coding.c, doprnt.c, editfns.c, eval.c:
|
|
All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND.
|
|
* lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX.
|
|
|
|
* character.c (string_escape_byte8): Fix nbytes/nchars typo.
|
|
|
|
* alloc.c (Fmake_string): Check for out-of-range init.
|
|
|
|
2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (Fdefvaralias): Also mark the target as variable-special-p.
|
|
|
|
2011-06-14 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xfns.c (x_set_scroll_bar_default_width): Remove argument to
|
|
xg_get_default_scrollbar_width.
|
|
|
|
* gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3.
|
|
(int_gtk_range_get_value): Move to the scroll bar part of the file.
|
|
(style_changed_cb): Call update_theme_scrollbar_width and call
|
|
x_set_scroll_bar_default_width and xg_frame_set_char_size for
|
|
all frames (Bug#8505).
|
|
(xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505).
|
|
Call gtk_window_set_resizable if HAVE_GTK3.
|
|
(x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width
|
|
and height if HAVE_GTK3 (Bug#8505).
|
|
(scroll_bar_width_for_theme): New variable.
|
|
(update_theme_scrollbar_width): New function.
|
|
(xg_get_default_scrollbar_width): Move code to
|
|
update_theme_scrollbar_width, just return scroll_bar_width_for_theme.
|
|
(xg_initialize): Call update_theme_scrollbar_width.
|
|
|
|
* gtkutil.h (xg_get_default_scrollbar_width): Remove argument.
|
|
|
|
* emacsgtkfixed.c, emacsgtkfixed.h: New files.
|
|
|
|
2011-06-12 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* frame.c (make_frame): Call other_buffer_safely instead of
|
|
other_buffer.
|
|
|
|
* window.c (temp_output_buffer_show): Call display_buffer with
|
|
second argument Vtemp_buffer_show_specifiers and reset latter
|
|
immediately after the call.
|
|
(Vtemp_buffer_show_specifiers): New variable.
|
|
(auto_window_vscroll_p, next_screen_context_lines)
|
|
(Vscroll_preserve_screen_position): Remove leading asterisks from
|
|
doc-strings.
|
|
|
|
2011-06-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by GCC 4.6.0 static checking.
|
|
* buffer.c (Qclone_number): Remove for now, as it's unused.
|
|
(record_buffer, Funrecord_buffer): Rename local to avoid shadowing.
|
|
(record_buffer): Remove unused local.
|
|
* frame.c (other_visible_frames, frame_buffer_list): Now static.
|
|
(set_frame_buffer_list): Remove; unused.
|
|
* frame.h (other_visible_frames): Remove decl.
|
|
* keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF.
|
|
* lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls.
|
|
(add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only
|
|
if HAVE_GPM.
|
|
* menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF.
|
|
* process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
|
|
Define only if HAVE_GPM.
|
|
* widget.c (EmacsFrameResize, emacsFrameClassRec): Now static.
|
|
(update_hints_inhibit): Remove; never set. All uses removed.
|
|
* widgetprv.h (emacsFrameClassRec): Remove decl.
|
|
* window.c (delete_deletable_window): Now returns void, since it
|
|
wasn't returning anything.
|
|
(compare_window_configurations): Remove unused locals.
|
|
* xfns.c (x_set_scroll_bar_default_width): Remove unused locals.
|
|
* xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF.
|
|
(dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers
|
|
the same widths as pointers. This follows up on the 2011-05-06 patch.
|
|
* xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID.
|
|
* xterm.h: Likewise.
|
|
(x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF.
|
|
|
|
2011-06-12 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
(LISP_H): Add lib/intprops.h.
|
|
|
|
2011-06-11 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* image.c (gif_load): Add animation frame delay to the metadata.
|
|
(syms_of_image): Use DEFSYM. New symbol `delay'.
|
|
|
|
2011-06-11 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (delete_deletable_window): Re-add.
|
|
(Fset_window_configuration): Rewrite to handle dead buffers and
|
|
consequently deletable windows.
|
|
(window_tree, Fwindow_tree): Remove. Supply functionality in
|
|
window.el.
|
|
(compare_window_configurations): Simplify code.
|
|
|
|
2011-06-11 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* image.c (imagemagick_load_image): Fix type mismatch.
|
|
(Fimagemagick_types): Likewise.
|
|
|
|
* window.h (replace_buffer_in_windows): Declare.
|
|
|
|
2011-06-11 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* buffer.c: New Lisp objects Qbuffer_list_update_hook and
|
|
Qclone_number. Remove external declaration of Qdelete_window.
|
|
(Fbuffer_list): Rewrite doc-string. Minor restructuring of
|
|
code.
|
|
(Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer):
|
|
Run Qbuffer_list_update_hook if allowed.
|
|
(Fother_buffer): Rewrite doc-string. Major rewrite for new
|
|
buffer list implementation.
|
|
(other_buffer_safely): New function.
|
|
(Fkill_buffer): Replace call to replace_buffer_in_all_windows by
|
|
calls to replace_buffer_in_windows and
|
|
replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook
|
|
if allowed.
|
|
(record_buffer): Inhibit quitting and rewrite using quittable
|
|
functions. Run Qbuffer_list_update_hook if allowed.
|
|
(Frecord_buffer, Funrecord_buffer): New functions.
|
|
(switch_to_buffer_1, Fswitch_to_buffer): Remove.
|
|
Move switch-to-buffer to window.el.
|
|
(bury-buffer): Move to window.el.
|
|
(Vbuffer_list_update_hook): New variable.
|
|
|
|
* lisp.h (other_buffer_safely): Add prototype in buffer.c
|
|
section.
|
|
|
|
* window.h (resize_frame_windows): Move up in code.
|
|
(Fwindow_frame): Remove EXFUN.
|
|
(replace_buffer_in_all_windows): Remove prototype.
|
|
(replace_buffer_in_windows_safely): Add prototype.
|
|
|
|
* window.c: Declare Qdelete_window static again. Move down
|
|
declaration of select_count.
|
|
(Fnext_window, Fprevious_window): Rewrite doc-strings.
|
|
(Fother_window): Move to window.el.
|
|
(window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
|
|
cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
|
|
(Fdelete_windows_on, Freplace_buffer_in_windows): Move to
|
|
window.el.
|
|
(replace_buffer_in_windows): Implement by calling
|
|
Qreplace_buffer_in_windows.
|
|
(replace_buffer_in_all_windows): Remove with some functionality
|
|
moved into replace_buffer_in_windows_safely.
|
|
(replace_buffer_in_windows_safely): New function.
|
|
(select_window_norecord, select_frame_norecord): Move in front
|
|
of run_window_configuration_change_hook. Remove now obsolete
|
|
declarations.
|
|
(Fset_window_buffer): Rewrite doc-string.
|
|
Call Qrecord_window_buffer.
|
|
(keys_of_window): Move binding for other-window to window.el.
|
|
|
|
2011-06-11 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* dispextern.h (struct image): Replace data member, whose int_val
|
|
and ptr_val fields were not used by anything, with a single
|
|
lisp_val object.
|
|
|
|
* image.c (Fimage_metadata, make_image, mark_image, tiff_load)
|
|
(gif_clear_image, gif_load, imagemagick_load_image)
|
|
(gs_clear_image, gs_load): Callers changed.
|
|
|
|
2011-06-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* buffer.h: Include <time.h>, for time_t.
|
|
Needed to build on FreeBSD 8.2. Problem reported by Herbert J. Skuhra.
|
|
|
|
Fix minor problems found by static checking.
|
|
|
|
* image.c (PixelGetMagickColor): Declare if ImageMagick headers don't.
|
|
|
|
Make identifiers static if they are not used in other modules.
|
|
* data.c (Qcompiled_function, Qframe, Qvector):
|
|
* image.c (QimageMagick, Qsvg):
|
|
* minibuf.c (Qmetadata):
|
|
* window.c (resize_window_check, resize_root_window): Now static.
|
|
* window.h (resize_window_check, resize_root_window): Remove decls.
|
|
|
|
* window.c (window_deletion_count, delete_deletable_window):
|
|
Remove; unused.
|
|
(window_body_lines): Now static.
|
|
(Fdelete_other_windows_internal): Mark vars as initialized.
|
|
Make sure 'resize_failed' is initialized.
|
|
(run_window_configuration_change_hook): Rename local to avoid shadowing.
|
|
(resize_window_apply): Remove unused local.
|
|
* window.h (delete_deletable_window): Remove decl.
|
|
|
|
* image.c (gif_load, svg_load_image): Rename locals to avoid shadowing.
|
|
(imagemagick_load_image): Fix pointer signedness problem by changing
|
|
last arg from unsigned char * to char *. All uses changed.
|
|
Also, fix a local for similar reasons.
|
|
Remove unused locals. Remove locals to avoid shadowing.
|
|
(fn_rsvg_handle_free): Remove; unused.
|
|
(svg_load, svg_load_image): Fix pointer signedness problem.
|
|
(imagemagick_load_image): Don't use garbage pointer image_wand.
|
|
|
|
* ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals.
|
|
|
|
2011-06-10 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* image.c (gif_load): Fix omitted cast error introduced by
|
|
2011-06-06 change.
|
|
|
|
2011-06-10 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.h (resize_proportionally, orig_total_lines)
|
|
(orig_top_line): Remove from window structure.
|
|
(set_window_height, set_window_width, change_window_heights)
|
|
(Fdelete_window): Remove prototypes.
|
|
(resize_frame_windows): Remove duplicate declaration.
|
|
|
|
2011-06-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.h (resize_frame_windows, resize_window_check)
|
|
(delete_deletable_window, resize_root_window)
|
|
(resize_frame_windows): Declare prototypes.
|
|
|
|
* window.c (resize_window_apply): Make definition be "static" to
|
|
match the prototype.
|
|
|
|
2011-06-10 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c: Remove declarations of Qwindow_size_fixed,
|
|
window_min_size_1, window_min_size_2, window_min_size,
|
|
size_window, window_fixed_size_p, enlarge_window, delete_window.
|
|
Remove static from declaration of Qdelete_window, it's
|
|
temporarily needed by Fbury_buffer.
|
|
(replace_window): Don't assign orig_top_line and
|
|
orig_total_lines.
|
|
(Fdelete_window, delete_window): Remove. Window deletion is
|
|
handled by window.el.
|
|
(window_loop): Remove DELETE_OTHER_WINDOWS case.
|
|
Replace Fdelete_window calls with calls to Qdelete_window.
|
|
(Fdelete_other_windows): Remove. Deleting other windows is
|
|
handled by window.el.
|
|
(window_fixed_size_p): Remove. Fixed-sizeness of windows is
|
|
handled in window.el.
|
|
(window_min_size_2, window_min_size_1, window_min_size): Remove.
|
|
Window minimum sizes are handled in window.el.
|
|
(shrink_windows, size_window, set_window_height)
|
|
(set_window_width, change_window_heights, window_height)
|
|
(window_width, CURBEG, CURSIZE, enlarge_window)
|
|
(adjust_window_trailing_edge, Fadjust_window_trailing_edge)
|
|
(Fenlarge_window, Fshrink_window): Remove. Window resizing is
|
|
handled in window.el.
|
|
(make_dummy_parent): Rename to make_parent_window and give it a
|
|
second argument horflag.
|
|
(make_window): Don't set resize_proportionally any more.
|
|
(Fsplit_window): Remove. Windows are split in window.el.
|
|
(save_restore_action, save_restore_orig_size)
|
|
(shrink_window_lowest_first, save_restore_orig_size): Remove.
|
|
Resize mini windows in window.el.
|
|
(grow_mini_window, shrink_mini_window): Implement by calling
|
|
Qresize_root_window_vertically, resize_window_check and
|
|
resize_window_apply.
|
|
(saved_window, Fset_window_configuration, save_window_save):
|
|
Do not handle orig_top_line, orig_total_lines, and
|
|
resize_proportionally.
|
|
(window_min_height, window_min_width): Move to window.el.
|
|
(keys_of_window): Move bindings for delete-other-windows,
|
|
split-window, delete-window and enlarge-window to window.el.
|
|
|
|
* buffer.c: Temporarily extern Qdelete_window.
|
|
(Fbury_buffer): Temporarily call Qdelete_window instead of
|
|
Fdelete_window (Fbury_buffer will move to window.el soon).
|
|
|
|
* frame.c (set_menu_bar_lines_1): Remove code handling
|
|
orig_top_line and orig_total_lines.
|
|
|
|
* dispnew.c (adjust_frame_glyphs_initially): Don't use
|
|
set_window_height but set heights directly.
|
|
(change_frame_size_1): Use resize_frame_windows.
|
|
|
|
* xdisp.c (init_xdisp): Don't use set_window_height but set
|
|
heights directly.
|
|
|
|
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines):
|
|
Use resize_frame_windows instead of change_window_heights and run
|
|
run_window_configuration_change_hook.
|
|
|
|
* w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
|
|
instead of change_window_heights and run
|
|
run_window_configuration_change_hook.
|
|
|
|
2011-06-09 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (replace_window): Rename second argument REPLACEMENT to
|
|
NEW. New third argument SETFLAG. Rewrite.
|
|
(delete_window, make_dummy_parent): Call replace_window with
|
|
third argument 1.
|
|
(window_list_1): Move down in code.
|
|
(run_window_configuration_change_hook): Move set_buffer part
|
|
before select_frame_norecord part in order to unwind correctly.
|
|
Rename count1 to count.
|
|
(recombine_windows, delete_deletable_window, resize_root_window)
|
|
(Fdelete_other_windows_internal)
|
|
(Frun_window_configuration_change_hook, make_parent_window)
|
|
(resize_window_check, resize_window_apply, Fresize_window_apply)
|
|
(resize_frame_windows, Fsplit_window_internal)
|
|
(Fdelete_window_internal, Fresize_mini_window_internal):
|
|
New functions.
|
|
(syms_of_window): New variables Vwindow_splits and Vwindow_nest.
|
|
|
|
2011-06-08 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.h (window): Add some new members to window structure -
|
|
normal_lines, normal_cols, new_total, new_normal, clone_number,
|
|
splits, nest, prev_buffers, next_buffers.
|
|
(WINDOW_TOTAL_SIZE): Move here from window.c.
|
|
(MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here.
|
|
|
|
* window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p):
|
|
Remove.
|
|
(make_dummy_parent): Set new members of windows structure.
|
|
(make_window): Move down in code. Handle new members of window
|
|
structure.
|
|
(Fwindow_clone_number, Fwindow_splits, Fset_window_splits)
|
|
(Fwindow_nest, Fset_window_nest, Fwindow_new_total)
|
|
(Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers)
|
|
(Fset_window_prev_buffers, Fwindow_next_buffers)
|
|
(Fset_window_next_buffers, Fset_window_clone_number):
|
|
New functions.
|
|
(Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start)
|
|
(Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p):
|
|
Doc-string fixes.
|
|
(Fwindow_parameters, Fwindow_parameter, Fset_window_parameter):
|
|
Argument WINDOW can be now internal window too.
|
|
(Fwindow_use_time): Move up in code.
|
|
(Fget_buffer_window): Rename argument FRAME to ALL-FRAMES.
|
|
Rewrite doc-string.
|
|
(Fset_window_configuration, saved_window)
|
|
(Fcurrent_window_configuration, save_window_save): Handle new
|
|
members of window structure.
|
|
(WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH)
|
|
(MIN_SAFE_WINDOW_HEIGHT): Move to window.h.
|
|
(syms_of_window): New Lisp objects Qrecord_window_buffer,
|
|
Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows,
|
|
Qget_mru_window, Qresize_root_window,
|
|
Qresize_root_window_vertically, Qsafe, Qabove, Qbelow,
|
|
Qauto_buffer_name; staticpro them.
|
|
|
|
2011-06-07 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* window.c (Fwindow_total_size, Fwindow_left_column)
|
|
(Fwindow_top_line, window_body_lines, Fwindow_body_size)
|
|
(Fwindow_list_1): New functions.
|
|
(window_box_text_cols): Replace with window_body_cols.
|
|
(Fwindow_width, Fscroll_left, Fscroll_right):
|
|
Use window_body_cols instead of window_box_text_cols.
|
|
(delete_window, Fset_window_configuration):
|
|
Call delete_all_subwindows with window as argument.
|
|
(delete_all_subwindows): Take a window as argument and not a
|
|
structure. Rewrite.
|
|
(window_loop): Remove handling of GET_LRU_WINDOW and
|
|
GET_LARGEST_WINDOW.
|
|
(Fget_lru_window, Fget_largest_window): Move to window.el.
|
|
|
|
* window.h: Extern window_body_cols instead of
|
|
window_box_text_cols. delete_all_subwindows now takes a
|
|
Lisp_Object as argument.
|
|
|
|
* indent.c (compute_motion, Fcompute_motion):
|
|
Use window_body_cols instead of window_box_text_cols.
|
|
|
|
* frame.c (delete_frame): Call delete_all_subwindows with root
|
|
window as argument.
|
|
|
|
2011-06-07 Daniel Colascione <dan.colascione@gmail.com>
|
|
|
|
* fns.c (Fputhash): Document return value.
|
|
|
|
2011-06-06 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* image.c (gif_load): Implement gif89a spec "no disposal" method.
|
|
|
|
2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Cons<->int and similar integer overflow fixes (Bug#8794).
|
|
|
|
Check for overflow when converting integer to cons and back.
|
|
* charset.c (Fdefine_charset_internal, Fdecode_char):
|
|
Use cons_to_unsigned to catch overflow.
|
|
(Fencode_char): Use INTEGER_TO_CONS.
|
|
* composite.h (LGLYPH_CODE): Use cons_to_unsigned.
|
|
(LGLYPH_SET_CODE): Use INTEGER_TO_CONS.
|
|
* data.c (long_to_cons, cons_to_long): Remove.
|
|
(cons_to_unsigned, cons_to_signed): New functions.
|
|
These signal an error for invalid or out-of-range values.
|
|
* dired.c (Ffile_attributes): Use INTEGER_TO_CONS.
|
|
* fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER.
|
|
* font.c (Ffont_variation_glyphs):
|
|
* fontset.c (Finternal_char_font): Use INTEGER_TO_CONS.
|
|
* lisp.h: Include <intprops.h>.
|
|
(INTEGER_TO_CONS, CONS_TO_INTEGER): New macros.
|
|
(cons_to_signed, cons_to_unsigned): New decls.
|
|
(long_to_cons, cons_to_long): Remove decls.
|
|
* undo.c (record_first_change): Use INTEGER_TO_CONS.
|
|
(Fprimitive_undo): Use CONS_TO_INTEGER.
|
|
* xfns.c (Fx_window_property): Likewise.
|
|
* xselect.c: Include <limits.h>.
|
|
(x_own_selection, selection_data_to_lisp_data):
|
|
Use INTEGER_TO_CONS.
|
|
(x_handle_selection_request, x_handle_selection_clear)
|
|
(x_get_foreign_selection, Fx_disown_selection_internal)
|
|
(Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER.
|
|
(lisp_data_to_selection_data): Use cons_to_unsigned.
|
|
(x_fill_property_data): Use cons_to_signed.
|
|
Report values out of range.
|
|
|
|
Check for buffer and string overflow more precisely.
|
|
* buffer.h (BUF_BYTES_MAX): New macro.
|
|
* lisp.h (STRING_BYTES_MAX): New macro.
|
|
* alloc.c (Fmake_string):
|
|
* character.c (string_escape_byte8):
|
|
* coding.c (coding_alloc_by_realloc):
|
|
* doprnt.c (doprnt):
|
|
* editfns.c (Fformat):
|
|
* eval.c (verror):
|
|
Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM,
|
|
since they may not be the same number.
|
|
* editfns.c (Finsert_char):
|
|
* fileio.c (Finsert_file_contents):
|
|
Likewise for BUF_BYTES_MAX.
|
|
|
|
* image.c: Use ptrdiff_t, not int, for sizes.
|
|
(slurp_file): Switch from int to ptrdiff_t.
|
|
All uses changed.
|
|
(slurp_file): Check that file size fits in both size_t (for
|
|
malloc) and ptrdiff_t (for sanity and safety).
|
|
|
|
* fileio.c (Fverify_visited_file_modtime): Avoid time overflow
|
|
if b->modtime has its maximal value.
|
|
|
|
* dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits.
|
|
|
|
Don't assume time_t can fit into int.
|
|
* buffer.h (struct buffer.modtime): Now time_t, not int.
|
|
* fileio.c (Fvisited_file_modtime): No need for time_t cast now.
|
|
* undo.c (Fprimitive_undo): Use time_t, not int, for time_t value.
|
|
|
|
Minor fixes for signed vs unsigned integers.
|
|
* character.h (MAYBE_UNIFY_CHAR):
|
|
* charset.c (maybe_unify_char):
|
|
* keyboard.c (read_char, reorder_modifiers):
|
|
XINT -> XFASTINT, since the integer must be nonnegative.
|
|
* ftfont.c (ftfont_spec_pattern):
|
|
* keymap.c (access_keymap, silly_event_symbol_error):
|
|
XUINT -> XFASTINT, since the integer must be nonnegative.
|
|
(Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
|
|
since it makes no difference and we prefer signed.
|
|
* keyboard.c (record_char): Use XUINT when all the neighbors do.
|
|
(access_keymap): NATNUMP -> INTEGERP, since the integer must be
|
|
nonnegative.
|
|
|
|
2011-06-06 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.h (Fwindow_frame): Declare.
|
|
|
|
2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c: Simplify handling of large-request failures (Bug#8800).
|
|
(SPARE_MEMORY): Always define.
|
|
(LARGE_REQUEST): Remove.
|
|
(memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST.
|
|
|
|
2011-06-06 Martin Rudalics <rudalics@gmx.at>
|
|
|
|
* lisp.h: Move EXFUNS for Fframe_root_window,
|
|
Fframe_first_window and Fset_frame_selected_window to window.h.
|
|
|
|
* window.h: Move EXFUNS for Fframe_root_window,
|
|
Fframe_first_window and Fset_frame_selected_window here from
|
|
lisp.h.
|
|
|
|
* frame.c (Fwindow_frame, Fframe_first_window)
|
|
(Fframe_root_window, Fframe_selected_window)
|
|
(Fset_frame_selected_window): Move to window.c.
|
|
(Factive_minibuffer_window): Move to minibuf.c.
|
|
(Fother_visible_frames_p): New function.
|
|
|
|
* minibuf.c (Factive_minibuffer_window): Move here from frame.c.
|
|
|
|
* window.c (decode_window, decode_any_window): Move up in code.
|
|
(Fwindowp, Fwindow_live_p): Rewrite doc-strings.
|
|
(inhibit_frame_unsplittable): Remove unused variable.
|
|
(Fwindow_buffer): Move up and rewrite doc-string.
|
|
(Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next)
|
|
(Fwindow_prev): New functions.
|
|
(Fwindow_frame): Move here from frame.c. Accept any window as
|
|
argument.
|
|
(Fframe_root_window, Fframe_first_window)
|
|
(Fframe_selected_window): Move here from frame.c. Accept frame
|
|
or arbitrary window as argument. Update doc-strings.
|
|
(Fminibuffer_window): Move up in code.
|
|
(Fwindow_minibuffer_p): Move up in code and simplify.
|
|
(Fset_frame_selected_window): Move here from frame.c.
|
|
Marginal rewrite.
|
|
(Fselected_window, select_window, Fselect_window): Move up in
|
|
code. Minor doc-string fixes.
|
|
|
|
2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800).
|
|
Do not assume that spare memory exists; that assumption is valid
|
|
only if SYSTEM_MALLOC.
|
|
(LARGE_REQUEST): New macro, so that the issue of large requests
|
|
is separated from the issue of spare memory.
|
|
|
|
2011-06-05 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* editfns.c (Fformat): Correctly handle zero flag with hexadecimal
|
|
format. (Bug#8806)
|
|
|
|
* gtkutil.c (xg_get_default_scrollbar_width): Avoid warning.
|
|
|
|
* xfns.c (x_set_scroll_bar_default_width): Move declarations
|
|
before statements.
|
|
|
|
2011-06-05 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (xg_get_default_scrollbar_width): New function.
|
|
|
|
* gtkutil.h: Declare xg_get_default_scrollbar_width.
|
|
|
|
* xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
|
|
min width by calling x_set_scroll_bar_default_width (Bug#8505).
|
|
|
|
2011-06-05 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* xdisp.c (single_display_spec_intangible_p): Remove declaration.
|
|
|
|
2011-06-04 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xselect.c (x_clipboard_manager_save): Remove redundant arg.
|
|
(x_clipboard_manager_save): Add return value.
|
|
(x_clipboard_manager_error_1, x_clipboard_manager_error_2):
|
|
New error handlers.
|
|
(x_clipboard_manager_save_frame, x_clipboard_manager_save_all):
|
|
Obey Vx_select_enable_clipboard_manager. Catch errors in
|
|
x_clipboard_manager_save (Bug#8779).
|
|
(Vx_select_enable_clipboard_manager): New variable.
|
|
(x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790).
|
|
|
|
2011-06-04 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* emacs.c (main): Warn when starting a GTK emacs in daemon mode.
|
|
|
|
2011-06-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* fringe.c (update_window_fringes): Don't update overlay arrow bitmap
|
|
in the current matrix if keep_current_p is non-zero.
|
|
|
|
2011-06-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_level_of_next_char): Fix last change.
|
|
|
|
2011-06-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Support bidi reordering of text covered by display properties.
|
|
|
|
* bidi.c (bidi_copy_it): Use offsetof instead of emulating it.
|
|
(bidi_fetch_char, bidi_fetch_char_advance): New functions.
|
|
(bidi_cache_search, bidi_cache_iterator_state)
|
|
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
|
|
(bidi_level_of_next_char, bidi_move_to_visually_next):
|
|
Support character positions inside a run of characters covered by a
|
|
display string.
|
|
(bidi_paragraph_init, bidi_resolve_explicit_1)
|
|
(bidi_level_of_next_char): Call bidi_fetch_char and
|
|
bidi_fetch_char_advance instead of FETCH_CHAR and
|
|
FETCH_CHAR_ADVANCE.
|
|
(bidi_init_it): Initialize new members.
|
|
(LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro
|
|
definitions.
|
|
(bidi_explicit_dir_char): Lookup character type in bidi_type_table,
|
|
instead of using explicit *_CHAR codes.
|
|
(bidi_resolve_explicit, bidi_resolve_weak):
|
|
Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of
|
|
bidirectional text is supported only in multibyte buffers.
|
|
(bidi_init_it): Accept additional argument FRAME_WINDOW_P and use
|
|
it to initialize the frame_window_p member of struct bidi_it.
|
|
(bidi_cache_iterator_state, bidi_resolve_explicit_1)
|
|
(bidi_resolve_explicit, bidi_resolve_weak)
|
|
(bidi_level_of_next_char, bidi_move_to_visually_next): Abort if
|
|
bidi_it->nchars is non-positive.
|
|
(bidi_level_of_next_char): Don't try to lookup the cache for the
|
|
next/previous character if nothing is cached there yet, or if we
|
|
were just reseat()'ed to a new position.
|
|
|
|
* xdisp.c (set_cursor_from_row): Set start and stop points
|
|
according to the row's direction when priming the loop that looks
|
|
for the glyph on which to display cursor.
|
|
(single_display_spec_intangible_p): Function deleted.
|
|
(display_prop_intangible_p): Reimplement to call
|
|
handle_display_spec instead of single_display_spec_intangible_p.
|
|
Accept 3 additional arguments needed by handle_display_spec.
|
|
This fixes incorrect cursor motion across display property with complex
|
|
values: lists, `(when COND...)' forms, etc.
|
|
(single_display_spec_string_p): Support property values that are
|
|
lists with the argument STRING its top-level element.
|
|
(display_prop_string_p): Fix the condition for processing a
|
|
property that is a list to be consistent with handle_display_spec.
|
|
(handle_display_spec): New function, refactored from the
|
|
last portion of handle_display_prop.
|
|
(compute_display_string_pos): Accept additional argument
|
|
FRAME_WINDOW_P. Call handle_display_spec to determine whether the
|
|
value of a `display' property is a "replacing spec".
|
|
(handle_single_display_spec): Accept 2 additional arguments BUFPOS
|
|
and FRAME_WINDOW_P. If IT is NULL, don't set up the iterator from
|
|
the display property, but just return a value indicating whether
|
|
the display property will replace the characters it covers.
|
|
(Fcurrent_bidi_paragraph_direction): Initialize the nchars and
|
|
frame_window_p members of struct bidi_it.
|
|
(compute_display_string_pos, compute_display_string_end):
|
|
New functions.
|
|
(push_it): Accept second argument POSITION, where pop_it should
|
|
jump to continue iteration.
|
|
(reseat_1): Initialize bidi_it.disp_pos.
|
|
|
|
* keyboard.c (adjust_point_for_property): Adjust the call to
|
|
display_prop_intangible_p to its new signature.
|
|
|
|
* dispextern.h (struct bidi_it): New member frame_window_p.
|
|
(bidi_init_it): Update prototypes.
|
|
(display_prop_intangible_p): Update prototype.
|
|
(compute_display_string_pos, compute_display_string_end):
|
|
Declare prototypes.
|
|
(struct bidi_it): New members nchars and disp_pos. ch_len is now
|
|
EMACS_INT.
|
|
|
|
2011-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Malloc failure behavior now depends on size of allocation.
|
|
* alloc.c (buffer_memory_full, memory_full): New arg NBYTES.
|
|
* lisp.h: Change signatures accordingly.
|
|
* alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c:
|
|
All callers changed. (Bug#8762)
|
|
|
|
* gnutls.c: Use Emacs's memory allocators.
|
|
Without this change, the gnutls library would invoke malloc etc.
|
|
directly, which causes problems on non-SYNC_INPUT hosts, and which
|
|
runs afoul of improving memory_full behavior. (Bug#8761)
|
|
(fn_gnutls_global_set_mem_functions): New macro or function pointer.
|
|
(emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc,
|
|
xfree instead of the default malloc, realloc, free.
|
|
(Fgnutls_boot): No need to check for memory allocation failure,
|
|
since xmalloc does that for us.
|
|
|
|
Remove arbitrary limit of 2**31 entries in hash tables. (Bug#8771)
|
|
* category.c (hash_get_category_set):
|
|
* ccl.c (ccl_driver):
|
|
* charset.c (Fdefine_charset_internal):
|
|
* charset.h (struct charset.hash_index):
|
|
* composite.c (get_composition_id, gstring_lookup_cache)
|
|
(composition_gstring_put_cache):
|
|
* composite.h (struct composition.hash_index):
|
|
* dispextern.h (struct image.hash):
|
|
* fns.c (next_almost_prime, larger_vector, cmpfn_eql)
|
|
(cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
|
|
(hashfn_equal, hashfn_user_defined, make_hash_table)
|
|
(maybe_resize_hash_table, hash_lookup, hash_put)
|
|
(hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE)
|
|
(sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector)
|
|
(Fsxhash, Fgethash, Fputhash, Fmaphash):
|
|
* image.c (make_image, search_image_cache, lookup_image)
|
|
(xpm_put_color_table_h):
|
|
* lisp.h (struct Lisp_Hash_Table):
|
|
* minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
|
|
* print.c (print): Use 'EMACS_UINT' and 'EMACS_INT'
|
|
for hashes and hash indexes, instead of 'unsigned' and 'int'.
|
|
* alloc.c (allocate_vectorlike):
|
|
Check for overflow in vector size calculations.
|
|
* ccl.c (ccl_driver):
|
|
Check for overflow when converting EMACS_INT to int.
|
|
* fns.c, image.c: Remove unnecessary static decls that would otherwise
|
|
need to be updated by these changes.
|
|
* fns.c (make_hash_table, maybe_resize_hash_table):
|
|
Check for integer overflow with large hash tables.
|
|
(make_hash_table, maybe_resize_hash_table, Fmake_hash_table):
|
|
Prefer the faster XFLOAT_DATA to XFLOATINT where either will do.
|
|
(SXHASH_REDUCE): New macro.
|
|
(sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector):
|
|
Use it instead of discarding useful hash info with large hash values.
|
|
(sxhash_float): New function.
|
|
(sxhash): Use it. No more need for "& INTMASK" due to above changes.
|
|
* lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc.
|
|
(MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
|
|
Rewrite to use FIXNUM_BITS, as this simplifies things.
|
|
(next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put):
|
|
Adjust signatures to match updated version of code.
|
|
(consing_since_gc): Now EMACS_INT, since a single hash table can
|
|
use more than INT_MAX bytes.
|
|
|
|
2011-06-01 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
Make it possible to build with GCC-4.6+ -O2 -flto.
|
|
|
|
* emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE.
|
|
|
|
2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (get_minibuffer, read_minibuf_unwind):
|
|
Call minibuffer-inactive-mode.
|
|
|
|
2011-05-31 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)):
|
|
Update dependencies.
|
|
|
|
2011-05-31 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* data.c (init_data): Remove code for UTS, this system is not
|
|
supported anymore.
|
|
|
|
2011-05-31 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
Don't force ./temacs to start in terminal mode.
|
|
|
|
* frame.c (make_initial_frame): Initialize faces in all cases, not
|
|
only when CANNOT_DUMP is defined.
|
|
* dispnew.c (init_display): Remove CANNOT_DUMP condition.
|
|
|
|
2011-05-31 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* dispnew.c (add_window_display_history): Use const for the string
|
|
pointer. Remove declaration, not needed.
|
|
|
|
2011-05-31 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use 'inline', not 'INLINE'.
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00914.html>
|
|
* alloc.c, fontset.c (INLINE): Remove.
|
|
* alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c:
|
|
* intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c:
|
|
* xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline.
|
|
* gmalloc.c (register_heapinfo): Use inline unconditionally.
|
|
* lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__.
|
|
|
|
2011-05-31 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
Make it possible to run ./temacs.
|
|
|
|
* callproc.c (set_initial_environment): Remove CANNOT_DUMP code,
|
|
syms_of_callproc does the same thing. Remove test for
|
|
"initialized", do it in the caller.
|
|
* emacs.c (main): Avoid calling set_initial_environment when dumping.
|
|
|
|
2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Finternal_complete_buffer): Return `category' metadata.
|
|
(read_minibuf): Use get_minibuffer.
|
|
(syms_of_minibuf): Use DEFSYM.
|
|
(Qmetadata): New var.
|
|
* data.c (Qbuffer): Don't make it static.
|
|
(syms_of_data): Use DEFSYM.
|
|
|
|
2011-05-31 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* ccl.c (CCL_CODE_RANGE): Allow negative numbers. (Bug#8751)
|
|
(CCL_CODE_MIN): New macro.
|
|
|
|
2011-05-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests.
|
|
|
|
* eval.c (Qdebug): Now static.
|
|
* lisp.h (Qdebug): Remove decl. This reverts a part of the
|
|
2011-04-26T11:26:05Z!dan.colascione@gmail.com that inadvertently undid part of
|
|
2011-04-14T06:48:41Z!eggert@cs.ucla.edu.
|
|
|
|
2011-05-29 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* image.c: Various fixes to ImageMagick code comments.
|
|
(Fimagemagick_types): Doc fix.
|
|
|
|
2011-05-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Minor fixes prompted by GCC 4.6.0 warnings.
|
|
|
|
* xselect.c (converted_selections, conversion_fail_tag): Now static.
|
|
|
|
* emacs.c [HAVE_X_WINDOWS]: Include "xterm.h".
|
|
(x_clipboard_manager_save_all): Move extern decl to ...
|
|
* xterm.h: ... here, so that it can be checked for consistency.
|
|
|
|
2011-05-29 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xselect.c (x_clipboard_manager_save_frame)
|
|
(x_clipboard_manager_save_all): New functions.
|
|
(Fx_clipboard_manager_save): Lisp function deleted.
|
|
|
|
* emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all.
|
|
* frame.c (delete_frame): Call x_clipboard_manager_save_frame.
|
|
|
|
* xterm.h: Update prototype.
|
|
|
|
2011-05-28 William Xu <william.xwl@gmail.com>
|
|
|
|
* nsterm.m (ns_term_shutdown): Synchronize user defaults before
|
|
exiting (Bug#8239).
|
|
|
|
2011-05-28 Jim Meyering <meyering@redhat.com>
|
|
|
|
Avoid a sign-extension bug in crypto_hash_function.
|
|
* fns.c (to_uchar): Define.
|
|
(crypto_hash_function): Use it to convert some newly-signed
|
|
variables to unsigned, to avoid sign-extension bugs. For example,
|
|
without this change, (md5 "truc") would evaluate to
|
|
45723a2aff78ff4fff7fff1114760e62 rather than the expected
|
|
45723a2af3788c4ff17f8d1114760e62. Reported by Antoine Levitt in
|
|
https://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00883.html.
|
|
|
|
2011-05-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Integer overflow fixes.
|
|
|
|
* dbusbind.c: Serial number integer overflow fixes.
|
|
(CHECK_DBUS_SERIAL_GET_SERIAL): New macro.
|
|
(Fdbus_call_method_asynchronously, xd_read_message_1): Use a float
|
|
to hold a serial number that is too large for a fixnum.
|
|
(Fdbus_method_return_internal, Fdbus_method_error_internal):
|
|
Check for serial numbers out of range. Decode any serial number
|
|
that was so large that it became a float. (Bug#8722)
|
|
|
|
* dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg.
|
|
(Fdbus_call_method, Fdbus_call_method_asynchronously):
|
|
Use XFASTINT rather than XUINT when numbers are nonnegative.
|
|
(xd_append_arg, Fdbus_method_return_internal):
|
|
(Fdbus_method_error_internal): Likewise. Also, for unsigned
|
|
arguments, check that Lisp number is nonnegative, rather than
|
|
silently wrapping negative numbers around. (Bug#8722)
|
|
(xd_read_message_1): Don't assume dbus_uint32_t can fit in int.
|
|
(Bug#8722)
|
|
|
|
* data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.
|
|
|
|
* ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'.
|
|
|
|
ccl: Add integer overflow checks.
|
|
* ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT):
|
|
(IN_INT_RANGE): New macros.
|
|
(ccl_driver): Use them to check for integer overflow when
|
|
decoding a CCL program. Many of the new checks are whether XINT (x)
|
|
fits in int; it doesn't always, on 64-bit hosts. The new version
|
|
doesn't catch all possible integer overflows, but it's an
|
|
improvement. (Bug#8719)
|
|
|
|
* alloc.c (make_event_array): Use XINT, not XUINT.
|
|
There's no need for unsigned here.
|
|
|
|
* mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_t
|
|
This follows up to the 2011-05-06 change that substituted uintptr_t
|
|
for EMACS_INT. This case wasn't caught back then.
|
|
|
|
Rework Fformat to avoid integer overflow issues.
|
|
* editfns.c: Include <float.h> unconditionally, as it's everywhere
|
|
now (part of C89). Include <verify.h>.
|
|
(MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed.
|
|
(pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns.
|
|
(Fformat): Avoid the prepass trying to compute sizes; it was only
|
|
approximate and thus did not catch overflow reliably. Instead, walk
|
|
through the format just once, formatting and computing sizes as we go,
|
|
checking for integer overflow at every step, and allocating a larger
|
|
buffer as needed. Keep track separately whether the format is
|
|
multibyte. Keep only the most-recently calculated precision, rather
|
|
than them all. Record whether each argument has been converted to
|
|
string. Use EMACS_INT, not int, for byte and char and arg counts.
|
|
Support field widths and precisions larger than INT_MAX. Avoid
|
|
sprintf's undefined behavior with conversion specifications such as %#d
|
|
and %.0c. Fix bug with strchr succeeding on '\0' when looking for
|
|
flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when
|
|
formatting out-of-range floating point numbers with int
|
|
formats. (Bug#8668)
|
|
|
|
* lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN.
|
|
|
|
* data.c: Avoid integer truncation in expressions involving floats.
|
|
* data.c: Include <intprops.h>.
|
|
(arith_driver): When there's an integer overflow in an expression
|
|
involving floating point, convert the integers to floating point
|
|
so that the resulting value does not suffer from catastrophic
|
|
integer truncation. For example, on a 64-bit host (* 4
|
|
most-negative-fixnum 0.5) should yield about -4.6e+18, not zero.
|
|
Do not rely on undefined behavior after integer overflow.
|
|
|
|
merge count_size_as_multibyte, parse_str_to_multibyte
|
|
* character.c, character.h (count_size_as_multibyte):
|
|
Rename from parse_str_to_multibyte; all uses changed.
|
|
Check for integer overflow.
|
|
* insdel.c, lisp.h (count_size_as_multibyte): Remove,
|
|
since it's now a duplicate of the other. This is more of
|
|
a character than a buffer op, so better that it's in character.c.
|
|
* fns.c, print.c: Adjust to above changes.
|
|
|
|
2011-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup.
|
|
|
|
2011-05-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings.
|
|
(x_handle_selection_request, frame_for_x_selection): Remove unused vars.
|
|
(x_clipboard_manager_save): Now static.
|
|
(Fx_clipboard_manager_save): Rename local to avoid shadowing.
|
|
|
|
* fns.c: Fix minor problems prompted by GCC 4.6.0 warnings.
|
|
(crypto_hash_function): Now static.
|
|
Fix pointer signedness problems. Avoid unnecessary initializations.
|
|
|
|
2011-05-27 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* termhooks.h (Vselection_alist): Make it terminal-local.
|
|
|
|
* terminal.c (create_terminal): Initialize it.
|
|
|
|
* xselect.c: Support for clipboard managers.
|
|
(Vselection_alist): Move to termhooks.h as terminal-local var.
|
|
(LOCAL_SELECTION): New macro.
|
|
(x_atom_to_symbol): Handle x_display_info_for_display fail case.
|
|
(symbol_to_x_atom): Remove gratuitous arg.
|
|
(x_handle_selection_request, lisp_data_to_selection_data)
|
|
(x_get_foreign_selection, Fx_register_dnd_atom): Callers changed.
|
|
(x_own_selection, x_get_local_selection, x_convert_selection):
|
|
New arg, specifying work frame. Use terminal-local Vselection_alist.
|
|
(some_frame_on_display): Delete unused function.
|
|
(Fx_own_selection_internal, Fx_get_selection_internal)
|
|
(Fx_disown_selection_internal, Fx_selection_owner_p)
|
|
(Fx_selection_exists_p): New optional frame arg.
|
|
(frame_for_x_selection, Fx_clipboard_manager_save): New functions.
|
|
(x_handle_selection_clear): Don't treat other terminals with the
|
|
same keyboard specially. Use the terminal-local Vselection_alist.
|
|
(x_clear_frame_selections): Use Frun_hook_with_args.
|
|
|
|
* xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms.
|
|
|
|
* xterm.h: Add support for those atoms.
|
|
|
|
2011-05-26 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xselect.c: ICCCM-compliant handling of MULTIPLE targets.
|
|
(converted_selections, conversion_fail_tag): New global variables.
|
|
(x_selection_request_lisp_error): Free the above.
|
|
(x_get_local_selection): Remove unnecessary code.
|
|
(x_reply_selection_request): Args changed; handle arbitrary array
|
|
of converted selections stored in converted_selections.
|
|
Separate the XChangeProperty and SelectionNotify steps.
|
|
(x_handle_selection_request): Rewrite to handle MULTIPLE target.
|
|
(x_convert_selection): New function.
|
|
(x_handle_selection_event): Simplify.
|
|
(x_get_foreign_selection): Don't ignore incoming requests while
|
|
waiting for an answer; this will fail when we implement
|
|
SAVE_TARGETS, and seems unnecessary anyway.
|
|
(selection_data_to_lisp_data): Recognize ATOM_PAIR type.
|
|
(Vx_sent_selection_functions): Doc fix.
|
|
|
|
2011-05-26 Leo Liu <sdl.web@gmail.com>
|
|
|
|
* editfns.c (Ftranspose_regions): Allow empty regions. (Bug#8699)
|
|
|
|
2011-05-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p.
|
|
|
|
* dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
|
|
for fringe update if it has periodic bitmap.
|
|
(row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
|
|
and fringe_bitmap_periodic_p.
|
|
|
|
* fringe.c (get_fringe_bitmap_data): New function.
|
|
(draw_fringe_bitmap_1, update_window_fringes): Use it.
|
|
(update_window_fringes): Record periodicity of fringe bitmap in glyph
|
|
row. Mark glyph row for fringe update if periodicity changed.
|
|
|
|
* xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row
|
|
for fringe update unless it has periodic bitmap.
|
|
|
|
2011-05-25 Kenichi Handa <handa@m17n.org>
|
|
|
|
* xdisp.c (get_next_display_element): Set correct it->face_id for
|
|
a static composition.
|
|
|
|
2011-05-24 Leo Liu <sdl.web@gmail.com>
|
|
|
|
* deps.mk (fns.o):
|
|
* makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h.
|
|
|
|
* fns.c (crypto_hash_function, Fsha1): New function.
|
|
(Fmd5): Use crypto_hash_function.
|
|
(syms_of_fns): Add Ssha1.
|
|
|
|
2011-05-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* gnutls.c: Remove unused macros.
|
|
(fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function):
|
|
(fn_gnutls_transport_set_push_function) [!WINDOWSNT]:
|
|
Remove macros that are defined and never used.
|
|
Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14).
|
|
|
|
2011-05-22 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS.
|
|
(Fx_get_selection_internal): Minor cleanup.
|
|
(Fx_own_selection_internal): Rename arguments for consistency with
|
|
select.el.
|
|
|
|
2011-05-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xselect.c (QSAVE_TARGETS): New static var, to fix build failure.
|
|
|
|
2011-05-22 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xselect.c (syms_of_xselect): Include character.h; use DEFSYM.
|
|
|
|
2011-05-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* dispnew.c (scrolling_window): Don't exclude the case that the
|
|
last enabled row in the desired matrix touches the bottom boundary.
|
|
|
|
2011-05-21 Glenn Morris <rgm@gnu.org>
|
|
|
|
* Makefile.in ($(etc)/DOC): Make second command line even shorter.
|
|
(SOME_MACHINE_OBJECTS): Replace FONT_OBJ by its maximal expansion,
|
|
and add some more files.
|
|
|
|
2011-05-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* callproc.c (Fcall_process) [MSDOS]: Fix arguments to
|
|
report_file_error introduced by the change from 2011-05-07.
|
|
|
|
2011-05-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* systime.h (Time): Define only if emacs is defined.
|
|
This is to allow ../lib-src/profile.c to be compiled on FreeBSD,
|
|
where the include path doesn't have X11/X.h by default. See
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00561.html>.
|
|
|
|
2011-05-20 Kenichi Handa <handa@m17n.org>
|
|
|
|
* composite.c (find_automatic_composition): Fix previous change.
|
|
|
|
2011-05-20 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lisp.mk: New file, split from Makefile.in.
|
|
* Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@.
|
|
(shortlisp): Remove.
|
|
($(etc)/DOC): Edit lisp.mk rather than using $shortlisp.
|
|
|
|
2011-05-19 Glenn Morris <rgm@gnu.org>
|
|
|
|
* Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
|
|
(REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
|
|
(BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
|
|
(lisp): Set the order to that of loadup.el.
|
|
(shortlisp): Make it a copy of $lisp.
|
|
(SOME_MACHINE_LISP): Remove.
|
|
($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
|
|
Use just $shortlisp, not $SOME_MACHINE_LISP too.
|
|
|
|
2011-05-18 Kenichi Handa <handa@m17n.org>
|
|
|
|
* composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency.
|
|
(BACKWARD_CHAR): Wrap the arg STOP by parenthesis.
|
|
(find_automatic_composition): Mostly rewrite for efficiency.
|
|
|
|
2011-05-18 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
|
|
2011-05-18 Christoph Scholtes <cschol2112@googlemail.com>
|
|
|
|
* menu.c: Include limits.h (fixes the MS-Windows build broken by
|
|
2011-06-18T18:49:19Z!cyd@stupidchicken.com).
|
|
|
|
2011-05-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix some integer overflow issues, such as string length overflow.
|
|
|
|
* insdel.c (count_size_as_multibyte): Check for string overflow.
|
|
|
|
* character.c (lisp_string_width): Check for string overflow.
|
|
Use EMACS_INT, not int, for string indexes and lengths; in
|
|
particular, 2nd arg is now EMACS_INT, not int. Do not crash if
|
|
the resulting string length overflows an EMACS_INT; instead,
|
|
report a string overflow if no precision given. When checking for
|
|
precision exhaustion, use a check that cannot possibly have
|
|
integer overflow. (Bug#8675)
|
|
* character.h (lisp_string_width): Adjust to new signature.
|
|
|
|
* alloc.c (string_overflow): New function.
|
|
(Fmake_string): Use it. This doesn't change behavior, but saves
|
|
a few bytes and will simplify future changes.
|
|
* character.c (string_escape_byte8): Likewise.
|
|
* lisp.h (string_overflow): New decl.
|
|
|
|
Fixups, following up to the user-interface timestamp change.
|
|
* nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time
|
|
for UI timestamps, instead of unsigned long.
|
|
* msdos.c (mouse_get_pos): Likewise.
|
|
* w32inevt.c (movement_time, w32_console_mouse_position): Likewise.
|
|
* w32gui.h (Time): Define by including "systime.h" rather than by
|
|
declaring it ourselves. (Bug#8664)
|
|
|
|
* dispextern.h (struct image): Don't assume time_t <= unsigned long.
|
|
* image.c (clear_image_cache): Likewise.
|
|
|
|
* term.c (term_mouse_position): Don't assume time_t wraparound.
|
|
|
|
Be more systematic about user-interface timestamps.
|
|
Before, the code sometimes used 'Time', sometimes 'unsigned long',
|
|
and sometimes 'EMACS_UINT', to represent these timestamps.
|
|
This change causes it to use 'Time' uniformly, as that's what X uses.
|
|
This makes the code easier to follow, and makes it easier to catch
|
|
integer overflow bugs such as Bug#8664.
|
|
* frame.c (Fmouse_position, Fmouse_pixel_position):
|
|
Use Time, not unsigned long, for user-interface timestamps.
|
|
* keyboard.c (last_event_timestamp, kbd_buffer_get_event): Likewise.
|
|
(button_down_time, make_lispy_position, make_lispy_movement): Likewise.
|
|
* keyboard.h (last_event_timestamp): Likewise.
|
|
* menu.c (Fx_popup_menu) [!HAVE_X_WINDOWS]: Likewise.
|
|
* menu.h (xmenu_show): Likewise.
|
|
* term.c (term_mouse_position): Likewise.
|
|
* termhooks.h (struct input_event.timestamp): Likewise.
|
|
(struct terminal.mouse_position_hook): Likewise.
|
|
* xmenu.c (create_and_show_popup_menu, xmenu_show): Likewise.
|
|
* xterm.c (XTmouse_position, x_scroll_bar_report_motion): Likewise.
|
|
* systime.h (Time): New decl. Pull it in from <X11/X.h> if
|
|
HAVE_X_WINDOWS, otherwise define it as unsigned long, which is
|
|
what it was before.
|
|
* menu.h, termhooks.h: Include "systime.h", for Time.
|
|
|
|
* keyboard.c (make_lispy_event): Fix problem in integer overflow.
|
|
Don't assume that the difference between two unsigned long values
|
|
can fit into an integer. At this point, we know button_down_time
|
|
<= event->timestamp, so the difference must be nonnegative, so
|
|
there's no need to cast the result if double-click-time is
|
|
nonnegative, as it should be; check that it's nonnegative, just in
|
|
case. This bug is triggered when events are more than 2**31 ms
|
|
apart (about 25 days). (Bug#8664)
|
|
|
|
* xselect.c (last_event_timestamp): Remove duplicate decl.
|
|
(x_own_selection): Remove needless cast to unsigned long.
|
|
|
|
* xmenu.c (set_frame_menubar): Use int, not EMACS_UINT, for indexes
|
|
that always fit in int. Use a sentinel instead of a counter, to
|
|
avoid a temp and to allay GCC's concerns about possible int overflow.
|
|
* frame.h (struct frame): Use int for menu_bar_items_used
|
|
instead of EMACS_INT, since it always fits in int.
|
|
|
|
* menu.c (grow_menu_items): Check for int overflow.
|
|
|
|
* xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils.
|
|
|
|
* xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers.
|
|
Before, the code was not consistent. These values cannot exceed
|
|
2**31 - 1 so there's no need to make them unsigned.
|
|
(x_x_to_emacs_modifiers): Accept int and return EMACS_INT.
|
|
(x_emacs_to_x_modifiers): Accept EMACS_INT and return int.
|
|
(x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers
|
|
as modifiers.
|
|
* xterm.h (x_x_to_emacs_modifiers): Adjust to signature change.
|
|
|
|
* lisp.h (XINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_INT.
|
|
(XUINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_UINT.
|
|
Otherwise, GCC 4.6.0 warns about printf (pI, XINT (...)),
|
|
presumably because the widths might not match.
|
|
|
|
* window.c (size_window): Avoid needless test at loop start.
|
|
|
|
2011-05-18 Courtney Bane <emacs-bugs-7626@cbane.org> (tiny change)
|
|
|
|
* term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687).
|
|
|
|
2011-05-12 Drew Adams <drew.adams@oracle.com>
|
|
|
|
* textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
|
|
|
|
2011-05-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
|
|
`width' to `bar_area_x' and `bar_area_width', respectively.
|
|
(x_scroll_run): Take account of fringe background extension.
|
|
|
|
* xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
|
|
Rename local vars `left' and `width' to `bar_area_x' and
|
|
`bar_area_width', respectively.
|
|
(x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
|
|
background extension.
|
|
|
|
2011-05-10 Jim Meyering <meyering@redhat.com>
|
|
|
|
* xdisp.c (x_intersect_rectangles): Fix typo "the the -> the".
|
|
|
|
2011-05-10 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* image.c (Finit_image_library): Return t for built-in image types,
|
|
like pbm and xbm. (Bug#8640)
|
|
|
|
2011-05-09 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* w32menu.c (set_frame_menubar): Fix submenu allocation.
|
|
|
|
2011-05-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32console.c (Fset_screen_color): Doc fix.
|
|
(Fget_screen_color): New function.
|
|
(syms_of_ntterm): Defsubr it.
|
|
|
|
* callproc.c (call_process_cleanup) [MSDOS]: Don't close and
|
|
unlink the temporary file if Fcall_process didn't create it in the
|
|
first place.
|
|
(Fcall_process) [MSDOS]: Don't create tempfile if stdout of the
|
|
child process will be redirected to a file specified with `:file'.
|
|
Don't try to re-open tempfile in that case, and set fd[0] to -1 as
|
|
cue to call_process_cleanup not to close that handle.
|
|
|
|
2011-05-07 Ben Key <bkey76@gmail.com>
|
|
|
|
* makefile.w32-in: The bootstrap-temacs rule now makes use of
|
|
one of two shell specific rules, either bootstrap-temacs-CMD or
|
|
bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical
|
|
to the previous implementation of the bootstrap-temacs rule.
|
|
The bootstrap-temacs-CMD rule is similar to the previous
|
|
implementation of the bootstrap-temacs rule except that it
|
|
makes use of the ESC_CFLAGS variable instead of the CFLAGS
|
|
variable.
|
|
|
|
These changes, along with some changes to nt/configure.bat,
|
|
nt/gmake.defs, and nt/nmake.defs, are required to extend my
|
|
earlier fix to add support for --cflags and --ldflags options
|
|
that include quotes so that it works whether make uses cmd or
|
|
sh as the shell.
|
|
|
|
2011-05-06 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* dbusbind.c (QCdbus_type_unix_fd): Declare static.
|
|
(xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it
|
|
is a constant.
|
|
(Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or
|
|
a string. Handle both cases.
|
|
(Fdbus_call_method_asynchronously, Fdbus_register_signal)
|
|
(Fdbus_register_method): Use Qinvalid_function.
|
|
|
|
2011-05-06 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
(LISP_H): Add inttypes.h and stdin.h.
|
|
(PROCESS_H): Add unistd.h.
|
|
|
|
2011-05-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* lread.c: Include limits.h (fixes the MS-Windows build broken by
|
|
2011-05-06T07:13:19Z!eggert@cs.ucla.edu).
|
|
|
|
2011-05-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local.
|
|
|
|
* term.c (vfatal): Remove stray call to va_end.
|
|
It's not needed and the C Standard doesn't allow it here anyway.
|
|
|
|
Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux.
|
|
* eval.c (verror): doprnt a copy of ap, not the original. (Bug#8545)
|
|
|
|
* eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM
|
|
bytes.
|
|
|
|
* term.c: Don't include <stdarg.h>, as <lisp.h> does that.
|
|
|
|
* callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
|
|
|
|
* process.c (Fformat_network_address): Fix typo: args2 -> *args2.
|
|
|
|
* xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times).
|
|
|
|
* coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601).
|
|
|
|
* charset.h (struct charset.code_space): Now has 15 elements, not 16.
|
|
* charset.c (Fdefine_charset_internal): Don't initialize
|
|
charset.code_space[15]. The value was garbage, on hosts with
|
|
32-bit int (Bug#8600).
|
|
|
|
* lread.c (read_integer): Be more consistent with string-to-number.
|
|
Use string_to_number to do the actual conversion; this avoids
|
|
rounding errors and fixes some other screwups. Without this fix,
|
|
for example, #x1fffffffffffffff was misread as -2305843009213693952.
|
|
(digit_to_number): Move earlier, for benefit of read_integer.
|
|
Return -1 if the digit is out of range for the base, -2 if it is
|
|
not a digit in any supported base. (Bug#8602)
|
|
|
|
* doprnt.c (doprnt): Support arbitrary pI values, such as "I64".
|
|
|
|
* dispnew.c (scrolling_window): Return 1 if we scrolled,
|
|
to match comment at start of function. This also removes a
|
|
GCC warning about overflow in a 32+64-bit port.
|
|
|
|
* lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify.
|
|
|
|
* dbusbind.c: Do not use XPNTR on a value that may be an integer.
|
|
Reported by Stefan Monnier in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00919.html>.
|
|
(xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
|
|
Use SYMBOLP-guarded XSYMBOL, not XPNTR.
|
|
|
|
* lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t.
|
|
(EMACS_UINTPTR): Likewise, with uintptr_t.
|
|
|
|
* lisp.h: Prefer 64-bit EMACS_INT if available.
|
|
(EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit
|
|
on 32-bit hosts that have 64-bit int, so that they can access
|
|
large files.
|
|
However, temporarily disable this change unless the temporary
|
|
symbol WIDE_EMACS_INT is defined.
|
|
|
|
* lread.c, process.c: Do not include <inttypes.h>; lisp.h does it now.
|
|
|
|
Prefer intptr_t/uintptr_t for integers the same widths as pointers.
|
|
This removes an assumption that EMACS_INT and long are the same
|
|
width as pointers. The assumption is true for Emacs porting targets
|
|
now, but we want to make other targets possible.
|
|
* lisp.h: Include <inttypes.h>, for INTPTR_MAX, UINTPTR_MAX.
|
|
(EMACS_INTPTR, EMACS_UINTPTR): New macros.
|
|
In the rest of the code, change types of integers that hold casted
|
|
pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically
|
|
replacing EMACS_INT, long, EMACS_UINT, and unsigned long.
|
|
(XTYPE): Don't cast arg to EMACS_UINT; normally is not needed.
|
|
(XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here.
|
|
No need to cast type when ORing.
|
|
(XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR.
|
|
* alloc.c (lisp_align_malloc): Remove a no-longer-needed cast.
|
|
* doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to
|
|
assume EMACS_INT is the same width as char *.
|
|
* gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb):
|
|
(xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item):
|
|
Remove no-longer-needed casts.
|
|
(xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback):
|
|
(xg_tool_bar_help_callback, xg_make_tool_item):
|
|
Use EMACS_INTPTR to hold an integer
|
|
that will be cast to void *; this can avoid a GCC warning
|
|
if EMACS_INT is not the same width as void *.
|
|
* menu.c (find_and_call_menu_selection): Remove no-longer-needed cast.
|
|
* xdisp.c (display_echo_area_1, resize_mini_window_1):
|
|
(current_message_1, set_message_1):
|
|
Use a local to convert to proper width without a cast.
|
|
* xmenu.c (dialog_selection_callback): Likewise.
|
|
|
|
* sysdep.c (get_random): Don't assume EMACS_INT is no wider than long.
|
|
Also, don't assume VALBITS / RAND_BITS is less than 5,
|
|
and don't rely on undefined behavior when shifting a 1 left into
|
|
the sign bit.
|
|
* lisp.h (get_random): Change signature to match.
|
|
|
|
* lread.c (hash_string): Use size_t, not int, for hash computation.
|
|
Normally we prefer signed values; but hashing is special, because
|
|
it's better to use unsigned division on hash table sizes so that
|
|
the remainder is nonnegative. Also, size_t is the natural width
|
|
for hashing into memory. The previous code used 'int', which doesn't
|
|
retain enough info to hash well into very large tables.
|
|
(oblookup, oblookup_last_bucket_number, Funintern): Likewise.
|
|
|
|
* dbusbind.c: Don't possibly lose pointer info when converting.
|
|
(xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
|
|
Use XPNTR rather than XHASH, so that the high-order bits of
|
|
the pointer aren't lost when converting through void *.
|
|
|
|
* eval.c (Fautoload): Don't double-shift a pointer.
|
|
|
|
* fns.c (Frandom): Let EMACS_UINT be wider than unsigned long.
|
|
|
|
2011-05-06 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.c (DEF_GNUTLS_FN):
|
|
* image.c (DEF_IMGLIB_FN): Make function pointers static.
|
|
|
|
2011-05-05 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* lread.c (lisp_file_lexically_bound_p): Stop scanning at end
|
|
marker. (Bug#8610)
|
|
|
|
2011-05-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
|
|
New version that can reserve upto 2GB of heap space.
|
|
|
|
2011-05-05 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
|
|
|
|
2011-05-05 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to
|
|
`gnutls_certificate_set_x509_key_file'.
|
|
|
|
2011-05-05 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)):
|
|
Update dependencies.
|
|
|
|
2011-05-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.h (emacs_gnutls_write, emacs_gnutls_read):
|
|
* gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
|
|
Remove unused parameter `fildes'.
|
|
* process.c (read_process_output, send_process): Don't pass it.
|
|
|
|
2011-05-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
Fix previous change: the library cache is defined in w32.c.
|
|
* image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop.
|
|
(Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI".
|
|
|
|
2011-05-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
Implement dynamic loading of GnuTLS on Windows.
|
|
|
|
* gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro.
|
|
(emacs_gnutls_write, emacs_gnutls_read): Mark as extern.
|
|
(emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
|
|
Declare.
|
|
|
|
* gnutls.c (Qgnutls_dll): Define.
|
|
(DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros.
|
|
(gnutls_*): Declare function pointers.
|
|
(init_gnutls_functions): New function to initialize function pointers.
|
|
(emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit)
|
|
(emacs_gnutls_global_init, Fgnutls_bye): Use function pointers.
|
|
(emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
|
|
Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno.
|
|
(emacs_gnutls_write, emacs_gnutls_read)
|
|
(emacs_gnutls_handle_error, Fgnutls_error_fatalp)
|
|
(Fgnutls_available_p): New function.
|
|
(Fgnutls_boot): Call Fgnutls_available_p. Use function pointers.
|
|
(syms_of_gnutls) <Qgnutls_dll>: Initialize and staticpro it.
|
|
(syms_of_gnutls) <Sgnutls_available_p>: defsubr it.
|
|
|
|
* image.c: Include w32.h.
|
|
(Vimage_type_cache): Delete.
|
|
(syms_of_image) <Vimage_type_cache>: Don't initialize and staticpro it.
|
|
(CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead.
|
|
(w32_delayed_load): Move to w32.c.
|
|
|
|
* w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
|
|
|
|
* w32.c (QCloaded_from, Vlibrary_cache): Define.
|
|
(w32_delayed_load): Move from image.c. When loading a library, record
|
|
its filename in the :loaded-from property of the library id.
|
|
(globals_of_w32) <QCloaded_from, Vlibrary_cache>:
|
|
Initialize and staticpro them.
|
|
(emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions.
|
|
|
|
* process.c: Include lisp.h before w32.h, not after.
|
|
(wait_reading_process_output): Call emacs_gnutls_record_check_pending
|
|
instead of gnutls_record_check_pending.
|
|
|
|
* callproc.c, emacs.c: Include lisp.h before w32.h, not after.
|
|
|
|
2011-05-04 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options
|
|
instead of :keyfiles. Give GnuTLS the keylist and the CRL lists
|
|
as passed in.
|
|
|
|
2011-05-03 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c (x_set_frame_alpha): Do not set property on anything
|
|
else than FRAME_X_OUTER_WINDOW (Bug#8608).
|
|
|
|
2011-05-02 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* sysdep.c (get_tty_size) [WINDOWSNT]: Implement. (Bug#8596)
|
|
|
|
2011-05-02 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon)
|
|
(Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again)
|
|
(Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake)
|
|
(gnutls_global_initialized, Qgnutls_bootprop_priority)
|
|
(Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles)
|
|
(Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel)
|
|
(Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags)
|
|
(Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error)
|
|
(Qgnutls_bootprop_callbacks_verify): Make static.
|
|
|
|
2011-05-01 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* callproc.c: Indentation fixup.
|
|
|
|
* sysdep.c (wait_for_termination_1): Make static.
|
|
(wait_for_termination, interruptible_wait_for_termination):
|
|
Move after wait_for_termination_1.
|
|
|
|
2011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* sysdep.c (interruptible_wait_for_termination): New function
|
|
which is like wait_for_termination, but allows keyboard
|
|
interruptions.
|
|
|
|
* callproc.c (Fcall_process): Add (:file "file") as an option for
|
|
the STDOUT buffer.
|
|
(Fcall_process_region): Ditto.
|
|
|
|
2011-04-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)'
|
|
rather than `XVECTOR (FOO)->size'.
|
|
|
|
* process.c: Remove HAVE_INTTYPES_H condition from inclusion of
|
|
inttypes.h, as a gnulib replacement is used if it not available in
|
|
system headers.
|
|
|
|
2011-04-21 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files.
|
|
* fileio.c (Finsert_file_contents): Don't limit file size to 1/4
|
|
of MOST_POSITIVE_FIXNUM. (Bug#8528)
|
|
|
|
* coding.c (coding_alloc_by_realloc): Error out if destination
|
|
will grow beyond MOST_POSITIVE_FIXNUM.
|
|
(decode_coding_emacs_mule): Abort if there isn't enough place in
|
|
charbuf for the composition carryover bytes. Reserve an extra
|
|
space for up to 2 characters produced in a loop.
|
|
(decode_coding_iso_2022): Abort if there isn't enough place in
|
|
charbuf for the composition carryover bytes.
|
|
|
|
2011-04-21 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of
|
|
aborting when %lld or %lll format is passed.
|
|
[!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when
|
|
%llo or %llx format is passed. (Bug#8545)
|
|
|
|
* window.c (window_scroll_line_based): Use a marker instead of
|
|
simple variables to record original value of point. (Bug#7952)
|
|
|
|
* doprnt.c (doprnt): Fix the case where a multibyte sequence
|
|
produced by %s or %c overflows available buffer space. (Bug#8545)
|
|
|
|
2011-04-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545).
|
|
(SIZE_MAX): Move defn after all includes, as they might #define it.
|
|
|
|
2011-04-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32.c (init_environment): Warn about defaulting HOME to C:\.
|
|
|
|
2011-04-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* keyboard.c (Qdelayed_warnings_hook): Define.
|
|
(command_loop_1): Run `delayed-warnings-hook'
|
|
if Vdelayed_warnings_list is non-nil.
|
|
(syms_of_keyboard) <delayed-warnings-hook>: DEFSYM it.
|
|
(syms_of_keyboard) <delayed-warnings-list>: DEFVAR_LISP it.
|
|
|
|
2011-04-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* doprnt.c (doprnt): Don't return value smaller than the buffer
|
|
size if the message was truncated. (Bug#8545).
|
|
|
|
2011-04-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32fns.c (Fx_change_window_property, Fx_delete_window_property)
|
|
(Fx_window_property): #if-0 the whole functions, not just the bodies.
|
|
|
|
2011-04-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* doprnt.c (doprnt): Support "ll" length modifier, for long long.
|
|
|
|
2011-04-27 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
|
|
2011-04-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Improve `doprnt' and its usage. (Bug#8545)
|
|
* doprnt.c (doprnt): Make sure `format' is never accessed beyond
|
|
`format_end'. Remove support for %l as a conversion specifier.
|
|
Don't use xrealloc. Improve diagnostics when the %l size modifier
|
|
is used. Update the commentary.
|
|
|
|
* eval.c (verror): Simplify calculation of size_t.
|
|
|
|
* coding.c (Ffind_operation_coding_system): Fix diagnostic error
|
|
messages.
|
|
|
|
2011-04-27 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
|
|
|
|
* buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing
|
|
change.
|
|
|
|
2011-04-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.
|
|
This makes this file independent of the recent pseudovector change.
|
|
|
|
2011-04-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keyboard.c (handle_user_signal): Fix pointer signedness problem.
|
|
|
|
* gnutls.c (emacs_gnutls_handle_error): Remove unused local.
|
|
(Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *.
|
|
Remove unused local.
|
|
(emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0.
|
|
|
|
* lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546)
|
|
GCC 4.6.0 optimizes based on type-based alias analysis.
|
|
For example, if b is of type struct buffer * and v of type struct
|
|
Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
|
|
!= &v->size, and therefore "v->size = 1; b->size = 2; return
|
|
v->size;" must therefore return 1. This assumption is incorrect
|
|
for Emacs, since it type-puns struct Lisp_Vector * with many other
|
|
types. To fix this problem, this patch adds a new type struct
|
|
vectorlike_header that documents the constraints on layout of vectors
|
|
and pseudovectors, and helps optimizing compilers not get fooled
|
|
by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE
|
|
XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
|
|
* lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of
|
|
the size member.
|
|
(XSETPVECTYPE): Rewrite in terms of new macro.
|
|
(XSETPVECTYPESIZE): New macro, specifying both type and size.
|
|
This is a bit clearer, and further avoids the possibility of
|
|
undesirable aliasing.
|
|
(XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
|
|
(XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR.
|
|
(XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
|
|
since Lisp_Subr is a special case (no "next" field).
|
|
(ASIZE): Now uses header.size rather than size.
|
|
All previous uses of XVECTOR (foo)->size replaced to use this macro,
|
|
to avoid the hassle of writing XVECTOR (foo)->header.size.
|
|
(struct vectorlike_header): New type.
|
|
(TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
|
|
object, to help avoid aliasing.
|
|
(PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
|
|
(SUBRP): Likewise, since Lisp_Subr is a special case.
|
|
* lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
|
|
(struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
|
|
(struct Lisp_Hash_Table): Combine first two members into a single
|
|
struct vectorlike_header member. All uses of "size" and "next" members
|
|
changed to be "header.size" and "header.next".
|
|
* buffer.h (struct buffer): Likewise.
|
|
* font.h (struct font_spec, struct font_entity, struct font): Likewise.
|
|
* frame.h (struct frame): Likewise.
|
|
* process.h (struct Lisp_Process): Likewise.
|
|
* termhooks.h (struct terminal): Likewise.
|
|
* window.c (struct save_window_data, struct saved_window): Likewise.
|
|
* window.h (struct window): Likewise.
|
|
* alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
|
|
Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
|
|
* buffer.c (init_buffer_once): Likewise.
|
|
* lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
|
|
special case.
|
|
* process.c (Fformat_network_address): Use local var for size,
|
|
for brevity.
|
|
|
|
* bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
|
|
|
|
Make the Lisp reader and string-to-float more consistent (Bug#8525)
|
|
* data.c (atof): Remove decl; no longer used or needed.
|
|
(digit_to_number): Move to lread.c.
|
|
(Fstring_to_number): Use new string_to_number function, to be
|
|
consistent with how the Lisp reader treats infinities and NaNs.
|
|
Do not assume that floating-point numbers represent EMACS_INT
|
|
without losing information; this is not true on most 64-bit hosts.
|
|
Avoid double-rounding errors, by insisting on integers when
|
|
parsing non-base-10 numbers, as the documentation specifies.
|
|
* lisp.h (string_to_number): New decl, replacing ...
|
|
(isfloat_string): Remove.
|
|
* lread.c: Include <inttypes.h>, for uintmax_t and strtoumax.
|
|
(read1): Do not accept +. and -. as integers; this
|
|
appears to have been a coding error. Similarly, do not accept
|
|
strings like +-1e0 as floating point numbers. Do not report
|
|
overflow for integer overflows unless the base is not 10 which
|
|
means we have no simple and reliable way to continue.
|
|
Break out the floating-point parsing into a new
|
|
function string_to_number, so that Fstring_to_number parses
|
|
floating point numbers consistently with the Lisp reader.
|
|
(digit_to_number): Move here from data.c. Make it static inline.
|
|
(E_CHAR, EXP_INT): Remove, replacing with ...
|
|
(E_EXP): New macro, to solve the "1.0e+" problem mentioned below.
|
|
(string_to_number): New function, replacing isfloat_string.
|
|
This function checks for valid syntax and produces the resulting
|
|
Lisp float number too. Rework it so that string-to-number
|
|
no longer mishandles examples like "1.0e+". Use strtoumax,
|
|
so that overflow for non-base-10 numbers is reported only when
|
|
there's no portable and simple way to convert to floating point.
|
|
|
|
* textprop.c (set_text_properties_1): Rewrite for clarity,
|
|
and to avoid GCC warning about integer overflow.
|
|
|
|
* intervals.h (struct interval): Use EMACS_INT for members
|
|
where EMACS_UINT might cause problems. See
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html>.
|
|
(CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed.
|
|
* intervals.c (interval_deletion_adjustment): Now returns EMACS_INT.
|
|
All uses changed.
|
|
(offset_intervals): Tell GCC not to worry about length overflow
|
|
when negating a negative length.
|
|
|
|
* alloc.c (overrun_check_malloc, overrun_check_realloc): Now static.
|
|
(overrun_check_free): Likewise.
|
|
|
|
* alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check
|
|
in the common case where SDATA_DATA_OFFSET is a multiple of Emacs
|
|
word size.
|
|
|
|
* gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
|
|
(gnutls_make_error): Rename local to avoid shadowing.
|
|
(gnutls_emacs_global_deinit): ifdef out; not used.
|
|
(Fgnutls_boot): Use const for pointer to readonly storage.
|
|
Comment out unused local. Fix pointer signedness problems.
|
|
|
|
* lread.c (openp): Don't stuff size_t into an 'int'.
|
|
Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning
|
|
about possible signed overflow.
|
|
|
|
* gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
|
|
(GDK_KEY_g): Don't define if already defined.
|
|
(xg_prepare_tooltip): Avoid pointer signedness problem.
|
|
(xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts.
|
|
|
|
* process.c (Fnetwork_interface_info): Avoid left-shift undefined
|
|
behavior with 1 << 31. GCC 4.6.0 warns about this on 32-bit hosts.
|
|
|
|
* xfns.c (Fx_window_property): Simplify a bit,
|
|
to make a bit faster and to avoid GCC 4.6.0 warning.
|
|
* xselect.c (x_get_window_property, x_handle_dnd_message): Likewise.
|
|
|
|
* fns.c (internal_equal): Don't assume size_t fits in int.
|
|
|
|
* alloc.c (compact_small_strings): Tighten assertion a little.
|
|
|
|
Replace pEd with more-general pI, and fix some printf arg casts.
|
|
* lisp.h (pI): New macro, generalizing old pEd macro to other
|
|
conversion specifiers. For example, use "...%"pI"d..." rather
|
|
than "...%"pEd"...".
|
|
(pEd): Remove. All uses replaced with similar uses of pI.
|
|
* m/amdx86-64.h, m/ia64.h, m/ibms390x.h: Likewise.
|
|
* alloc.c (check_pure_size): Don't overflow by converting size to int.
|
|
* bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
|
|
* data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
|
|
* dbusbind.c (xd_append_arg): Use pI to avoid cast.
|
|
(Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise.
|
|
* font.c (font_unparse_xlfd): Avoid potential buffer overrun on
|
|
64-bit hosts.
|
|
(font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts.
|
|
* keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts.
|
|
* print.c (safe_debug_print, print_object): Likewise.
|
|
(print_object): Don't overflow by converting EMACS_INT or EMACS_UINT
|
|
to int.
|
|
Use pI instead of if-then-else-abort. Use %p to avoid casts,
|
|
avoiding the 0 flag, which is not portable.
|
|
* process.c (Fmake_network_process): Use pI to avoid cast.
|
|
* region-cache.c (pp_cache): Likewise.
|
|
* xdisp.c (decode_mode_spec): Likewise.
|
|
* xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined
|
|
behavior on 64-bit hosts with printf arg.
|
|
* xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag.
|
|
(x_stop_queuing_selection_requests): Likewise.
|
|
(x_get_window_property): Don't truncate byte count to an 'int'
|
|
when tracing.
|
|
|
|
* frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right
|
|
here, since it parses constructs like leading '-' and spaces,
|
|
which are not wanted; and it overflows with large numbers.
|
|
Instead, simply match F[0-9]+, which is what is wanted anyway.
|
|
|
|
* alloc.c: Remove unportable assumptions about struct layout.
|
|
(SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros.
|
|
(SDATA_OF_STRING, SDATA_SIZE, allocate_string_data):
|
|
(allocate_vectorlike, make_pure_vector): Use the new macros,
|
|
plus offsetof, to remove unportable assumptions about struct layout.
|
|
These assumptions hold on all porting targets that I know of, but
|
|
they are not guaranteed, they're easy to remove, and removing them
|
|
makes further changes easier.
|
|
|
|
* alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks".
|
|
This doesn't fix a bug but makes the code clearer.
|
|
(string_overrun_cookie): Now const. Use initializers that
|
|
don't formally overflow signed char, to avoid warnings.
|
|
(allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that
|
|
can cause Emacs to crash when string overrun checking is enabled.
|
|
(allocate_buffer): Don't assume sizeof (struct buffer) is a
|
|
multiple of sizeof (EMACS_INT); it need not be, if
|
|
alignof(EMACS_INT) < sizeof (EMACS_INT).
|
|
(check_sblock, check_string_bytes, check_string_free_list): Protoize.
|
|
|
|
2011-04-26 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* keyboard.c (QCrtl): Rename from Qrtl. All uses changed.
|
|
|
|
2011-04-26 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* gnutls.c (emacs_gnutls_handshake): Return an error if we're not
|
|
supposed to be handshaking. (Bug#8556)
|
|
Reported by Paul Eggert <eggert@cs.ucla.edu>.
|
|
|
|
2011-04-26 Daniel Colascione <dan.colascione@gmail.com>
|
|
|
|
* lisp.h (Qdebug): List symbol.
|
|
* eval.c (Qdebug): Restore global linkage.
|
|
* keyboard.c (debug-on-event): New variable.
|
|
(handle_user_signal): Break into debugger when debug-on-event
|
|
matches the current signal symbol.
|
|
|
|
2011-04-25 Dan Nicolaescu <dann@ics.uci.edu>
|
|
|
|
* alloc.c (check_sblock, check_string_bytes)
|
|
(check_string_free_list): Convert to standard C.
|
|
|
|
2011-04-25 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* w32.c (emacs_gnutls_push): Fix typo.
|
|
|
|
2011-04-25 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about
|
|
"cast to pointer from integer of different size".
|
|
|
|
Improve doprnt and its use in verror. (Bug#8545)
|
|
* doprnt.c (doprnt): Document the set of format control sequences
|
|
supported by the function. Use SAFE_ALLOCA instead of always
|
|
using `alloca'.
|
|
|
|
* eval.c (verror): Don't limit the buffer size at size_max-1, that
|
|
is one byte too soon. Don't use xrealloc; instead xfree and
|
|
xmalloc anew.
|
|
|
|
2011-04-24 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
* gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
|
|
callbacks stage.
|
|
|
|
* gnutls.c: Renamed global_initialized to
|
|
gnutls_global_initialized. Added internals for the
|
|
:verify-hostname-error, :verify-error, and :verify-flags
|
|
parameters of `gnutls-boot' and documented those parameters in the
|
|
docstring. Start callback support.
|
|
(emacs_gnutls_handshake): Add Woe32 support. Retry handshake
|
|
unless a fatal error occurred. Call gnutls_alert_send_appropriate
|
|
on error. Return error code.
|
|
(emacs_gnutls_write): Call emacs_gnutls_handle_error.
|
|
(emacs_gnutls_read): Likewise.
|
|
(Fgnutls_boot): Return handshake error code.
|
|
(emacs_gnutls_handle_error): New function.
|
|
(wsaerror_to_errno): Likewise.
|
|
|
|
* w32.h (emacs_gnutls_pull): Add prototype.
|
|
(emacs_gnutls_push): Likewise.
|
|
|
|
* w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
|
|
(emacs_gnutls_push): Likewise.
|
|
|
|
2011-04-24 Claudio Bley <claudio.bley@gmail.com> (tiny change)
|
|
|
|
* process.c (wait_reading_process_output): Check if GnuTLS
|
|
buffered some data internally if no FDs are set for TLS
|
|
connections.
|
|
|
|
* makefile.w32-in (OBJ2): Add gnutls.$(O).
|
|
(LIBS): Link to USER_LIBS.
|
|
($(BLD)/gnutls.$(0)): New target.
|
|
|
|
2011-04-24 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_single_display_spec): Rename the
|
|
display_replaced_before_p argument into display_replaced_p, to
|
|
make it consistent with the commentary. Fix typos in the
|
|
commentary.
|
|
|
|
* textprop.c (syms_of_textprop): Remove dead code.
|
|
(copy_text_properties): Delete obsolete commentary about an
|
|
interface that was deleted long ago. Fix typos in the description
|
|
of arguments.
|
|
|
|
* msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list
|
|
to changes in oldXMenu/XMenu.h from 2011-04-16.
|
|
<menu_help_message, prev_menu_help_message>: Constify.
|
|
(IT_menu_make_room): menu->help_text is now `const char **';
|
|
adjust.
|
|
|
|
* msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
|
|
to changes in oldXMenu/XMenu.h from 2011-04-16.
|
|
(struct XMenu): Declare `help_text' `const char **'.
|
|
|
|
* xfaces.c <Qunspecified>: Make extern again.
|
|
|
|
* syntax.c: Include sys/types.h before including regex.h, as
|
|
required by POSIX.
|
|
|
|
* doc.c (get_doc_string): Improve the format passed to `error'.
|
|
|
|
* doprnt.c (doprnt): Improve commentary.
|
|
|
|
* term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
|
|
|
|
* Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
|
|
them with etags.
|
|
|
|
* makefile.w32-in (globals.h): Add a dummy recipe, to make any
|
|
changes in globals.h immediately force recompilation.
|
|
(TAGS): Depend on $(CURDIR)/m/intel386.h and
|
|
$(CURDIR)/s/ms-w32.h.
|
|
(TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h.
|
|
|
|
* character.c (Fchar_direction): Function deleted.
|
|
(syms_of_character): Don't defsubr it.
|
|
<char-direction-table>: Deleted.
|
|
|
|
2011-04-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix doprnt so it could be used again safely in `verror'. (Bug#8435)
|
|
* doprnt.c: Include limits.h.
|
|
(SIZE_MAX): New macro.
|
|
(doprnt): Return a size_t value. 2nd arg is now size_t.
|
|
Many local variables are now size_t instead of int or unsigned.
|
|
Improve overflow protection. Support `l' modifier for integer
|
|
conversions. Support %l conversion. Don't assume an EMACS_INT
|
|
argument for integer conversions and for %c.
|
|
|
|
* lisp.h (doprnt): Restore prototype.
|
|
|
|
* makefile.w32-in ($(BLD)/callint.$(O)): Depend on
|
|
$(SRC)/character.h.
|
|
|
|
* Makefile.in (base_obj): Add back doprnt.o.
|
|
|
|
* deps.mk (doprnt.o): Add back prerequisites.
|
|
(callint.o): Depend on character.h.
|
|
|
|
* eval.c (internal_lisp_condition_case): Include the handler
|
|
representation in the error message.
|
|
(verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug
|
|
when breaking from the loop.
|
|
|
|
* xdisp.c (vmessage): Call doprnt instead of vsnprintf.
|
|
|
|
* callint.c (Fcall_interactively): When displaying error message
|
|
about invalid control letter, pass the character's codepoint, not
|
|
a pointer to its multibyte form. Improve display of the character
|
|
in octal and display also its hex code.
|
|
|
|
* character.c (char_string): Use %x to display the (unsigned)
|
|
codepoint of an invalid character, to avoid displaying a bogus
|
|
negative value.
|
|
|
|
* font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
|
|
`error', not SYMBOL_NAME itself.
|
|
|
|
* coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
|
|
character arguments to `error'.
|
|
|
|
* charset.c (check_iso_charset_parameter): Fix incorrect argument
|
|
to `error' in error message about FINAL_CHAR argument. Make sure
|
|
FINAL_CHAR is a character, and use %c when it is passed as
|
|
argument to `error'.
|
|
|
|
2011-04-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* s/ms-w32.h (localtime): Redirect to sys_localtime.
|
|
|
|
* w32.c: Include <time.h>.
|
|
(sys_localtime): New function.
|
|
|
|
2011-04-23 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
|
|
|
|
* buffer.c (syms_of_buffer): Doc fix (Bug#6902).
|
|
|
|
2011-04-23 Samuel Thibault <sthibault@debian.org> (tiny change)
|
|
|
|
* sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
|
|
zombies (Bug#8467).
|
|
|
|
2011-04-19 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
|
|
gl_state.e_property when gl_state.object is Qt.
|
|
|
|
* insdel.c (make_gap_larger): Remove limitation of buffer size
|
|
to <= INT_MAX.
|
|
|
|
2011-04-18 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xdisp.c (lookup_glyphless_char_display)
|
|
(produce_glyphless_glyph): Handle cons cell entry in
|
|
glyphless-char-display.
|
|
(Vglyphless_char_display): Document it.
|
|
|
|
* term.c (produce_glyphless_glyph): Handle cons cell entry in
|
|
glyphless-char-display.
|
|
|
|
2011-04-17 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
|
|
|
|
* termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
|
|
|
|
* dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
|
|
definition for no-X builds.
|
|
|
|
2011-04-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checks with GCC 4.6.0 and non-default toolkits.
|
|
|
|
* s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
|
|
|
|
* process.c (keyboard_bit_set): Define only if SIGIO.
|
|
(send_process_trap): Mark it with NO_RETURN if it doesn't return.
|
|
(send_process): Repair possible setjmp clobbering.
|
|
|
|
* s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
|
|
|
|
* eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
|
|
|
|
* data.c (arith_error): Mark with NO_RETURN if it doesn't return.
|
|
|
|
* alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
|
|
Define only if needed.
|
|
|
|
* sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier
|
|
by pacifying GCC about it. Maybe it's time to retire it?
|
|
* xfaces.c (USG, __TIMEVAL__): Likewise.
|
|
|
|
* dispextern.h (struct redisplay_interface): Rename param
|
|
to avoid shadowing.
|
|
* termhooks.h (struct terminal): Likewise.
|
|
* xterm.c (xembed_send_message): Likewise.
|
|
|
|
* insdel.c (make_gap_smaller): Define only if
|
|
USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
|
|
|
|
* keyboard.c (read_char): Make a var volatile so longjmp won't clobber
|
|
it.
|
|
|
|
* emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
|
|
so that we aren't warned about unused symbols.
|
|
|
|
* xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
|
|
|
|
* xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
|
|
|
|
* xfns.c (x_real_positions): Mark locals as initialized.
|
|
|
|
* xmenu.c (xmenu_show): Don't use uninitialized vars.
|
|
|
|
* xterm.c: Fix problems found by static analysis with other toolkits.
|
|
(toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
|
|
(x_dispatch_event): Declare static if USE_GTK, and
|
|
define if USE_GTK || USE_X_TOOLKIT.
|
|
(SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
|
|
* xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT.
|
|
* xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only
|
|
if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
|
|
|
|
* xmenu.c (menu_help_callback): Pointer type fixes.
|
|
Use const pointers when pointing at readonly data. Avoid pointer
|
|
signedness clashes.
|
|
(FALSE): Remove unused macro.
|
|
(update_frame_menubar): Remove unused decl.
|
|
|
|
* xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
|
|
|
|
* menu.c (push_submenu_start, push_submenu_end): Do not define unless
|
|
USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
|
|
(single_menu_item): Rename local to avoid shadowing.
|
|
|
|
* keyboard.c (make_lispy_event): Remove unused local var.
|
|
|
|
* frame.c, frame.h (x_get_resource_string): Bring this back, but
|
|
only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
|
|
|
|
* bitmaps: Change bitmaps from unsigned char back to the X11
|
|
compatible char. Avoid the old compiler warnings about
|
|
out-of-range initializers by using, for example, '\xab' rather
|
|
than 0xab.
|
|
|
|
* xgselect.c (xgselect_initialize): Check vs interface
|
|
even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
|
|
|
|
* xmenu.c (xmenu_show): Rename parm to avoid shadowing.
|
|
|
|
* xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
|
|
to read-only memory.
|
|
|
|
* fns.c (vector): Remove; this old hack is no longer needed.
|
|
|
|
* xsmfns.c (create_client_leader_window): Rename shadowing arg.
|
|
Remove unused var.
|
|
(gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
|
|
|
|
* xrdb.c (x_load_resources): Omit unused local.
|
|
|
|
* xfns.c (free_frame_menubar, atof): Remove duplicate decls.
|
|
(x_window): Rename locals to avoid shadowing.
|
|
(USG): Use the kludged USG macro, to pacify gcc.
|
|
|
|
* xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
|
|
(x_term_init): Remove local to avoid shadowing.
|
|
|
|
* xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
|
|
|
|
* xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
|
|
USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
|
|
|
|
2011-04-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
|
|
|
|
Fix regex.c, syntax.c and friends for buffers > 2GB.
|
|
* syntax.h (struct gl_state_s): Declare character position members
|
|
EMACS_INT.
|
|
|
|
* syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
|
|
|
|
* textprop.c (verify_interval_modification, interval_of):
|
|
Declare arguments EMACS_INT.
|
|
|
|
* intervals.c (adjust_intervals_for_insertion): Declare arguments
|
|
EMACS_INT.
|
|
|
|
* intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
|
|
|
|
* indent.c (Fvertical_motion): Local variable it_start is now
|
|
EMACS_INT.
|
|
|
|
* regex.c (re_match, re_match_2, re_match_2_internal)
|
|
(bcmp_translate, regcomp, regexec, print_double_string)
|
|
(group_in_compile_stack, re_search, re_search_2, regex_compile)
|
|
(re_compile_pattern, re_exec): Declare arguments and local
|
|
variables `size_t' and `ssize_t' and return values `regoff_t', as
|
|
appropriate.
|
|
(POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'.
|
|
(CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'.
|
|
<compile_stack_type>: `size' and `avail' are now `size_t'.
|
|
|
|
* regex.h <regoff_t>: Use ssize_t, not int.
|
|
(re_search, re_search_2, re_match, re_match_2): Arguments that
|
|
specify buffer/string position and length are now ssize_t and
|
|
size_t. Return type is regoff_t.
|
|
|
|
2011-04-16 Ben Key <bkey76@gmail.com>
|
|
|
|
* nsfont.m: Fixed bugs in ns_get_family and
|
|
ns_descriptor_to_entity that were caused by using free to
|
|
deallocate memory blocks that were allocated by xmalloc (via
|
|
xstrdup). This caused Emacs to crash when compiled with
|
|
XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with
|
|
--enable-checking=xmallocoverrun). xfree is now used to
|
|
deallocate these memory blocks.
|
|
|
|
2011-04-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
|
|
|
|
emacs_write: Accept and return EMACS_INT for sizes.
|
|
See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
|
|
et seq.
|
|
* gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
|
|
Accept and return EMACS_INT.
|
|
(emacs_gnutls_write): Return the number of bytes written on
|
|
partial writes.
|
|
* sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
|
|
(emacs_read, emacs_write): Remove check for negative size, as the
|
|
Emacs source code has been audited now.
|
|
* sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
|
|
(emacs_read, emacs_write): Use it.
|
|
* process.c (send_process): Adjust to the new signatures of
|
|
emacs_write and emacs_gnutls_write. Do not attempt to store
|
|
a byte offset into an 'int'; it might overflow.
|
|
See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
|
|
|
|
* sound.c: Don't assume sizes fit in 'int'.
|
|
(struct sound_device.period_size, alsa_period_size):
|
|
Return EMACS_INT, not int.
|
|
(struct sound_device.write, vox_write, alsa_write):
|
|
Accept EMACS_INT, not int.
|
|
(wav_play, au_play): Use EMACS_INT to store sizes and to
|
|
record read return values.
|
|
|
|
2011-04-15 Ben Key <bkey76@gmail.com>
|
|
|
|
* keyboard.c (Qundefined): Don't declare static since it is used
|
|
in nsfns.m.
|
|
* xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare
|
|
static since they are used in nsfont.m.
|
|
|
|
2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* process.c (Qprocessp): Don't declare static.
|
|
* lisp.h (Qprocessp): Declare again.
|
|
|
|
2011-04-15 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* font.c (Qopentype): Don't make static (used from w32uniscribe.c).
|
|
|
|
2011-04-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Improve C-level modularity by making more things 'static'.
|
|
|
|
Don't publish debugger-only interfaces to other modules.
|
|
* lisp.h (safe_debug_print, debug_output_compilation_hack):
|
|
(verify_bytepos, count_markers): Move decls to the only modules
|
|
that need them.
|
|
* region-cache.h (pp_cache): Likewise.
|
|
* window.h (check_all_windows): Likewise.
|
|
* marker.c, print.c, region-cache.c, window.c: Decls moved here.
|
|
|
|
* sysdep.c (croak): Now static, if
|
|
defined TIOCNOTTY || defined USG5 || defined CYGWIN.
|
|
* syssignal.h (croak): Declare only if not static.
|
|
|
|
* alloc.c (refill_memory_reserve): Now static if
|
|
!defined REL_ALLOC || defined SYSTEM_MALLOC.
|
|
* lisp.h (refill_memory_reserve): Declare only if not static.
|
|
|
|
* xsettings.c, xsettings.h (xsettings_get_system_normal_font):
|
|
Define only if USE_LUCID.
|
|
|
|
* xrdb.c (x_customization_string, x_rm_string): Now static.
|
|
|
|
* xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
|
|
* xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
|
|
|
|
* xdisp.c (draw_row_with_mouse_face): Now static.
|
|
* dispextern.h (draw_row_with_mouse_fave): Remove decl.
|
|
|
|
* window.h (check_all_windows): Mark externally visible.
|
|
|
|
* window.c (window_deletion_count): Now static.
|
|
|
|
* undo.c: Make symbols static if they're not exported.
|
|
(last_undo_buffer, last_boundary_position, pending_boundary):
|
|
Now static.
|
|
|
|
* textprop.c (interval_insert_behind_hooks): Now static.
|
|
(interval_insert_in_front_hooks): Likewise.
|
|
|
|
* term.c: Make symbols static if they're not exported.
|
|
(tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
|
|
(max_frame_lines, tty_set_terminal_modes):
|
|
(tty_reset_terminal_modes, tty_turn_off_highlight):
|
|
(get_tty_terminal): Now static.
|
|
(term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
|
|
* termhooks.h (term_mouse_moveto): Do not declare if
|
|
HAVE_WINDOW_SYSTEM.
|
|
* dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
|
|
(tty_turn_off_highlight, get_tty_terminal): Remove decls.
|
|
|
|
* sysdep.c: Make symbols static if they're not exported.
|
|
(emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
|
|
Now static.
|
|
(sigprocmask_set, full_mask): Remove; unused.
|
|
(wait_debugging): Mark as visible.
|
|
* syssignal.h (SIGFULLMASK, full_mask): Remove decls.
|
|
* systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
|
|
|
|
* syntax.c (syntax_temp): Define only if !__GNUC__.
|
|
|
|
* sound.c (current_sound_device, current_sound): Now static.
|
|
|
|
* search.c (searchbufs, searchbuf_head): Now static.
|
|
|
|
* scroll.c (scroll_cost): Remove; unused.
|
|
* dispextern.h (scroll_cost): Remove decl.
|
|
|
|
* region-cache.h (pp_cache): Mark as externally visible.
|
|
|
|
* process.c: Make symbols static if they're not exported.
|
|
(process_tick, update_tick, create_process, chan_process):
|
|
(Vprocess_alist, proc_buffered_char, datagram_access):
|
|
(fd_callback_data, send_process_frame, process_sent_to): Now static.
|
|
(deactivate_process): Mark defn as static, as well as decl.
|
|
* lisp.h (create_process): Remove decl.
|
|
* process.h (chan_process, Vprocess_alist): Remove decls.
|
|
|
|
* print.c: Make symbols static if they're not exported.
|
|
(print_depth, new_backquote_output, being_printed, print_buffer):
|
|
(print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
|
|
(print_interval, print_number_index, initial_stderr_stream):
|
|
Now static.
|
|
* lisp.h (Fprinc): Remove decl.
|
|
(debug_output_compilation_hack): Mark as externally visible.
|
|
|
|
* sysdep.c (croak): Move decl from here to syssignal.h.
|
|
* syssignal.h (croak): Put it here, so the API can be checked when
|
|
'croak' is called from dissociate_if_controlling_tty.
|
|
|
|
* minibuf.c: Make symbols static if they're not exported.
|
|
(minibuf_save_list, choose_minibuf_frame): Now static.
|
|
* lisp.h (choose_minibuf_frame): Remove decl.
|
|
|
|
* lisp.h (verify_bytepos, count_markers): Mark as externally visible.
|
|
|
|
* lread.c: Make symbols static if they're not exported.
|
|
(read_objects, initial_obarray, oblookup_last_bucket_number):
|
|
Now static.
|
|
(make_symbol): Remove; unused.
|
|
* lisp.h (initial_obarray, make_symbol): Remove decls.
|
|
|
|
* keyboard.c: Make symbols static if they're not exported.
|
|
(single_kboard, recent_keys_index, total_keys, recent_keys):
|
|
(this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
|
|
(this_single_command_key_start, echoing, last_auto_save):
|
|
(read_key_sequence_cmd, dribble, recursive_edit_unwind):
|
|
(command_loop, echo_now, keyboard_init_hook, help_char_p):
|
|
(quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
|
|
(Vlispy_mouse_stem, double_click_count):
|
|
Now static.
|
|
(force_auto_save_soon): Define only if SIGDANGER.
|
|
(ignore_mouse_drag_p): Now static if
|
|
!defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
|
|
(print_help): Remove; unused.
|
|
(stop_character, last_timer_event): Mark as externally visible.
|
|
* keyboard.h (ignore_mouse_drag_p): Declare only if
|
|
defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
|
|
(echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
|
|
* lisp.h (echoing): Remove decl.
|
|
(force_auto_save_soon): Declare only if SIGDANGER.
|
|
* xdisp.c (redisplay_window): Simplify code, to make it more
|
|
obvious that ignore_mouse_drag_p is not accessed if !defined
|
|
USE_GTK && !defined HAVE_NS.
|
|
|
|
* intervals.c: Make symbols static if they're not exported.
|
|
(merge_properties_sticky, merge_interval_right, delete_interval):
|
|
Now static.
|
|
* intervals.h (merge_interval_right, delete_interval): Remove decls.
|
|
|
|
* insdel.c: Make symbols static if they're not exported.
|
|
However, leave prepare_to_modify_buffer alone. It's never
|
|
called from outside this function, but that appears to be a bug.
|
|
(combine_after_change_list, combine_after_change_buffer):
|
|
(adjust_after_replace, signal_before_change): Now static.
|
|
(adjust_after_replace_noundo): Remove; unused.
|
|
* lisp.h (adjust_after_replace, adjust_after_replace_noundo):
|
|
(signal_before_change): Remove decls.
|
|
|
|
* indent.c (val_compute_motion, val_vmotion): Now static.
|
|
|
|
* image.c: Make symbols static if they're not exported.
|
|
* dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
|
|
if USE_GTK.
|
|
* image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
|
|
(xpm_color_cache, ct_table, ct_colors_allocated): Now static.
|
|
|
|
* fringe.c (standard_bitmaps): Now static.
|
|
(max_used_fringe_bitmap): Now static, unless HAVE_NS.
|
|
|
|
* frame.c: Make symbols static if they're not exported.
|
|
(x_report_frame_params, make_terminal_frame): Now static.
|
|
(get_frame_param): Now static, unless HAVE_NS.
|
|
(x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
|
|
(x_get_resource_string): Remove; not used.
|
|
* frame.h (make_terminal_frame, x_report_frame_params):
|
|
(x_get_resource_string); Remove decls.
|
|
(x_fullscreen_adjust): Declare only if WINDOWSNT.
|
|
* lisp.h (get_frame_param): Declare only if HAVE_NS.
|
|
|
|
* font.c, fontset.c: Make symbols static if they're not exported.
|
|
* dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
|
|
(FACE_SUITABLE_FOR_CHAR_P): Use it.
|
|
* font.c (font_close_object): Now static.
|
|
* font.h (font_close_object): Remove.
|
|
* fontset.c (FONTSET_OBJLIST): Remove.
|
|
(free_realized_fontset) #if-0 the body, which does nothing.
|
|
(face_suitable_for_char_p): #if-0, as it's never called.
|
|
* fontset.h (face_suitable_for_char_p): Remove decl.
|
|
* xfaces.c (face_at_string_position):
|
|
Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
|
|
since 0 is always ASCII.
|
|
|
|
* fns.c (weak_hash_tables): Now static.
|
|
|
|
* fileio.c: Make symbols static if they're not exported.
|
|
(auto_saving, auto_save_mode_bits, auto_save_error_occurred):
|
|
(Vwrite_region_annotation_buffers): Now static.
|
|
|
|
* eval.c: Make symbols static if they're not exported.
|
|
(backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
|
|
* lisp.h (backtrace_list): Remove decl.
|
|
|
|
* emacs.c: Make symbols static if they're not exported.
|
|
(malloc_state_ptr, malloc_using_checking, syms_of_emacs):
|
|
(fatal_error_code, fatal_error_signal_hook, standard_args):
|
|
Now static.
|
|
(fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
|
|
(DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
|
|
(__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
|
|
* lisp.h (fatal_error_signal_hook): Remove decl.
|
|
(fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
|
|
|
|
* editfns.c: Move a (normally-unused) function to its only use.
|
|
* editfns.c, lisp.h (get_operating_system_release): Remove.
|
|
* process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
|
|
worth the hassle of breaking this out.
|
|
|
|
* xterm.c: Make symbols static if they're not exported.
|
|
(x_raise_frame, x_lower_frame, x_wm_set_window_state):
|
|
(x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
|
|
(x_destroy_window, x_delete_display):
|
|
Now static.
|
|
(x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
|
|
(x_mouse_leave): Remove; unused.
|
|
* xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
|
|
(x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
|
|
(x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
|
|
Remove decls.
|
|
(x_mouse_leave): Declare only if WINDOWSNT.
|
|
(x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
|
|
(xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
|
|
USE_X_TOOLKIT.
|
|
|
|
* ftxfont.c: Make symbols static if they're not exported.
|
|
(ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
|
|
HAVE_FREETYPE.
|
|
* font.h (ftxfont_driver): Likewise.
|
|
|
|
* xfns.c: Make symbols static if they're not exported.
|
|
(x_last_font_name, x_display_info_for_name):
|
|
(x_set_foreground_color, x_set_background_color, x_set_mouse_color):
|
|
(x_set_cursor_color, x_set_border_pixel, x_set_border_color):
|
|
(x_set_cursor_type, x_set_icon_type, x_set_icon_name):
|
|
(x_set_scroll_bar_foreground, x_set_scroll_bar_background):
|
|
(x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
|
|
(last_show_tip_args): Now static.
|
|
(xic_defaut_fontset, xic_create_fontsetname): Define only if
|
|
defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
|
|
(x_screen_planes): Remove; unused.
|
|
* dispextern.h (x_screen_planes): Remove decl.
|
|
|
|
* dispnew.c: Make symbols static if they're not exported.
|
|
* dispextern.h (redraw_garbaged_frames, scrolling):
|
|
(increment_row_positions): Remove.
|
|
* dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
|
|
(delayed_size_change, glyph_matrix_count, glyph_pool_count):
|
|
Now static.
|
|
(redraw_garbaged_frames): Remove; unused.
|
|
|
|
* xfaces.c: Make symbols static if they're not exported.
|
|
* dispextern.h (ascii_face_of_lisp_face, free_realized_face):
|
|
Remove decls.
|
|
* xterm.h (defined_color): Remove decls.
|
|
(x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
|
|
* xfaces.c (tty_suppress_bold_inverse_default_colors_p):
|
|
(menu_face_changed_default, defined_color, free_realized_face):
|
|
(x_free_dpy_colors): Define only if USE_X_TOOLKIT.
|
|
(ascii_face_of_lisp_face): Remove; unused.
|
|
|
|
* xdisp.c: Make symbols static if they're not exported.
|
|
* dispextern.h (scratch_glyph_row, window_box_edges):
|
|
(glyph_to_pixel_coords, set_cursor_from_row):
|
|
(get_next_display_element, set_iterator_to_next):
|
|
(highlight_trailing_whitespace, frame_to_window_pixel_xy):
|
|
(show_mouse_face): Remove decls
|
|
* frame.h (message_buf_print): Likewise.
|
|
* lisp.h (pop_message, set_message, check_point_in_composition):
|
|
Likewise.
|
|
* xterm.h (set_vertical_scroll_bar): Likewise.
|
|
* xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
|
|
(message_buf_print, scratch_glyph_row, displayed_buffer):
|
|
(set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
|
|
(get_next_display_element, show_mouse_face, window_box_edges):
|
|
(frame_to_window_pixel_xy, check_point_in_composition):
|
|
(set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
|
|
(glyph_to_pixel_coords): Remove; unused.
|
|
|
|
* dired.c (file_name_completion): Now static.
|
|
|
|
* dbusbind.c (xd_in_read_queued_messages): Now static.
|
|
|
|
* lisp.h (circular_list_error, FOREACH): Remove; unused.
|
|
* data.c (circular_list_error): Remove.
|
|
|
|
* commands.h (last_point_position, last_point_position_buffer):
|
|
(last_point_position_window): Remove decls.
|
|
* keyboard.c: Make these variables static.
|
|
|
|
* coding.h (coding, code_convert_region, encode_coding_gap):
|
|
Remove decls.
|
|
* coding.c (Vsjis_coding_system, Vbig5_coding_system):
|
|
(iso_code_class, detect_coding, code_convert_region): Now static.
|
|
(encode_coding_gap): Remove; unused.
|
|
|
|
* chartab.c (chartab_chars, chartab_bits): Now static.
|
|
|
|
* charset.h (charset_iso_8859_1): Remove decl.
|
|
* charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
|
|
Now static.
|
|
|
|
* ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
|
|
* ccl.c (Vccl_program_table): Now static.
|
|
(check_ccl_update): Remove; unused.
|
|
|
|
* category.c (SET_CATEGORY_SET, set_category_set): Move here.
|
|
* category.h: ... from here.
|
|
* category.c (check_category_table, set_category_set): Now static.
|
|
|
|
* casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
|
|
* lisp.h: Remove these decls.
|
|
|
|
* buffer.c (buffer_count): Remove unused var.
|
|
|
|
* bidi.c (bidi_dump_cached_states): Mark as externally visible,
|
|
so that it's not optimized away.
|
|
(bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
|
|
* dispextern.h (bidi_dump_cached_states): Remove, since it's
|
|
exported only to the debugger.
|
|
|
|
* atimer.c (alarm_signal_handler, run_all_atimers): Now static.
|
|
* atimer.h (run_all_atimers): Remove; not exported.
|
|
|
|
font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
|
|
* font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
|
|
was inaccessible from Lisp.
|
|
(merge_font_spec): Likewise, renaming from Fmerge_font_spec.
|
|
* font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
|
|
|
|
alloc.c: Import and export fewer symbols, and remove unused items.
|
|
* lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
|
|
is defined.
|
|
(suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
|
|
it's not optimized away by whole-program optimization.
|
|
(message_enable_multibyte, free_misc): Remove.
|
|
(catchlist, handlerlist, mark_backtrace):
|
|
Declare only if BYTE_MARK_STACK.
|
|
(mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
|
|
* alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
|
|
(message_enable_multibyte): Remove decl.
|
|
(free_misc, interval_free_list, float_block, float_block_index):
|
|
(n_float_blocks, float_free_list, cons_block, cons_block_index):
|
|
(cons_free_list, last_marked_index):
|
|
Now static.
|
|
(suppress_checking, die): Define only if ENABLE_CHECKING is defined.
|
|
* eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
|
|
(mark_backtrace): Define only if BYTE_MARK_STACK.
|
|
* xdisp.c (message_enable_multibyte): Now static.
|
|
|
|
Declare Lisp_Object Q* variables to be 'static' if not exported.
|
|
This makes it easier for human readers (and static analyzers)
|
|
to see whether these variables are used from other modules.
|
|
* alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
|
|
* ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
|
|
* data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
|
|
* font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
|
|
* lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
|
|
* sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
|
|
* xmenu.c, xselect.c:
|
|
Declare Q* vars static if they are not used in other modules.
|
|
* ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
|
|
* frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
|
|
Remove decls of unexported vars.
|
|
* keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
|
|
|
|
* lisp.h (DEFINE_FUNC): Make sname 'static'.
|
|
|
|
Make Emacs functions such as Fatom 'static' by default.
|
|
This makes it easier for human readers (and static analyzers)
|
|
to see whether these functions can be called from other modules.
|
|
DEFUN now defines a static function. To make the function external
|
|
so that it can be used in other C modules, use the new macro DEFUE.
|
|
* lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
|
|
(Finit_image_library):
|
|
(Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
|
|
(Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
|
|
(Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
|
|
Remove decls, since these functions are now static.
|
|
(Funintern, Fget_internal_run_time): New decls, since these functions
|
|
were already external.
|
|
|
|
* alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
|
|
* ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
|
|
* doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
|
|
* fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
|
|
* keyboard.c, keymap.c, lread.c:
|
|
* macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
|
|
* syntax.c, term.c, terminal.c, textprop.c, undo.c:
|
|
* window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
|
|
Mark functions with DEFUE instead of DEFUN,
|
|
if they are used in other modules.
|
|
* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
|
|
decls for now-static functions.
|
|
* buffer.h (Fdelete_overlay): Remove decl.
|
|
* callproc.c (Fgetenv_internal): Mark as internal.
|
|
* composite.c (Fremove_list_of_text_properties): Remove decl.
|
|
(Fcomposition_get_gstring): New forward static decl.
|
|
* composite.h (Fcomposite_get_gstring): Remove decl.
|
|
* dired.c (Ffile_attributes): New forward static decl.
|
|
* doc.c (Fdocumntation_property): New forward static decl.
|
|
* eval.c (Ffetch_bytecode): New forward static decl.
|
|
(Funintern): Remove extern decl; now in .h file where it belongs.
|
|
* fileio.c (Fmake_symbolic_link): New forward static decl.
|
|
* image.c (Finit_image_library): New forward static decl.
|
|
* insdel.c (Fcombine_after_change_execute): Make forward decl static.
|
|
* intervals.h (Fprevious_property_change):
|
|
(Fremove_list_of_text_properties): Remove decls.
|
|
* keyboard.c (Fthis_command_keys): Remove decl.
|
|
(Fcommand_execute): New forward static decl.
|
|
* keymap.c (Flookup_key): New forward static decl.
|
|
(Fcopy_keymap): Now static.
|
|
* keymap.h (Flookup_key): Remove decl.
|
|
* process.c (Fget_process): New forward static decl.
|
|
(Fprocess_datagram_address): Mark as internal.
|
|
* syntax.c (Fsyntax_table_p): New forward static decl.
|
|
(skip_chars): Remove duplicate decl.
|
|
* textprop.c (Fprevious_property_change): New forward static decl.
|
|
* window.c (Fset_window_fringes, Fset_window_scroll_bars):
|
|
Now internal.
|
|
(Fset_window_margins, Fset_window_vscroll): New forward static decls.
|
|
* window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
|
|
|
|
* editfns.c (Fformat): Remove unreachable code.
|
|
|
|
2011-04-14 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
|
|
change. (Bug#8496)
|
|
|
|
2011-04-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
|
|
when at ZV. (Bug#8487)
|
|
|
|
2011-04-12 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* charset.c (Fclear_charset_maps): Use xfree instead of free.
|
|
(Bug#8437)
|
|
* keyboard.c (parse_tool_bar_item): Likewise.
|
|
* sound.c (sound_cleanup, alsa_close): Likewise.
|
|
* termcap.c (tgetent): Likewise.
|
|
* xfns.c (x_default_font_parameter): Likewise.
|
|
* xsettings.c (read_and_apply_settings): Likewise.
|
|
|
|
* alloc.c (overrun_check_malloc, overrun_check_realloc)
|
|
(overrun_check_free): Protoize.
|
|
|
|
2011-04-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c (emacs_read, emacs_write): Check for negative sizes
|
|
since callers should never pass a negative size.
|
|
Change the signature to match that of plain 'read' and 'write'; see
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
|
|
* lisp.h: Update prototypes of emacs_write and emacs_read.
|
|
|
|
2011-04-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (redisplay_window): Don't try to determine the character
|
|
position of the scroll margin if the window start point w->startp
|
|
is outside the buffer's accessible region. (Bug#8468)
|
|
|
|
2011-04-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix write-region and its subroutines for buffers > 2GB.
|
|
* fileio.c (a_write, e_write): Modify declaration of arguments and
|
|
local variables to support buffers larger than 2GB.
|
|
(Fcopy_file): Use EMACS_INT for return value of emacs_read.
|
|
|
|
* sysdep.c (emacs_write, emacs_read): Use ssize_t for last
|
|
argument, local variables, and return value.
|
|
|
|
* lisp.h: Update prototypes of emacs_write and emacs_read.
|
|
|
|
* sound.c (vox_write): Use ssize_t for return value of emacs_write.
|
|
|
|
2011-04-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
|
|
|
|
Fix more problems found by GCC 4.6.0's static checks.
|
|
|
|
* xdisp.c (vmessage): Use a better test for character truncation.
|
|
|
|
* charset.c (load_charset_map): <, not <=, for optimization,
|
|
and to avoid potential problems with integer overflow.
|
|
* chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
|
|
* casetab.c (set_identity, shuffle): Likewise.
|
|
* editfns.c (Fformat): Likewise.
|
|
* syntax.c (skip_chars): Likewise.
|
|
|
|
* xmenu.c (set_frame_menubar): Allocate smaller local vectors.
|
|
This also lets GCC 4.6.0 generate slightly better loop code.
|
|
|
|
* callint.c (Fcall_interactively): <, not <=, for optimization.
|
|
(Fcall_interactively): Count the number of arguments produced,
|
|
not the number of arguments given. This is simpler and lets GCC
|
|
4.6.0 generate slightly better code.
|
|
|
|
* ftfont.c: Distingish more carefully between FcChar8 and char.
|
|
The previous code passed unsigned char * to a functions like
|
|
strlen and xstrcasecmp that expect char *, which does not
|
|
conform to the C standard.
|
|
(get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
|
|
arguments to FcPatternGetString, and explicitly cast FcChar8 * to
|
|
char * when the C standard requires it.
|
|
|
|
* keyboard.c (read_char): Remove unused var.
|
|
|
|
* eval.c: Port to Windows vsnprintf (Bug#8435).
|
|
Include <limits.h>.
|
|
(SIZE_MAX): Define if the headers do not.
|
|
(verror): Do not give up if vsnprintf returns a negative count.
|
|
Instead, grow the buffer. This ports to Windows vsnprintf, which
|
|
does not conform to C99. Problem reported by Eli Zaretskii.
|
|
Also, simplify the allocation scheme, by avoiding the need for
|
|
calling realloc, and removing the ALLOCATED variable.
|
|
|
|
* eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
|
|
|
|
Remove invocations of doprnt, as Emacs now uses vsnprintf.
|
|
But keep the doprint source code for now, as we might revamp it
|
|
and use it again (Bug#8435).
|
|
* lisp.h (doprnt): Remove.
|
|
* Makefile.in (base_obj): Remove doprnt.o.
|
|
* deps.mk (doprnt.o): Remove.
|
|
|
|
error: Print 32- and 64-bit integers portably (Bug#8435).
|
|
Without this change, on typical 64-bit hosts error ("...%d...", N)
|
|
was used to print both 32- and 64-bit integers N, which relied on
|
|
undefined behavior.
|
|
* lisp.h, m/amdx86-64.h, m/ia64.h, m/ibms390x.h (pEd): New macro.
|
|
* lisp.h (error, verror): Mark as printf-like functions.
|
|
* eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
|
|
Report overflow in size calculations when allocating printf buffer.
|
|
Do not truncate output string at its first null byte.
|
|
* xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
|
|
Truncate the output at a character boundary, since vsnprintf does not
|
|
do that.
|
|
* charset.c (check_iso_charset_parameter): Convert internal
|
|
character to string before calling 'error', since %c now has the
|
|
printf meaning.
|
|
* coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
|
|
overflow when computing char to be passed to 'error'. Do not
|
|
pass Lisp_Object to 'error'; pass the integer instead.
|
|
* nsfns.m (Fns_do_applescript): Use int, not long, since it's
|
|
formatted with plain %d.
|
|
|
|
* eval.c (internal_lisp_condition_case): Don't pass spurious arg.
|
|
|
|
* keyboard.c (access_keymap_keyremap): Print func name, not garbage.
|
|
|
|
* coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
|
|
|
|
* xterm.c (x_catch_errors): Remove duplicate declaration.
|
|
|
|
* term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
|
|
|
|
* xdisp.c, lisp.h (message_nolog): Remove; unused.
|
|
|
|
2011-04-10 Jim Meyering <meyering@redhat.com>
|
|
|
|
use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
|
|
* gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
|
|
return ssize_t not "int", and use size_t as the buffer length.
|
|
(emacs_gnutls_write): Likewise, and make the buffer pointer "const".
|
|
* gnutls.h: Update declarations.
|
|
* process.c (read_process_output): Use ssize_t, to match.
|
|
(send_process): Likewise.
|
|
|
|
2011-04-09 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* image.c (Fimagemagick_types): Doc fix, and comment cleanup.
|
|
|
|
2011-04-09 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* ftfont.c (get_adstyle_property, ftfont_pattern_entity):
|
|
Use unsigned char, to match FcChar8 type definition.
|
|
|
|
* xterm.c (handle_one_xevent):
|
|
* xmenu.c (create_and_show_popup_menu):
|
|
* xselect.c (x_decline_selection_request)
|
|
(x_reply_selection_request): Avoid type-punned deref of X events.
|
|
|
|
2011-04-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
Fix some uses of `int' instead of EMACS_INT.
|
|
* search.c (string_match_1, fast_string_match)
|
|
(fast_c_string_match_ignore_case, fast_string_match_ignore_case)
|
|
(scan_buffer, find_next_newline_no_quit)
|
|
(find_before_next_newline, search_command, Freplace_match)
|
|
(Fmatch_data): Make some `int' variables be EMACS_INT.
|
|
|
|
* xdisp.c (display_count_lines): 3rd argument and return value now
|
|
EMACS_INT. All callers changed.
|
|
(pint2hrstr): Last argument is now EMACS_INT.
|
|
|
|
* coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
|
|
(detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
|
|
(detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
|
|
(decode_coding_utf_16, decode_coding_emacs_mule)
|
|
(decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
|
|
(decode_coding_ccl, decode_coding_charset)
|
|
<consumed_chars, consumed_chars_base>: Declare EMACS_INT.
|
|
(decode_coding_iso_2022, decode_coding_emacs_mule)
|
|
(decode_coding_sjis, decode_coding_big5, decode_coding_charset)
|
|
<char_offset, last_offset>: Declare EMACS_INT.
|
|
(encode_coding_utf_8, encode_coding_utf_16)
|
|
(encode_coding_emacs_mule, encode_invocation_designation)
|
|
(encode_designation_at_bol, encode_coding_iso_2022)
|
|
(encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
|
|
(encode_coding_raw_text, encode_coding_charset) <produced_chars>:
|
|
Declare EMACS_INT.
|
|
(ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
|
|
(encode_invocation_designation): Last argument P_NCHARS is now
|
|
EMACS_INT.
|
|
(decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
|
|
(produce_chars): from_nchars and to_nchars are now EMACS_INT.
|
|
|
|
* coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
|
|
All users changed.
|
|
|
|
* ccl.c (Fccl_execute_on_string): Declare some variables
|
|
EMACS_INT.
|
|
|
|
2011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
|
|
|
|
* term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
|
|
|
|
2011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
|
|
|
|
* process.c (Fformat_network_address): Doc fix.
|
|
|
|
2011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
|
|
|
|
* xml.c (parse_region): Avoid creating spurious whitespace nodes.
|
|
|
|
2011-04-08 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* keyboard.c (read_char): Call Lisp function help-form-show,
|
|
instead of using internal_with_output_to_temp_buffer.
|
|
(Qhelp_form_show): New var.
|
|
(syms_of_keyboard): Use DEFSYM macro.
|
|
|
|
* print.c (internal_with_output_to_temp_buffer): Function deleted.
|
|
|
|
* lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
|
|
|
|
2011-04-06 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* process.c (Flist_processes): Remove to Lisp.
|
|
(list_processes_1): Delete.
|
|
|
|
2011-04-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
|
|
|
|
* w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
|
|
|
|
2011-04-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix more problems found by GCC 4.6.0's static checks.
|
|
|
|
* xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
|
|
|
|
* menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
|
|
|
|
* lisp.h (message, message_nolog, fatal): Mark as printf-like.
|
|
|
|
* xdisp.c (vmessage): Mark as a printf-like function.
|
|
|
|
* term.c (vfatal, maybe_fatal): Mark as printf-like functions.
|
|
|
|
* sound.c (sound_warning): Don't crash if arg contains a printf format.
|
|
|
|
* image.c (tiff_error_handler, tiff_warning_handler): Mark as
|
|
printf-like functions.
|
|
(tiff_load): Add casts to remove these marks before passing them
|
|
to system-supplied API.
|
|
|
|
* eval.c (Fsignal): Remove excess argument to 'fatal'.
|
|
|
|
* coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
|
|
This avoids several warnings with gcc -Wstrict-overflow.
|
|
(DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
|
|
directly, rather than having caller test rule sign. This avoids
|
|
some unnecessary tests.
|
|
* composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
|
|
(COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
|
|
affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
|
|
|
|
* xfont.c (xfont_text_extents): Remove var that was set but not used.
|
|
(xfont_open): Avoid unnecessary tests.
|
|
|
|
* composite.c (composition_gstring_put_cache): Use unsigned integer.
|
|
|
|
* composite.h, composite.c (composition_gstring_put_cache):
|
|
Use EMACS_INT, not int, for length.
|
|
|
|
* composite.h (COMPOSITION_DECODE_REFS): New macro,
|
|
breaking out part of COMPOSITION_DECODE_RULE.
|
|
(COMPOSITION_DECODE_RULE): Use it.
|
|
* composite.c (get_composition_id): Remove unused local vars,
|
|
by using the new macro.
|
|
|
|
* textprop.c (set_text_properties_1): Change while to do-while,
|
|
since the condition is always true at first.
|
|
|
|
* intervals.c (graft_intervals_into_buffer): Mark var as used.
|
|
(interval_deletion_adjustment): Return unsigned value.
|
|
All uses changed.
|
|
|
|
* process.c (list_processes_1, create_pty, read_process_output):
|
|
(exec_sentinel): Remove vars that were set but not used.
|
|
(create_pty): Remove unnecessary "volatile"s.
|
|
(Fnetwork_interface_info): Avoid possibility of int overflow.
|
|
(read_process_output): Do adaptive read buffering even if carryover.
|
|
(read_process_output): Simplify nbytes computation if buffered.
|
|
|
|
* bytecode.c (exec_byte_code): Rename local to avoid shadowing.
|
|
|
|
* syntax.c (scan_words): Remove var that was set but not used.
|
|
(update_syntax_table): Use unsigned instead of int.
|
|
|
|
* lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
|
|
(lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
|
|
(safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
|
|
|
|
* print.c (print_error_message): Avoid int overflow.
|
|
|
|
* font.c (font_list_entities): Redo for clarity,
|
|
so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
|
|
|
|
* font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
|
|
(font_score): Avoid potential overflow in diff calculation.
|
|
|
|
* fns.c (substring_both): Remove var that is set but not used.
|
|
(sxhash): Redo loop for clarity and to avoid wraparound warning.
|
|
|
|
* eval.c (funcall_lambda): Rename local to avoid shadowing.
|
|
|
|
* alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
|
|
Otherwise, GCC 4.6.0 optimizes the loop check away since the check
|
|
can always succeed if overflow has undefined behavior.
|
|
|
|
* search.c (boyer_moore, wordify): Remove vars set but not used.
|
|
(wordify): Omit three unnecessary tests.
|
|
|
|
* indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
|
|
All callers changed. This avoids the need for an unused var.
|
|
|
|
* casefiddle.c (casify_region): Remove var that is set but not used.
|
|
|
|
* dired.c (file_name_completion): Remove var that is set but not used.
|
|
|
|
* fileio.c (Finsert_file_contents): Make EOF condition clearer.
|
|
|
|
* fileio.c (Finsert_file_contents): Avoid signed integer overflow.
|
|
(Finsert_file_contents): Remove unnecessary code checking fd.
|
|
|
|
* minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
|
|
Check for integer overflow on size calculations.
|
|
|
|
* buffer.c (Fprevious_overlay_change): Remove var that is set
|
|
but not used.
|
|
|
|
* keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
|
|
Remove vars that are set but not used.
|
|
(timer_check_2): Don't assume timer-list and idle-timer-list are lists.
|
|
(timer_check_2): Mark vars as initialized.
|
|
|
|
* gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
|
|
|
|
* image.c (lookup_image): Remove var that is set but not used.
|
|
(xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
|
|
|
|
* fontset.c (Finternal_char_font, Ffontset_info): Remove vars
|
|
that are set but not used.
|
|
|
|
* xfns.c (make_invisible_cursor): Don't return garbage
|
|
if XCreateBitmapFromData fails (Bug#8410).
|
|
|
|
* xselect.c (x_get_local_selection, x_handle_property_notify):
|
|
Remove vars that are set but not used.
|
|
|
|
* xfns.c (x_create_tip_frame): Remove var that is set but not used.
|
|
(make_invisible_cursor): Initialize a possibly-uninitialized variable.
|
|
|
|
* xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
|
|
Remove var that is set but not used.
|
|
(scroll_bar_windows_size): Now size_t, not int.
|
|
(x_send_scroll_bar_event): Use size_t, not int, for sizes.
|
|
Check for overflow.
|
|
|
|
* xfaces.c (realize_named_face): Remove vars that are set but not used.
|
|
(map_tty_color) [!defined MSDOS]: Likewise.
|
|
|
|
* term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
|
|
|
|
* coding.c: Remove vars that are set but not used.
|
|
(DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
|
|
All callers changed.
|
|
(decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
|
|
(decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
|
|
(decode_coding_charset): Remove vars that are set but not used.
|
|
|
|
* bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
|
|
that is set but not used.
|
|
|
|
* print.c (print_object): Remove var that is set but not used.
|
|
|
|
Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
|
|
The gnulib version avoids calling malloc in the usual case,
|
|
and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
|
|
* fileio.c (Ffile_symlink_p): Use emacs_readlink.
|
|
* filelock.c (current_lock_owner): Likewise.
|
|
* lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
|
|
* sysdep.c: Include allocator.h, careadlinkat.h.
|
|
(emacs_no_realloc_allocator): New static constant.
|
|
(emacs_readlink): New function.
|
|
* deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
|
|
../lib/careadlinkat.h.
|
|
|
|
2011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
|
|
first non-nil return value).
|
|
|
|
2011-04-03 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
|
|
if not defined (Bug#8403).
|
|
|
|
2011-04-02 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* xdisp.c (display_count_lines): Remove parameter `start',
|
|
unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
|
|
(get_char_face_and_encoding): Remove parameter `multibyte_p',
|
|
unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
|
|
(fill_stretch_glyph_string): Remove parameters `row' and `area',
|
|
unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
|
|
and thereabouts. All callers changed.
|
|
(get_per_char_metric): Remove parameter `f', unused since
|
|
2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
|
|
|
|
2011-04-02 Jim Meyering <meyering@redhat.com>
|
|
|
|
do not dereference NULL upon failed strdup
|
|
* nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
|
|
(ns_get_family): Likewise.
|
|
|
|
2011-04-02 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
|
|
|
|
2011-04-02 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
|
|
later (Bug#8403).
|
|
|
|
2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
Add lexical binding.
|
|
|
|
* window.c (Ftemp_output_buffer_show): New fun.
|
|
(Fsave_window_excursion):
|
|
* print.c (Fwith_output_to_temp_buffer): Move to subr.el.
|
|
|
|
* lread.c (lisp_file_lexically_bound_p): New function.
|
|
(Fload): Bind Qlexical_binding.
|
|
(readevalloop): Remove `evalfun' arg.
|
|
Bind Qinternal_interpreter_environment.
|
|
(Feval_buffer): Bind Qlexical_binding.
|
|
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
|
|
Mark as dynamic.
|
|
(syms_of_lread): Declare `lexical-binding'.
|
|
|
|
* lisp.h (struct Lisp_Symbol): New field `declared_special'.
|
|
|
|
* keyboard.c (eval_dyn): New fun.
|
|
(menu_item_eval_property): Use it.
|
|
|
|
* image.c (parse_image_spec): Use Ffunctionp.
|
|
|
|
* fns.c (concat, mapcar1): Accept byte-code-functions.
|
|
|
|
* eval.c (Fsetq): Handle lexical vars.
|
|
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
|
|
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
|
|
(FletX, Flet): Obey lexical binding.
|
|
(Fcommandp): Handle closures.
|
|
(Feval): New `lexical' arg.
|
|
(eval_sub): New function extracted from Feval. Use it almost
|
|
everywhere where Feval was used. Look up vars in lexical env.
|
|
Handle closures.
|
|
(Ffunctionp): Move from subr.el.
|
|
(Ffuncall): Handle closures.
|
|
(apply_lambda): Remove `eval_flags'.
|
|
(funcall_lambda): Handle closures and new byte-code-functions.
|
|
(Fspecial_variable_p): New function.
|
|
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
|
|
but without exporting it to Lisp.
|
|
|
|
* doc.c (Fdocumentation, store_function_docstring):
|
|
* data.c (Finteractive_form): Handle closures.
|
|
|
|
* callint.c (Fcall_interactively): Preserve lexical-binding mode for
|
|
interactive spec.
|
|
|
|
* bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
|
|
New byte-codes.
|
|
(exec_byte_code): New function extracted from Fbyte_code to handle new
|
|
calling convention for byte-code-functions. Add new byte-codes.
|
|
|
|
* buffer.c (defvar_per_buffer): Set new `declared_special' field.
|
|
|
|
* alloc.c (Fmake_symbol): Init new `declared_special' field.
|
|
|
|
2011-03-31 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* xdisp.c (redisplay_internal): Fix prototype.
|
|
|
|
2011-03-31 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (SCROLL_LIMIT): New macro.
|
|
(try_scrolling): Use it when setting scroll_limit.
|
|
Limit scrolling to 100 screen lines.
|
|
(redisplay_window): Even when falling back on "recentering",
|
|
position point in the window according to scroll-conservatively,
|
|
scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
|
|
|
|
(try_scrolling): When point is above the window, allow searching
|
|
as far as scroll_max, or one screenful, to compute vertical
|
|
distance from PT to the scroll margin position. This prevents
|
|
try_scrolling from unnecessarily failing when
|
|
scroll-conservatively is set to a value slightly larger than the
|
|
window height. Clean up the case of PT below the margin at bottom
|
|
of window: scroll_max can no longer be INT_MAX. When aggressive
|
|
scrolling is in use, don't let point enter the opposite scroll
|
|
margin as result of the scroll.
|
|
(syms_of_xdisp) <scroll-conservatively>: Document the
|
|
threshold of 100 lines for never-recentering scrolling.
|
|
|
|
2011-03-31 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* dispextern.h (move_it_by_lines):
|
|
* xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
|
|
since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
|
|
(message_log_check_duplicate): Remove parameters `prev_bol' and
|
|
`this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
|
|
(redisplay_internal): Remove parameter `preserve_echo_area',
|
|
unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
|
|
|
|
* indent.c (Fvertical_motion):
|
|
* window.c (window_scroll_pixel_based, Frecenter):
|
|
Don't pass `need_y_p' to `move_it_by_lines'.
|
|
|
|
2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (struct backtrace): Don't cheat with negative numbers, but do
|
|
steal a few bits to be more compact.
|
|
(interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
|
|
Remove unneeded casts.
|
|
|
|
* bytecode.c (Fbyte_code): CAR and CDR can GC.
|
|
|
|
2011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
|
|
|
|
* keyboard.c (Fexecute_extended_command): Do log the "suggest key
|
|
binding" message (bug#7967).
|
|
|
|
2011-03-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix more problems found by GCC 4.6.0's static checks.
|
|
|
|
* unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
|
|
Remove unused local var.
|
|
|
|
* editfns.c (Fmessage_box): Remove unused local var.
|
|
|
|
* xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
|
|
(note_mode_line_or_margin_highlight, note_mouse_highlight):
|
|
Omit unused local vars.
|
|
* window.c (shrink_windows): Omit unused local var.
|
|
* menu.c (digest_single_submenu): Omit unused local var.
|
|
* dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
|
|
Omit unused local var.
|
|
|
|
* keyboard.c (parse_modifiers_uncached, parse_modifiers):
|
|
Don't assume string length fits in int.
|
|
(keyremap_step, read_key_sequence): Use size_t for sizes.
|
|
(read_key_sequence): Don't check last_real_key_start redundantly.
|
|
|
|
* callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
|
|
instead of alloca (Bug#8344).
|
|
|
|
* eval.c (Fbacktrace): Don't assume nargs fits in int.
|
|
(Fbacktrace_frame): Don't assume nframes fits in int.
|
|
|
|
* syntax.c (scan_sexps_forward): Avoid pointer wraparound.
|
|
|
|
* xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
|
|
concerns.
|
|
|
|
* term.c (produce_glyphless_glyph): Remove unnecessary test.
|
|
|
|
* cm.c (calccost): Turn while-do into do-while, for clarity.
|
|
|
|
* keyboard.c (syms_of_keyboard): Use the same style as later
|
|
in this function when indexing through an array. This also
|
|
works around GCC bug 48267.
|
|
|
|
* image.c (tiff_load): Fix off-by-one image count (Bug#8336).
|
|
|
|
* xselect.c (x_check_property_data): Return correct size (Bug#8335).
|
|
|
|
* chartab.c (sub_char_table_ref_and_range): Redo for slight
|
|
efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
|
|
|
|
* keyboard.c, keyboard.h (num_input_events): Now size_t.
|
|
This avoids undefined behavior on integer overflow, and is a bit
|
|
more convenient anyway since it is compared to a size_t variable.
|
|
|
|
Variadic C functions now count arguments with size_t, not int.
|
|
This avoids an unnecessary limitation on 64-bit machines, which
|
|
caused (substring ...) to crash on large vectors (Bug#8344).
|
|
* lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
|
|
(DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
|
|
All variadic functions and their callers changed accordingly.
|
|
(struct gcpro.nvars): Now size_t, not int. All uses changed.
|
|
* data.c (arith_driver, float_arith_driver): Likewise.
|
|
* editfns.c (general_insert_function): Likewise.
|
|
* eval.c (struct backtrace.nargs, interactive_p)
|
|
(internal_condition_case_n, run_hook_with_args, apply_lambda)
|
|
(funcall_lambda, mark_backtrace): Likewise.
|
|
* fns.c (concat): Likewise.
|
|
* frame.c (x_set_frame_parameters): Likewise.
|
|
* fns.c (get_key_arg): Now accepts and returns size_t, and returns
|
|
0 if not found, not -1. All callers changed.
|
|
|
|
* alloc.c (garbage_collect): Don't assume stack size fits in int.
|
|
(stack_copy_size): Now size_t, not int.
|
|
(stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
|
|
|
|
2011-03-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
|
|
unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
|
|
All callers changed.
|
|
|
|
* lisp.h (multibyte_char_to_unibyte):
|
|
* character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
|
|
unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
|
|
* character.h (CHAR_TO_BYTE8):
|
|
* cmds.c (internal_self_insert):
|
|
* editfns.c (general_insert_function):
|
|
* keymap.c (push_key_description):
|
|
* search.c (Freplace_match):
|
|
* xdisp.c (message_dolog, set_message_1): All callers changed.
|
|
|
|
2011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (safe_run_hook_funcall): New function.
|
|
(safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
|
|
don't set the hook to nil, but remove the offending function instead.
|
|
(Qcommand_hook_internal): Remove, unused.
|
|
(syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
|
|
Vcommand_hook_internal.
|
|
|
|
* eval.c (enum run_hooks_condition): Remove.
|
|
(funcall_nil, funcall_not): New functions.
|
|
(run_hook_with_args): Call each function through a `funcall' argument.
|
|
Remove `cond' argument, now redundant.
|
|
(Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
|
|
(Frun_hook_with_args_until_failure): Adjust accordingly.
|
|
(run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
|
|
|
|
2011-03-28 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* dispextern.h (string_buffer_position): Remove declaration.
|
|
|
|
* print.c (strout): Remove parameter `multibyte', unused since
|
|
1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
|
|
|
|
* search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
|
|
never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
|
|
All callers changed.
|
|
|
|
* w32.c (_wsa_errlist): Use braces for struct initializers.
|
|
|
|
* xdisp.c (string_buffer_position_lim): Remove parameter `w',
|
|
never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
|
|
All callers changed.
|
|
(string_buffer_position): Likewise. Also, make static (it's never
|
|
used outside xdisp.c).
|
|
(cursor_row_p): Remove parameter `w', unused since
|
|
2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
|
|
(decode_mode_spec): Remove parameter `precision', introduced during
|
|
Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
|
|
All callers changed.
|
|
|
|
2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
|
|
|
|
2011-03-27 Anders Lindgren <andlind@gmail.com>
|
|
|
|
* nsterm.m (ns_menu_bar_is_hidden): New variable.
|
|
(ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
|
|
(ns_update_auto_hide_menu_bar): New functions.
|
|
(ns_update_begin): Call ns_update_auto_hide_menu_bar.
|
|
(applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
|
|
ns_constrain_all_frames.
|
|
(constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
|
|
(syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
|
|
|
|
2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsmenu.m (runDialogAt): Remove argument to timer_check.
|
|
|
|
2011-03-27 Glenn Morris <rgm@gnu.org>
|
|
|
|
* syssignal.h: Replace RETSIGTYPE with void.
|
|
* atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
|
|
* keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
|
|
Replace SIGTYPE with void everywhere.
|
|
* s/usg5-4-common.h (SIGTYPE): Remove definition.
|
|
* s/template.h (SIGTYPE): Remove commented out definition.
|
|
|
|
2011-03-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (redisplay_window): Don't check buffer's clip_changed
|
|
flag as a prerequisite for invoking try_scrolling. (Bug#6671)
|
|
|
|
2011-03-26 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32.c (read_unc_volume): Use parameter `henum', instead of
|
|
global variable `wget_enum_handle'.
|
|
|
|
* keymap.c (describe_vector): Remove parameters `indices' and
|
|
`char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
|
|
(describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
|
|
|
|
* keyboard.h (timer_check, show_help_echo): Remove unused parameters.
|
|
|
|
* keyboard.c (timer_check): Remove parameter `do_it_now',
|
|
unused since 1996-04-12T06:01:29Z!rms@gnu.org.
|
|
(show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
|
|
unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
|
|
|
|
* keyboard.c (read_char):
|
|
* w32menu.c (w32_menu_display_help):
|
|
* xmenu.c (show_help_event, menu_help_callback):
|
|
Adjust calls to `show_help_echo'.
|
|
|
|
* gtkutil.c (xg_maybe_add_timer):
|
|
* keyboard.c (readable_events):
|
|
* process.c (wait_reading_process_output):
|
|
* xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
|
|
|
|
* insdel.c (adjust_markers_gap_motion):
|
|
Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
|
|
(gap_left, gap_right): Don't call it.
|
|
|
|
2011-03-25 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xdisp.c (handle_fontified_prop): Discard changes to clip_changed
|
|
incurred during fontification.
|
|
|
|
2011-03-25 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
|
|
(DEFVAR_PER_BUFFER): Don't pass it.
|
|
|
|
* dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
|
|
(scrolling_window): Don't pass it.
|
|
|
|
2011-03-25 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
|
|
|
|
* fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
|
|
and `suffix'.
|
|
(Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
|
|
of variables specific to SELinux and computation of `encoded_absname'.
|
|
|
|
* image.c (XPutPixel): Remove unused variable `height'.
|
|
|
|
* keyboard.c (make_lispy_event): Remove unused variable `hpos'.
|
|
|
|
* unexw32.c (get_section_info): Remove unused variable `section'.
|
|
|
|
* w32.c (stat): Remove unused variables `drive_root' and `devtype'.
|
|
(system_process_attributes): Remove unused variable `sess'.
|
|
(sys_read): Remove unused variable `err'.
|
|
|
|
* w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
|
|
(w32_wnd_proc): Remove unused variable `isdead'.
|
|
(unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
|
|
(Fx_server_max_request_size): Remove unused variable `dpyinfo'.
|
|
(x_create_tip_frame): Remove unused variable `tem'.
|
|
|
|
* w32inevt.c (w32_console_read_socket):
|
|
Remove unused variable `no_events'.
|
|
|
|
* w32term.c (x_draw_composite_glyph_string_foreground):
|
|
Remove unused variable `width'.
|
|
|
|
2011-03-24 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32term.c (x_set_glyph_string_clipping):
|
|
Don't pass uninitialized region to CombineRgn.
|
|
|
|
2011-03-23 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
|
|
(w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
|
|
(Fx_close_connection): Remove unused variable `i'.
|
|
|
|
* w32font.c (w32font_draw): Return number of glyphs.
|
|
(w32font_open_internal): Remove unused variable `i'.
|
|
(w32font_driver): Add missing initializer.
|
|
|
|
* w32menu.c (utf8to16): Remove unused variable `utf16'.
|
|
(fill_in_menu): Remove unused variable `items_added'.
|
|
|
|
* w32term.c (last_mouse_press_frame): Remove static global variable.
|
|
(w32_clip_to_row): Remove unused variable `f'.
|
|
(x_delete_terminal): Remove unused variable `i'.
|
|
|
|
* w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
|
|
(NOTHING): Remove unused static global variable.
|
|
(uniscribe_check_otf): Remove unused variable `table'.
|
|
(uniscribe_font_driver): Add missing initializers.
|
|
|
|
2011-03-23 Julien Danjou <julien@danjou.info>
|
|
|
|
* term.c (Fsuspend_tty, Fresume_tty):
|
|
* minibuf.c (read_minibuf, run_exit_minibuf_hook):
|
|
* window.c (temp_output_buffer_show):
|
|
* insdel.c (signal_before_change):
|
|
* frame.c (Fhandle_switch_frame):
|
|
* fileio.c (Fdo_auto_save):
|
|
* emacs.c (Fkill_emacs):
|
|
* editfns.c (save_excursion_restore):
|
|
* cmds.c (internal_self_insert):
|
|
* callint.c (Fcall_interactively):
|
|
* buffer.c (Fkill_all_local_variables):
|
|
* keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
|
|
Use Frun_hooks.
|
|
(command_loop_1): Use Frun_hooks. Call safe_run_hooks
|
|
unconditionally since it does the check itself.
|
|
|
|
2011-03-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix more problems found by GCC 4.5.2's static checks.
|
|
|
|
* coding.c (encode_coding_raw_text): Avoid unnecessary test
|
|
the first time through the loop, since we know p0 < p1 then.
|
|
This also avoids a gcc -Wstrict-overflow warning.
|
|
|
|
* lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
|
|
leading to a memory leak, possible in functions like
|
|
load_charset_map_from_file that can allocate an unbounded number
|
|
of objects (Bug#8318).
|
|
|
|
* xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
|
|
that could (at least in theory) be that large.
|
|
|
|
* xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
|
|
This is less likely to overflow, and avoids undefined behavior if
|
|
overflow does occur. All callers changed. Use strtoul to scan
|
|
for the unsigned long integer.
|
|
(pint2hrstr): Simplify and tune code slightly.
|
|
This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
|
|
|
|
* scroll.c (do_scrolling): Work around GCC bug 48228.
|
|
See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
|
|
|
|
* frame.c (Fmodify_frame_parameters): Simplify loop counter.
|
|
This also avoids a warning with gcc -Wstrict-overflow.
|
|
(validate_x_resource_name): Simplify count usage.
|
|
This also avoids a warning with gcc -Wstrict-overflow.
|
|
|
|
* fileio.c (Fcopy_file): Report error if fchown or fchmod
|
|
fail (Bug#8306).
|
|
|
|
* emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
|
|
|
|
* process.c (Fmake_network_process): Use socklen_t, not int,
|
|
where POSIX says socklen_t is required in portable programs.
|
|
This fixes a porting bug on hosts like 64-bit HP-UX, where
|
|
socklen_t is wider than int (Bug#8277).
|
|
(Fmake_network_process, server_accept_connection):
|
|
(wait_reading_process_output, read_process_output):
|
|
Likewise.
|
|
|
|
* process.c: Rename or move locals to avoid shadowing.
|
|
(list_processes_1, Fmake_network_process):
|
|
(read_process_output_error_handler, exec_sentinel_error_handler):
|
|
Rename or move locals.
|
|
(Fmake_network_process): Define label "retry_connect" only if needed.
|
|
(Fnetwork_interface_info): Fix pointer signedness.
|
|
(process_send_signal): Add cast to avoid pointer signedness problem.
|
|
(FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
|
|
(create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
|
|
|
|
Make tparam.h and terminfo.c consistent.
|
|
* cm.c (tputs, tgoto, BC, UP): Remove extern decls.
|
|
Include tparam.h instead, since it declares them.
|
|
* cm.h (PC): Remove extern decl; tparam.h now does this.
|
|
* deps.mk (cm.o, terminfo.o): Depend on tparam.h.
|
|
* terminfo.c: Include tparam.h, to check interfaces.
|
|
(tparm): Make 1st arg a const pointer in decl. Put it at top level.
|
|
(tparam): Adjust signature to match interface in tparam.h;
|
|
this removes some undefined behavior. Check that outstring and len
|
|
are zero, which they always are with Emacs.
|
|
* tparam.h (PC, BC, UP): New extern decls.
|
|
|
|
* xftfont.c (xftfont_shape): Now static, and defined only if needed.
|
|
(xftfont_open): Rename locals to avoid shadowing.
|
|
|
|
* ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
|
|
(ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
|
|
(OTF_TAG_SYM): Omit macro if not needed.
|
|
(ftfont_list): Remove unused local.
|
|
(get_adstyle_property, ftfont_pattern_entity):
|
|
(ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
|
|
Rename locals to avoid shadowing.
|
|
|
|
* xfont.c (xfont_list_family): Mark var as initialized.
|
|
|
|
* xml.c (make_dom): Now static.
|
|
|
|
* composite.c (composition_compute_stop_pos): Rename local to
|
|
avoid shadowing.
|
|
(composition_reseat_it): Remove unused locals.
|
|
(find_automatic_composition, composition_adjust_point): Likewise.
|
|
(composition_update_it): Mark var as initialized.
|
|
(find_automatic_composition): Mark vars as initialized,
|
|
with a FIXME (Bug#8290).
|
|
|
|
character.h: Rename locals to avoid shadowing.
|
|
* character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
|
|
(FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
|
|
(FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
|
|
(BUF_DEC_POS): Be more systematic about renaming local temporaries
|
|
to avoid shadowing.
|
|
|
|
* textprop.c (property_change_between_p): Remove; unused.
|
|
|
|
* intervals.c (interval_start_pos): Now static.
|
|
|
|
* intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
|
|
|
|
* atimer.c (start_atimer, append_atimer_lists, set_alarm):
|
|
Rename locals to avoid shadowing.
|
|
|
|
* sound.c (wav_play, au_play, Fplay_sound_internal):
|
|
Fix pointer signedness.
|
|
(alsa_choose_format): Remove unused local var.
|
|
(wav_play): Initialize a variable to 0, to prevent undefined
|
|
behavior (Bug#8278).
|
|
|
|
* region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
|
|
|
|
* region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
|
|
|
|
* callproc.c (Fcall_process): Use 'volatile' to avoid vfork
|
|
clobbering (Bug#8298).
|
|
* sysdep.c (sys_subshell): Likewise.
|
|
Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
|
|
|
|
* lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
|
|
This should get cleaned up, so that child_setup has the
|
|
same signature on all platforms.
|
|
|
|
* callproc.c (call_process_cleanup): Now static.
|
|
(relocate_fd): Rename locals to avoid shadowing.
|
|
|
|
2011-03-22 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* xterm.c (x_clear_frame): Remove XClearWindow call. This appears
|
|
not to be necessary, and produces flickering.
|
|
|
|
2011-03-20 Glenn Morris <rgm@gnu.org>
|
|
|
|
* config.in: Remove file.
|
|
|
|
2011-03-20 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* minibuf.c (Vcompleting_read_function): Don't declare, global variables
|
|
are now in src/globals.h.
|
|
(syms_of_minibuf): Remove spurious & from previous change.
|
|
|
|
2011-03-20 Leo Liu <sdl.web@gmail.com>
|
|
|
|
* minibuf.c (completing-read-function): New variable.
|
|
(completing-read-default): Rename from completing-read.
|
|
(completing-read): Call completing-read-function.
|
|
|
|
2011-03-19 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* xfaces.c (Fx_load_color_file):
|
|
Read color file from absolute filename (bug#8250).
|
|
|
|
2011-03-19 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in: Update dependencies.
|
|
|
|
2011-03-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
|
|
|
|
2011-03-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix more problems found by GCC 4.5.2's static checks.
|
|
|
|
* process.c (make_serial_process_unwind, send_process_trap):
|
|
(sigchld_handler): Now static.
|
|
|
|
* process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
|
|
That way, the code declares only the vars that it needs.
|
|
* s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
|
|
* s/cygwin.h (PTY_ITERATION): Likewise.
|
|
* s/darwin.h (PTY_ITERATION): Likewise.
|
|
* s/gnu-linux.h (PTY_ITERATION): Likewise.
|
|
|
|
* s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
|
|
* process.c (allocate_pty): Don't declare stb unless it's needed.
|
|
|
|
* bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
|
|
(CONSTANTLIM): Remove; unused.
|
|
(METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
|
|
Define only if needed.
|
|
|
|
* unexelf.c (unexec): Name an expression,
|
|
to avoid gcc -Wbad-function-cast warning.
|
|
Use a different way to cause a compilation error if anyone uses
|
|
n rather than nn, a way that does not involve shadowing.
|
|
(ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
|
|
|
|
* deps.mk (unexalpha.o): Remove; unused.
|
|
|
|
New file unexec.h, the (simple) interface for unexec (Bug#8267).
|
|
* unexec.h: New file.
|
|
* deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
|
|
(unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
|
|
Depend on unexec.h.
|
|
* emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
|
|
* unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
|
|
* unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
|
|
Change as necessary to match prototype in unexec.h.
|
|
|
|
* syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
|
|
shadowing.
|
|
(back_comment, skip_chars): Mark vars as initialized.
|
|
|
|
* character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
|
|
Rename locals to avoid shadowing.
|
|
|
|
* lread.c (read1): Rewrite so as not to use empty "else".
|
|
(Fload, readevalloop, read1): Rename locals to avoid shadowing.
|
|
|
|
* print.c (Fredirect_debugging_output): Fix pointer signedess.
|
|
|
|
* lisp.h (debug_output_compilation_hack): Add decl here, to avoid
|
|
warning when compiling print.c.
|
|
|
|
* font.c (font_unparse_fcname): Abort in an "impossible" situation
|
|
instead of using an uninitialized var.
|
|
(font_sort_entities): Mark var as initialized.
|
|
|
|
* character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
|
|
|
|
* font.c (font_unparse_xlfd): Don't mix pointers to variables with
|
|
pointers to constants.
|
|
(font_parse_fcname): Remove unused vars.
|
|
(font_delete_unmatched): Now static.
|
|
(font_get_spec): Remove; unused.
|
|
(font_style_to_value, font_prop_validate_style, font_unparse_fcname):
|
|
(font_update_drivers, Ffont_get_glyphs, font_add_log):
|
|
Rename or move locals to avoid shadowing.
|
|
|
|
* fns.c (require_nesting_list, require_unwind): Now static.
|
|
(Ffillarray): Rename locals to avoid shadowing.
|
|
|
|
* floatfns.c (domain_error2): Define only if needed.
|
|
(Ffrexp, Fldexp): Rename locals to avoid shadowing.
|
|
|
|
* alloc.c (mark_backtrace): Move decl from here ...
|
|
* lisp.h: ... to here, so that it can be checked.
|
|
|
|
* eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
|
|
(Fdefvar): Rewrite so as not to use empty "else".
|
|
(lisp_indirect_variable): Name an expression,
|
|
to avoid gcc -Wbad-function-cast warning.
|
|
(Fdefvar): Rename locals to avoid shadowing.
|
|
|
|
* callint.c (quotify_arg, quotify_args): Now static.
|
|
(Fcall_interactively): Rename locals to avoid shadowing.
|
|
Use const pointer when appropriate.
|
|
|
|
* lisp.h (get_system_name, get_operating_system_release):
|
|
Move decls here, to check interfaces.
|
|
* process.c (get_operating_system_release): Move decl to lisp.h.
|
|
* xrdb.c (get_system_name): Likewise.
|
|
* editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
|
|
(Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
|
|
some of which prompt warnings from gcc -Wbad-function-cast.
|
|
(Fformat_time_string, Fencode_time, Finsert_char):
|
|
(Ftranslate_region_internal, Fformat):
|
|
Rename or remove local vars to avoid shadowing.
|
|
(Ftranslate_region_internal): Mark var as initialized.
|
|
|
|
* doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
|
|
avoid shadowing.
|
|
|
|
* lisp.h (eassert): Check that the argument compiles, even if
|
|
ENABLE_CHECKING is not defined.
|
|
|
|
* data.c (Findirect_variable): Name an expression, to avoid
|
|
gcc -Wbad-function-cast warning.
|
|
(default_value, arithcompare, arith_driver, arith_error): Now static.
|
|
(store_symval_forwarding): Rename local to avoid shadowing.
|
|
(Fmake_variable_buffer_local, Fmake_local_variable):
|
|
Mark variables as initialized.
|
|
(do_blv_forwarding, do_symval_forwarding): Remove; unused.
|
|
|
|
* alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
|
|
(Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
|
|
Rename locals to avoid shadowing.
|
|
(mark_stack): Move local variables into the #ifdef region where
|
|
they're used.
|
|
(BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
|
|
! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
|
|
needed otherwise.
|
|
(CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
|
|
(GC_STRING_CHARS): Remove; not used.
|
|
(Fmemory_limit): Cast sbrk's returned value to char *.
|
|
|
|
* lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
|
|
avoids undefined behavior in theory.
|
|
|
|
* regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
|
|
|
|
Use functions, not macros, for up- and down-casing (Bug#8254).
|
|
* buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
|
|
(NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
|
|
to use the following functions instead of these macros.
|
|
(downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
|
|
EMACS_INT, since callers assume the returned value fits in int.
|
|
(upcase1): Likewise, for UPCASE_TABLE.
|
|
(uppercasep, lowercasep, upcase): New static inline functions.
|
|
* editfns.c (Fchar_equal): Remove no-longer-needed workaround for
|
|
the race-condition problem in the old DOWNCASE.
|
|
|
|
* regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
|
|
Rename locals to avoid shadowing.
|
|
(regex_compile, re_match_2_internal): Move locals to avoid shadowing.
|
|
(regex_compile, re_search_2, re_match_2_internal):
|
|
Remove unused local vars.
|
|
(FREE_VAR): Rewrite so as not to use empty "else",
|
|
which gcc can warn about.
|
|
(regex_compile, re_match_2_internal): Mark locals as initialized.
|
|
(RETALLOC_IF): Define only if needed.
|
|
(WORDCHAR_P): Likewise. This one is never needed, but is used
|
|
only in a comment talking about a compiler bug, so put inside
|
|
the #if 0 of that comment.
|
|
(CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
|
|
(PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
|
|
Remove; unused.
|
|
|
|
* search.c (boyer_moore): Rename locals to avoid shadowing.
|
|
* character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
|
|
(PREV_CHAR_BOUNDARY): Likewise.
|
|
|
|
* search.c (simple_search): Remove unused var.
|
|
|
|
* dired.c (compile_pattern): Move decl from here ...
|
|
* lisp.h: ... to here, so that it can be checked.
|
|
(struct re_registers): New forward decl.
|
|
|
|
* character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
|
|
|
|
* indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
|
|
All uses changed.
|
|
(MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
|
|
Rename locals to avoid shadowing.
|
|
(Fvertical_motion): Mark locals as initialized.
|
|
|
|
* casefiddle.c (casify_object, casify_region): Now static.
|
|
(casify_region): Mark local as initialized.
|
|
|
|
* cmds.c (internal_self_insert): Rename local to avoid shadowing.
|
|
|
|
* lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
|
|
New macros, so that the caller can use some names other than
|
|
gcpro1, gcpro2, etc.
|
|
(GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
|
|
of the new macros.
|
|
(GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
|
|
argument, for consistency with GCPRO2_VAR, etc: it is now the
|
|
prefix of the variable, not the variable itself. All uses
|
|
changed.
|
|
* dired.c (directory_files_internal, file_name_completion):
|
|
Rename locals to avoid shadowing.
|
|
|
|
Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
|
|
An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
|
|
dired.c's scmp function, had undefined behavior.
|
|
* lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
|
|
(NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
|
|
* buffer.h: ... to here, because these macros use current_buffer,
|
|
and the new implementation with inline functions needs to have
|
|
current_buffer in scope now, rather than later when the macros
|
|
are used.
|
|
(downcase, upcase1): New static inline functions.
|
|
(DOWNCASE, UPCASE1): Reimplement using these functions.
|
|
This avoids undefined behavior in expressions like
|
|
DOWNCASE (x) == DOWNCASE (y), which previously suffered
|
|
from race conditions in accessing the global variables
|
|
case_temp1 and case_temp2.
|
|
* casetab.c (case_temp1, case_temp2): Remove; no longer needed.
|
|
* lisp.h (case_temp1, case_temp2): Remove their decls.
|
|
* character.h (ASCII_CHAR_P): Move from here ...
|
|
* lisp.h: ... to here, so that the inline functions mentioned
|
|
above can use them.
|
|
|
|
* dired.c (directory_files_internal_unwind): Now static.
|
|
|
|
* fileio.c (file_name_as_directory, directory_file_name):
|
|
(barf_or_query_if_file_exists, auto_save_error, auto_save_1):
|
|
Now static.
|
|
(file_name_as_directory): Use const pointers when appropriate.
|
|
(Fexpand_file_name): Likewise. In particular, newdir might
|
|
point at constant storage, so make it a const pointer.
|
|
(Fmake_directory_internal, Fread_file_name): Remove unused vars.
|
|
(Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
|
|
signedness issues.
|
|
(Fset_file_times, Finsert_file_contents, auto_save_error):
|
|
Rename locals to avoid shadowing.
|
|
|
|
* minibuf.c (choose_minibuf_frame_1): Now static.
|
|
(Ftry_completion, Fall_completions): Rename or remove locals
|
|
to avoid shadowing.
|
|
|
|
* marker.c (bytepos_to_charpos): Remove; unused.
|
|
|
|
* lisp.h (verify_bytepos, count_markers): New decls,
|
|
so that gcc does not warn that these functions aren't declared.
|
|
|
|
* insdel.c (check_markers, make_gap_larger, make_gap_smaller):
|
|
(reset_var_on_error, Fcombine_after_change_execute_1): Now static.
|
|
(CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
|
|
(copy_text): Remove unused local var.
|
|
|
|
* filelock.c (within_one_second): Now static.
|
|
(lock_file_1): Rename local to avoid shadowing.
|
|
|
|
* buffer.c (fix_overlays_before): Mark locals as initialized.
|
|
(fix_start_end_in_overlays): Likewise. This function should be
|
|
simplified by using pointers-to-pointers, but that's a different
|
|
matter.
|
|
(switch_to_buffer_1): Now static.
|
|
(Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
|
|
(report_overlay_modification): Rename locals to avoid shadowing.
|
|
|
|
* sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
|
|
Fix pointer signedness issue.
|
|
(sys_subshell): Mark local as volatile if checking for lint,
|
|
to suppress a gcc -Wclobbered warning that does not seem to be right.
|
|
(MAXPATHLEN): Define only if needed.
|
|
|
|
* process.c (serial_open, serial_configure): Move decls from here ...
|
|
* systty.h: ... to here, so that they can be checked.
|
|
|
|
* fns.c (get_random, seed_random): Move extern decls from here ...
|
|
* lisp.h: ... to here, so that they can be checked.
|
|
|
|
* sysdep.c (reset_io): Now static.
|
|
(wait_for_termination_signal): Remove; unused.
|
|
|
|
* keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
|
|
(copy_keymap_item, append_key, push_text_char_description):
|
|
Now static.
|
|
(Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
|
|
(DENSE_TABLE_SIZE): Remove; unused.
|
|
(get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
|
|
(describe_map_tree):
|
|
Rename locals to avoid shadowing.
|
|
|
|
* keyboard.c: Declare functions static if they are not used elsewhere.
|
|
(echo_char, echo_dash, cmd_error, top_level_2):
|
|
(poll_for_input, handle_async_input): Now static.
|
|
(read_char, kbd_buffer_get_event, make_lispy_position):
|
|
(make_lispy_event, make_lispy_movement, apply_modifiers):
|
|
(decode_keyboard_code, tty_read_avail_input, menu_bar_items):
|
|
(parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
|
|
(Fread_key_sequence_vector): Rename locals to avoid shadowing.
|
|
(read_key_sequence, read_char): Mark locals as initialized.
|
|
(Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
|
|
|
|
* keyboard.h (make_ctrl_char): New decl.
|
|
(mark_kboards): Move decl here ...
|
|
* alloc.c (mark_kboards): ... from here.
|
|
|
|
* lisp.h (force_auto_save_soon): New decl.
|
|
|
|
* emacs.c (init_cmdargs): Rename local to avoid shadowing.
|
|
(DEFINE_DUMMY_FUNCTION): New macro.
|
|
(__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
|
|
Use it.
|
|
(main): Add casts to avoid warnings
|
|
if GCC considers string literals to be constants.
|
|
|
|
* lisp.h (fatal_error_signal): Add decl, since it's exported.
|
|
|
|
* dbusbind.c: Pointer signedness fixes.
|
|
(xd_signature, xd_append_arg, xd_initialize):
|
|
(Fdbus_call_method, Fdbus_call_method_asynchronously):
|
|
(Fdbus_method_return_internal, Fdbus_method_error_internal):
|
|
(Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
|
|
(Fdbus_register_signal): Use SSDATA when the context wants char *.
|
|
|
|
* dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
|
|
if GCC considers string literals to be constants.
|
|
(Fdbus_register_service, Fdbus_register_method): Remove unused vars.
|
|
|
|
2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
|
|
(print_preprocess, print_object): New macro to fix last change.
|
|
|
|
* print.c (print_preprocess): Don't forget font objects.
|
|
|
|
2011-03-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* emacs.c (USAGE3): Doc fixes.
|
|
|
|
2011-03-15 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* coding.c (detect_coding_iso_2022): Reorganize code to clarify
|
|
structure.
|
|
|
|
2011-03-14 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* lisp.h (VWindow_system, Qfile_name_history):
|
|
* keyboard.h (lispy_function_keys) [WINDOWSNT]:
|
|
* w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
|
|
(w32_system_caret_x, w32_system_caret_y): Declare extern.
|
|
|
|
* w32select.c: Don't #include "keyboard.h".
|
|
(run_protected): Add extern declaration for waiting_for_input.
|
|
|
|
* w32.c (Qlocal, noninteractive1, inhibit_window_system):
|
|
* w32console.c (detect_input_pending, read_input_pending)
|
|
(encode_terminal_code):
|
|
* w32fns.c (quit_char, lispy_function_keys, Qtooltip)
|
|
(w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
|
|
(w32_system_caret_y, Qfile_name_history):
|
|
* w32font.c (w32font_driver, QCantialias, QCotf, QClang):
|
|
* w32inevt.c (reinvoke_input_signal, lispy_function_keys):
|
|
* w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
|
|
(Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
|
|
* w32proc.c (Qlocal, report_file_error):
|
|
* w32term.c (Vwindow_system, updating_frame):
|
|
* w32uniscribe.c (initialized, uniscribe_font_driver):
|
|
Remove unneeded extern declarations.
|
|
|
|
2011-03-14 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
|
|
|
|
2011-03-13 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
* buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
|
|
(BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
|
|
These macros can no longer be used for assignment.
|
|
|
|
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
|
|
Assign struct members directly, instead of using BUF_BEGV etc.
|
|
(record_buffer_markers, fetch_buffer_markers): New functions for
|
|
recording and fetching special buffer markers.
|
|
(set_buffer_internal_1, set_buffer_temp): Use them.
|
|
|
|
* lread.c (unreadchar): Use SET_BUF_PT_BOTH.
|
|
|
|
* insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
|
|
|
|
* intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
|
|
(get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
|
|
|
|
* xdisp.c (hscroll_window_tree):
|
|
(reconsider_clip_changes): Use PT instead of BUF_PT.
|
|
|
|
2011-03-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
|
|
$(EMACS_ROOT)/lib/intprops.h.
|
|
|
|
2011-03-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix more problems found by GCC 4.5.2's static checks.
|
|
|
|
* gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
|
|
to unsigned char * to avoid compiler diagnostic.
|
|
(xg_free_frame_widgets): Make it clear that a local variable is
|
|
needed only if USE_GTK_TOOLTIP.
|
|
(gdk_window_get_screen): Make it clear that this macro is needed
|
|
only if USE_GTK_TOOLTIP.
|
|
(int_gtk_range_get_value): New function, which avoids a diagnostic
|
|
from gcc -Wbad-function-cast.
|
|
(xg_set_toolkit_scroll_bar_thumb): Use it.
|
|
(xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
|
|
diagnostic from gcc -Wbad-function-cast.
|
|
(get_utf8_string, xg_get_file_with_chooser):
|
|
Rename locals to avoid shadowing.
|
|
(create_dialog): Move locals to avoid shadowing.
|
|
|
|
* xgselect.c (xg_select): Remove unused var.
|
|
|
|
* image.c (four_corners_best): Mark locals as initialized.
|
|
(gif_load): Initialize transparent_p to zero (Bug#8238).
|
|
Mark another local as initialized.
|
|
(my_png_error, my_error_exit): Mark with NO_RETURN.
|
|
|
|
* image.c (clear_image_cache): Now static.
|
|
(DIM, HAVE_STDLIB_H_1): Remove unused macros.
|
|
(xpm_load): Redo to avoid "discards qualifiers" gcc warning.
|
|
(x_edge_detection): Remove unnecessary cast that
|
|
gcc -Wbad-function-cast diagnoses.
|
|
(gif_load): Fix pointer signedness.
|
|
(clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
|
|
(jpeg_load, gif_load): Rename locals to avoid shadowing.
|
|
|
|
2011-03-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Improve quality of tests for time stamp overflow.
|
|
For example, without this patch (encode-time 0 0 0 1 1
|
|
1152921504606846976) returns the obviously-bogus value (-948597
|
|
62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
|
|
reports time overflow. See
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
|
|
* deps.mk (editfns.o): Depend on ../lib/intprops.h.
|
|
* editfns.c: Include limits.h and intprops.h.
|
|
(TIME_T_MIN, TIME_T_MAX): New macros.
|
|
(time_overflow): Move earlier, to before first use.
|
|
(hi_time, lo_time): New functions, for an accurate test for
|
|
out-of-range times.
|
|
(Fcurrent_time, Fget_internal_run_time, make_time): Use them.
|
|
(Fget_internal_run_time): Don't assume time_t fits in int.
|
|
(make_time): Use list2 instead of Fcons twice.
|
|
(Fdecode_time): More accurate test for out-of-range times.
|
|
(check_tm_member): New function.
|
|
(Fencode_time): Use it, to test for out-of-range times.
|
|
(lisp_time_argument): Don't rely on undefined left-shift and
|
|
right-shift behavior when checking for time stamp overflow.
|
|
|
|
* editfns.c (time_overflow): New function, refactoring common code.
|
|
(Fformat_time_string, Fdecode_time, Fencode_time):
|
|
(Fcurrent_time_string): Use it.
|
|
|
|
Move 'make_time' to be next to its inverse 'lisp_time_argument'.
|
|
* dired.c (make_time): Move to ...
|
|
* editfns.c (make_time): ... here.
|
|
* systime.h: Note the move.
|
|
|
|
2011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* fringe.c (update_window_fringes): Remove unused variables.
|
|
|
|
* unexmacosx.c (copy_data_segment): Also copy __got section.
|
|
(Bug#8223)
|
|
|
|
2011-03-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* termcap.c [MSDOS]: Include "msdos.h".
|
|
(find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
|
|
Constify `char *' arguments and their references according to
|
|
prototypes in tparam.h.
|
|
|
|
* deps.mk (termcap.o): Depend on tparam.h and msdos.h.
|
|
|
|
* msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
|
|
Adapt all references accordingly.
|
|
|
|
* msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
|
|
|
|
2011-03-11 Tom Tromey <tromey@redhat.com>
|
|
|
|
* buffer.c (syms_of_buffer): Remove obsolete comment.
|
|
|
|
2011-03-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* termhooks.h (encode_terminal_code): Declare prototype.
|
|
|
|
* msdos.c (encode_terminal_code): Don't declare prototype.
|
|
|
|
* term.c (encode_terminal_code): Now external again, used by
|
|
w32console.c and msdos.c.
|
|
|
|
* makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
|
|
Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
|
|
|
|
2011-03-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix some minor problems found by GCC 4.5.2's static checks.
|
|
|
|
* fringe.c (update_window_fringes): Mark locals as initialized
|
|
(Bug#8227).
|
|
(destroy_fringe_bitmap, init_fringe_bitmap): Now static.
|
|
|
|
* alloc.c (mark_fringe_data): Move decl from here ...
|
|
* lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
|
|
to check its interface.
|
|
(init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
|
|
|
|
* fontset.c (free_realized_fontset): Now static.
|
|
(Fset_fontset_font): Rename local to avoid shadowing.
|
|
(fontset_font): Mark local as initialized.
|
|
(FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
|
|
|
|
* xrdb.c: Include "xterm.h", to check x_load_resources's interface.
|
|
|
|
* xselect.c (x_disown_buffer_selections): Remove; not used.
|
|
(TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
|
|
(x_own_selection, Fx_disown_selection_internal): Rename locals
|
|
to avoid shadowing.
|
|
(x_handle_dnd_message): Remove local to avoid shadowing.
|
|
|
|
* lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
|
|
so that the caller can use some name other than gcpro1.
|
|
(GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
|
|
* xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
|
|
(Fx_backspace_delete_keys_p):
|
|
Use them to avoid shadowing, and rename vars to avoid shadowing.
|
|
(x_decode_color, x_set_name, x_window): Now static.
|
|
(Fx_create_frame): Add braces to silence GCC warning.
|
|
(Fx_file_dialog, Fx_select_font): Fix pointer signedness.
|
|
(x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
|
|
Remove unused locals.
|
|
(Fx_create_frame, x_create_tip_frame, Fx_show_tip):
|
|
(Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
|
|
Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
|
|
macros.
|
|
|
|
* xterm.h (x_mouse_leave): New decl.
|
|
|
|
* xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
|
|
Remove unused functions.
|
|
(x_shift_glyphs_for_insert, XTflash, XTring_bell):
|
|
(x_calc_absolute_position): Now static.
|
|
(XTread_socket): Don't define label "out" unless it's used.
|
|
Don't declare local "event" unless it's used.
|
|
(x_iconify_frame, x_free_frame_resources): Don't declare locals
|
|
unless they are used.
|
|
(XEMBED_VERSION, xembed_set_info): Don't define unless needed.
|
|
(x_fatal_error_signal): Remove; not used.
|
|
(x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
|
|
(x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
|
|
(x_error_catcher, x_connection_closed, x_error_handler):
|
|
(x_error_quitter, xembed_send_message, x_iconify_frame):
|
|
(my_log_handler): Rename locals to avoid shadowing.
|
|
(x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
|
|
(x_connection_closed): Tell GCC not to suggest NO_RETURN.
|
|
|
|
* xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
|
|
Rename or move locals to avoid shadowing.
|
|
(tty_defined_color, merge_face_heights): Now static.
|
|
(free_realized_faces_for_fontset): Remove; not used.
|
|
(Fx_list_fonts): Mark variable that gcc -Wuninitialized
|
|
does not deduce is never used uninitialized.
|
|
(STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
|
|
(LFACEP): Define only if XASSERTS, as it's not needed otherwise.
|
|
|
|
* terminal.c (store_terminal_param): Now static.
|
|
|
|
* xmenu.c (menu_highlight_callback): Now static.
|
|
(set_frame_menubar): Remove unused local.
|
|
(xmenu_show): Rename parameter to avoid shadowing.
|
|
(xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
|
|
since they might point to immutable storage.
|
|
(next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
|
|
since it's unused otherwise.
|
|
|
|
* xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
|
|
Add a FIXME, since the code still doesn't look right. (Bug#8215)
|
|
(Fcurrent_bidi_paragraph_direction): Simplify slightly; this
|
|
avoids a gcc -Wuninitialized diagnostic.
|
|
(display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
|
|
(note_mouse_highlight): Mark variables that gcc -Wuninitialized
|
|
does not deduce are never used uninitialized.
|
|
|
|
* lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
|
|
|
|
* xdisp.c (redisplay_window): Rename local to avoid shadowing.
|
|
* window.c (window_loop, size_window):
|
|
(run_window_configuration_change_hook, enlarge_window): Likewise.
|
|
|
|
* window.c (display_buffer): Now static.
|
|
(size_window): Mark variables that gcc -Wuninitialized
|
|
does not deduce are never used uninitialized.
|
|
* window.h (check_all_windows): New decl, to forestall
|
|
gcc -Wmissing-prototypes diagnostic.
|
|
* dispextern.h (bidi_dump_cached_states): Likewise.
|
|
|
|
* charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
|
|
shadowing.
|
|
* charset.c (map_charset_for_dump, Fchar_charset): Likewise.
|
|
Include <limits.h>.
|
|
(Fsort_charsets): Redo min/max calculation to shorten the code a bit
|
|
and to avoid gcc -Wuninitialized warning.
|
|
(load_charset_map): Mark variables that gcc -Wuninitialized
|
|
does not deduce are never used uninitialized.
|
|
(load_charset): Abort instead of using uninitialized var (Bug#8229).
|
|
|
|
* coding.c (coding_set_source, coding_set_destination):
|
|
Use "else { /* comment */ }" rather than "else /* comment */;"
|
|
for clarity, and to avoid gcc -Wempty-body warning.
|
|
(Fdefine_coding_system_internal): Don't redeclare 'i' inside
|
|
a block, when the outer 'i' will do.
|
|
(decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
|
|
(emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
|
|
(decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
|
|
(decode_coding_raw_text, decode_coding_charset, get_translation_table):
|
|
(Fdecode_sjis_char, Fdefine_coding_system_internal):
|
|
Rename locals to avoid shadowing.
|
|
* character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
|
|
* coding.c (emacs_mule_char, encode_invocation_designation):
|
|
Now static, since they're not used elsewhere.
|
|
(decode_coding_iso_2022): Add "default: abort ();" as a safety check.
|
|
(decode_coding_object, encode_coding_object, detect_coding_system):
|
|
(decode_coding_emacs_mule): Mark variables that gcc
|
|
-Wuninitialized does not deduce are never used uninitialized.
|
|
(detect_coding_iso_2022): Initialize a local variable that might
|
|
be used uninitialized. Leave a FIXME because it's not clear that
|
|
this initialization is needed. (Bug#8211)
|
|
(ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
|
|
(ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
|
|
(SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
|
|
(ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
|
|
Remove unused macros.
|
|
|
|
* category.c (hash_get_category_set): Remove unused local var.
|
|
(copy_category_table): Now static, since it's not used elsewhere.
|
|
* character.c (string_count_byte8): Likewise.
|
|
|
|
* ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
|
|
(Fregister_code_conversion_map): Rename locals to avoid shadowing.
|
|
|
|
* chartab.c (copy_sub_char_table): Now static, since it's not used
|
|
elsewhere.
|
|
(sub_char_table_ref_and_range, char_table_ref_and_range):
|
|
Rename locals to avoid shadowing.
|
|
(ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
|
|
|
|
* bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
|
|
(BIDI_BOB): Remove unused macro.
|
|
|
|
* cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
|
|
deduce are never used uninitialized.
|
|
* term.c (encode_terminal_code): Likewise.
|
|
|
|
* term.c (encode_terminal_code): Now static. Remove unused local.
|
|
|
|
* tparam.h: New file.
|
|
* term.c, tparam.h: Include it.
|
|
* deps.mk (term.o, tparam.o): Depend on tparam.h.
|
|
* term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
|
|
Move these decls to tparam.h, and make them agree with what
|
|
is actually in tparam.c. The previous trick of using incompatible
|
|
decls in different modules does not conform to the C standard.
|
|
All callers of tparam changed to use tparam's actual API.
|
|
* tparam.c (tparam1, tparam, tgoto):
|
|
Use const pointers where appropriate.
|
|
|
|
* cm.c (calccost, cmgoto): Use const pointers where appropriate.
|
|
* cm.h (struct cm): Likewise.
|
|
* dispextern.h (do_line_insertion_deletion_costs): Likewise.
|
|
* scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
|
|
* term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
|
|
(term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
|
|
(turn_on_face, init_tty): Likewise.
|
|
* termchar.h (struct tty_display_info): Likewise.
|
|
|
|
* term.c (term_mouse_position): Rename local to avoid shadowing.
|
|
|
|
* alloc.c (mark_ttys): Move decl from here ...
|
|
* lisp.h (mark_ttys): ... to here, so that it's checked against defn.
|
|
|
|
2011-03-11 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* .gdbinit (pwinx, xbuffer): Fix access to buffer name.
|
|
|
|
2011-03-09 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* search.c (compile_pattern_1): Remove argument regp, unused since
|
|
revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
|
|
(compile_pattern): Don't pass it.
|
|
|
|
2011-03-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.h (DEFAULT_GDK_DISPLAY): New define.
|
|
(GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
|
|
for ! HAVE_GTK3.
|
|
(GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
|
|
|
|
* xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
|
|
|
|
* gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
|
|
gdk_window_get_screen, gdk_window_get_geometry,
|
|
gdk_x11_window_lookup_for_display and GDK_KEY_g.
|
|
(xg_set_screen): Use DEFAULT_GDK_DISPLAY.
|
|
(xg_get_pixbuf_from_pixmap): New function.
|
|
(xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
|
|
to Pixmap, take frame as parameter, remove GdkColormap parameter.
|
|
Call xg_get_pixbuf_from_pixmap instead of
|
|
gdk_pixbuf_get_from_drawable.
|
|
(xg_get_image_for_pixmap): Do not make GdkPixmaps, call
|
|
xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
|
|
(xg_check_special_colors): Use GtkStyleContext and its functions
|
|
for HAVE_GTK3.
|
|
(xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
|
|
(xg_prepare_tooltip, create_dialog, menubar_map_cb)
|
|
(xg_update_frame_menubar, xg_tool_bar_detach_callback)
|
|
(xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
|
|
Call gtk_widget_get_preferred_size.
|
|
(xg_frame_resized): gdk_window_get_geometry only takes 5
|
|
parameters.
|
|
(xg_win_to_widget, xg_event_is_for_menubar):
|
|
Call gdk_x11_window_lookup_for_display.
|
|
(xg_set_widget_bg): New function.
|
|
(delete_cb): New function.
|
|
(xg_create_frame_widgets): Connect delete-event to delete_cb.
|
|
Call xg_set_widget_bg. Only set background pixmap for ! HAVE_GTK3
|
|
(xg_set_background_color): Call xg_set_widget_bg.
|
|
(xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
|
|
(xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
|
|
Only call gtk_range_set_update_policy if ! HAVE_GTK3.
|
|
(xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
|
|
if ! HAVE_GTK3.
|
|
(update_frame_tool_bar): Call gtk_widget_hide.
|
|
(xg_initialize): Use GDK_KEY_g.
|
|
|
|
* xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
|
|
if ! HAVE_GTK3
|
|
(x_session_initialize): Call gdk_x11_set_sm_client_id.
|
|
|
|
* xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
|
|
(x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
|
|
Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
|
|
|
|
2011-03-08 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32xfns.c (select_palette): Check success of RealizePalette against
|
|
GDI_ERROR, not zero.
|
|
|
|
See ChangeLog.11 for earlier changes.
|
|
|
|
;; Local Variables:
|
|
;; coding: utf-8
|
|
;; End:
|
|
|
|
Copyright (C) 2011-2012 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/>.
|