]> git.eshelyaron.com Git - emacs.git/log
emacs.git
11 years ago* src/xwidget.c: Redraw only the views on damage-event.
Grégoire Jadi [Thu, 25 Jul 2013 13:33:11 +0000 (15:33 +0200)]
* src/xwidget.c: Redraw only the views on damage-event.

11 years ago* src/xwidget.c (Fmake_xwidget): Remove dead code.
Grégoire Jadi [Thu, 25 Jul 2013 13:33:11 +0000 (15:33 +0200)]
* src/xwidget.c (Fmake_xwidget): Remove dead code.

11 years agoAlways store GTK Widget as GtkWidget*.
Grégoire Jadi [Thu, 25 Jul 2013 13:33:10 +0000 (15:33 +0200)]
Always store GTK Widget as GtkWidget*.

* src/xwidget.h (struct xwidget): GtkContainer -> GtkWidget for
widgetwindow_osr.
(struct xwidget_view): GtkContainer -> GtkWidget for widgetwindow and
emacswindow.

11 years ago* lisp/xwidget.el (xwidget-delete-zombies): Rewrite with dolist/memq
Grégoire Jadi [Thu, 25 Jul 2013 13:30:30 +0000 (15:30 +0200)]
* lisp/xwidget.el (xwidget-delete-zombies): Rewrite with dolist/memq
instead of mapcar/find.

11 years agoMerge branch 'trunk' into xwidget
Joakim Verona [Fri, 19 Jul 2013 23:44:36 +0000 (01:44 +0200)]
Merge branch 'trunk' into xwidget

11 years agoFix some minor file descriptor leaks and related glitches.
Paul Eggert [Fri, 19 Jul 2013 18:09:23 +0000 (11:09 -0700)]
Fix some minor file descriptor leaks and related glitches.

* filelock.c (create_lock_file) [!O_CLOEXEC]: Use fcntl with FD_CLOEXEC.
(create_lock_file): Use write, not emacs_write.
* image.c (slurp_file, png_load_body):
* process.c (Fnetwork_interface_list, Fnetwork_interface_info)
(server_accept_connection):
Don't leak an fd on memory allocation failure.
* image.c (slurp_file): Add a cheap heuristic for growing files.
* xfaces.c (Fx_load_color_file): Block input around the fopen too,
as that's what the other routines do.  Maybe input need not be
blocked at all, but it's better to be consistent.
Avoid undefined behavior when strlen is zero.

11 years ago* alloc.c (staticpro): Avoid buffer overrun on repeated calls.
Paul Eggert [Fri, 19 Jul 2013 17:54:26 +0000 (10:54 -0700)]
* alloc.c (staticpro): Avoid buffer overrun on repeated calls.

(NSTATICS): Now a constant; doesn't need to be a macro.

11 years ago(decode_coding_utf_8): Add simple loop for fast processing of ASCII characters.
Richard M. Stallman [Fri, 19 Jul 2013 16:15:51 +0000 (12:15 -0400)]
(decode_coding_utf_8): Add simple loop for fast processing of ASCII characters.

11 years ago* net/shr.el (shr-mouse-browse-url): New command and keystroke.
Lars Magne Ingebrigtsen [Fri, 19 Jul 2013 14:57:28 +0000 (16:57 +0200)]
* net/shr.el (shr-mouse-browse-url): New command and keystroke.

Fixes: debbugs:14815
11 years agoMerge Changes made in Gnus master
Gnus developers [Fri, 19 Jul 2013 14:50:21 +0000 (14:50 +0000)]
Merge Changes made in Gnus master

2013-07-19 Geoff Kuenning <geoff@cs.hmc.edu> (tiny change)
 * gnus.texi (Customizing Articles): Document function predicates.

2013-07-19 Geoff Kuenning <geoff@cs.hmc.edu> (tiny change)
 * gnus-art.el (gnus-treat-predicate): Allow functions as predicates (bug#13384).

2013-07-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
 * gnus-start.el (gnus-clean-old-newsrc): Remove the newsrc cleanups
 that were only relevant in a development version a long time ago.

11 years agoeww textarea input fixup
Lars Magne Ingebrigtsen [Fri, 19 Jul 2013 14:44:16 +0000 (16:44 +0200)]
eww textarea input fixup

* net/eww.el (eww-process-text-input): Allow inputting when the
point is at the start of the line, as the properties aren't
front-sticky.

11 years ago* conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization.
Paul Eggert [Fri, 19 Jul 2013 14:34:56 +0000 (07:34 -0700)]
* conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization.

11 years ago(shr-make-table-1): Ensure that we don't infloop on degenerate widths.
Lars Magne Ingebrigtsen [Fri, 19 Jul 2013 14:07:43 +0000 (16:07 +0200)]
(shr-make-table-1): Ensure that we don't infloop on degenerate widths.

11 years ago* epa.el (epa-popup-info-window): Doc fix.
Richard M. Stallman [Fri, 19 Jul 2013 13:30:58 +0000 (09:30 -0400)]
* epa.el (epa-popup-info-window): Doc fix.

11 years agoAdd a comment.
Richard M. Stallman [Fri, 19 Jul 2013 13:09:03 +0000 (09:09 -0400)]
Add a comment.

11 years agosplit-string takes a new arg TRIM that's a regexp
Richard M. Stallman [Fri, 19 Jul 2013 12:18:16 +0000 (08:18 -0400)]
split-string takes a new arg TRIM that's a regexp
saying what to trim from the start and end of each substring.

* subr.el (split-string): New arg TRIM.

11 years agoFix the fix for bug #14901.
Eli Zaretskii [Fri, 19 Jul 2013 10:55:36 +0000 (13:55 +0300)]
Fix the fix for bug #14901.

 src/keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
 unportable 'struct x_display_info'.
 (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
 is a portable type.

11 years ago* doc/lispref/windows.texi (Display Action Functions): Mention next-window.
Xue Fuqiao [Fri, 19 Jul 2013 06:31:17 +0000 (14:31 +0800)]
* doc/lispref/windows.texi (Display Action Functions): Mention next-window.

11 years ago* sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.
Paul Eggert [Fri, 19 Jul 2013 05:36:50 +0000 (22:36 -0700)]
* sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.

(procfs_ttyname): Don't use uninitialized storage if emacs_fopen
or fscanf fails.
(system_process_attributes): Prefer plain char to unsigned char
when either will do.  Clean up properly if interrupted or if
memory allocations fail.  Don't assume sscanf succeeds.  Remove
no-longer-needed workaround to stop GCC from whining.  Read
command-line once, instead of multiple times.  Check read status a
bit more carefully.

11 years agoFix obscure porting bug with varargs functions.
Paul Eggert [Fri, 19 Jul 2013 01:24:35 +0000 (18:24 -0700)]
Fix obscure porting bug with varargs functions.

The code assumed that int is treated like ptrdiff_t in a vararg
function, which is not a portable assumption.  There was a similar
-- though these days less likely -- porting problem with various
assumptions that pointers of different types all smell the same as
far as vararg functions is conserved.  To make this problem less
likely in the future, redo the API to use varargs functions.
* alloc.c (make_save_value): Remove this vararg function.
All uses changed to ...
(make_save_int_int_int, make_save_obj_obj_obj_obj)
(make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory):
New functions.
(make_save_ptr): Rename from make_save_pointer, for consistency with
the above.  Define only on platforms that need it.  All uses changed.

11 years agolisp/ChangeLog, src/ChangeLog: Fix typos.
Juanma Barranquero [Fri, 19 Jul 2013 00:38:19 +0000 (02:38 +0200)]
lisp/ChangeLog, src/ChangeLog: Fix typos.

11 years ago* keyboard.c: Try to fix typos in previous change.
Paul Eggert [Thu, 18 Jul 2013 21:16:33 +0000 (14:16 -0700)]
* keyboard.c: Try to fix typos in previous change.

(DISPLAY_LIST_INFO): New macro.
(kbd_buffer_get_event): Do not access members that are not present
in X11.  Revert nadvertent change of "!=" to "=".

11 years agoMerge pull request #8 from daimrod/gdbinit-xwidget
Joakim Verona [Thu, 18 Jul 2013 20:14:43 +0000 (13:14 -0700)]
Merge pull request #8 from daimrod/gdbinit-xwidget

* src/.gdbinit (xxwidget): Add an optional parameter.

11 years agoMerge pull request #7 from daimrod/fix-image-mode-interaction
Joakim Verona [Thu, 18 Jul 2013 20:14:17 +0000 (13:14 -0700)]
Merge pull request #7 from daimrod/fix-image-mode-interaction

Fix image mode interaction

11 years agoMerge pull request #9 from daimrod/quickfix-cairo-view
Joakim Verona [Thu, 18 Jul 2013 20:12:45 +0000 (13:12 -0700)]
Merge pull request #9 from daimrod/quickfix-cairo-view

* src/xwidget.c (xwidget_init_view): Prevent an error while displaying a

11 years ago* lisp/xwidget.el: Fix the interaction between `image-mode' and xwidget.
Grégoire Jadi [Thu, 18 Jul 2013 17:54:12 +0000 (19:54 +0200)]
* lisp/xwidget.el: Fix the interaction between `image-mode' and xwidget.
(xwidget-image-mode-navigation-adaptor
xwidget-image-mode-navigation-adaptor-p): `flet' has been deprecated and
`cl-flet' doesn't work like the old `flet', we now use a `defadvice'
around `image-display-size' instead.
(xwidget-webkit-mode-map): No need to use the adaptators now.

11 years ago* src/xwidget.c (xwidget_init_view): Prevent an error while displaying a
Grégoire Jadi [Thu, 18 Jul 2013 17:51:36 +0000 (19:51 +0200)]
* src/xwidget.c (xwidget_init_view): Prevent an error while displaying a
xwidget of type `cairo' but doesn't do anything useful.

11 years agoFollowup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
Juanma Barranquero [Thu, 18 Jul 2013 16:50:05 +0000 (18:50 +0200)]
Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
* lisp/frame.el (blink-cursor-timer-function, blink-cursor-suspend):
  Add check for W32.
* src/keyboard.c (kbd_buffer_get_event):
* src/w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.

11 years ago* test/automated/test-xwidget.el: Add XWidget test suites.
Grégoire Jadi [Thu, 18 Jul 2013 12:12:04 +0000 (14:12 +0200)]
* test/automated/test-xwidget.el: Add XWidget test suites.

11 years ago* src/xwidget.c (Fset_frame_visible): Hack to force a frame to be
Grégoire Jadi [Thu, 18 Jul 2013 12:12:03 +0000 (14:12 +0200)]
* src/xwidget.c (Fset_frame_visible): Hack to force a frame to be
considered as visible to trigger the display engine.
* lisp/xwidget.el (xwidget-display): Force the display engine to create a
xwidget_view of the given xwidget.

11 years ago* lisp/emacs-parallel/parallel.el lisp/emacs-parallel/parallel-remote.el:
Grégoire Jadi [Thu, 18 Jul 2013 12:12:03 +0000 (14:12 +0200)]
* lisp/emacs-parallel/parallel.el lisp/emacs-parallel/parallel-remote.el:
Add Emacs Parallel.

11 years agognus-art.el (gnus-shr-put-image): Make it work as well for shr.el's that the old...
Katsumi Yamaoka [Thu, 18 Jul 2013 11:26:04 +0000 (11:26 +0000)]
gnus-art.el (gnus-shr-put-image): Make it work as well for shr.el's that the old Emacs 24s bundle

11 years ago* filelock.c: Fix unlikely file descriptor leaks.
Paul Eggert [Thu, 18 Jul 2013 10:24:26 +0000 (03:24 -0700)]
* filelock.c: Fix unlikely file descriptor leaks.

(get_boot_time_1): Rework to avoid using emacs_open.
This doesn't actually fix a leak, but is better anyway.
(read_lock_data): Use read, not emacs_read.

11 years ago* filenotify.el (file-notify--library): Renamed from
Michael Albinus [Thu, 18 Jul 2013 10:03:49 +0000 (12:03 +0200)]
* filenotify.el (file-notify--library): Renamed from
`file-notify-support'.  Do not autoload.  Adapt all uses.
(file-notify-supported-p): New defun.

* autorevert.el (auto-revert-use-notify): Use
`file-notify-supported-p' instead of `file-notify-support'.  Adapt
docstring.
(auto-revert-notify-add-watch): Use `file-notify-supported-p'.

* net/tramp.el (tramp-file-name-for-operation):
Add `file-notify-supported-p'.

* net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p):
New defun.
(tramp-sh-file-name-handler-alist): Add it as handler for
`file-notify-supported-p '.

* net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Add `ignore' as handler for `file-notify-*' functions.

11 years ago* doc.c: Fix minor memory and file descriptor leaks.
Paul Eggert [Thu, 18 Jul 2013 09:55:00 +0000 (02:55 -0700)]
* doc.c: Fix minor memory and file descriptor leaks.

* doc.c (get_doc_string): Fix memory leak when doc file absent.
(get_doc_string, Fsnarf_documentation):
Fix file descriptor leak on error.

11 years ago* src/xwidget.h (xwidget): Remove old todo.
Grégoire Jadi [Thu, 18 Jul 2013 09:48:15 +0000 (11:48 +0200)]
* src/xwidget.h (xwidget): Remove old todo.

11 years ago* src/xwidget.c (Fxwidget_info): Fix a regression introduced in commit
Grégoire Jadi [Thu, 18 Jul 2013 09:48:14 +0000 (11:48 +0200)]
* src/xwidget.c (Fxwidget_info): Fix a regression introduced in commit
b4e1725be1b96b5335a12d34fdd81b99dededf54.

11 years ago* src/xwidget.c (Fxwidget_delete_zombies): Re-implemented in Lisp.
Grégoire Jadi [Thu, 18 Jul 2013 09:48:13 +0000 (11:48 +0200)]
* src/xwidget.c (Fxwidget_delete_zombies): Re-implemented in Lisp.
Note: It is not longer necessary to delete xwidget with killed buffer
here because it is done automatically when a buffer is killed.
(Fdelete_xwidget_view): New function to delete the given
xwidget-view.
* lisp/xwidget.el (xwidget-delete-zombies): Re-implementation.
* src/xwidget.c (Fxwidget_delete_zombies): Re-implemented in Lisp. Note: It is not longer necessary to delete xwidget with killed buffer here because it is done automatically when a buffer is killed. (Fdelete_xwidget_view): New function to delete the given xwidget-view. * lisp/xwidget.el (xwidget-delete-zombies): New implementation.

11 years ago* term.c: Fix minor fdopen-related file descriptor leaks.
Paul Eggert [Thu, 18 Jul 2013 08:35:27 +0000 (01:35 -0700)]
* term.c: Fix minor fdopen-related file descriptor leaks.

* term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails.
(init_tty) [!DOS_NT]: Likewise.  Also close fd if isatty (fd) fails.

11 years ago* charset.c: Fix file descriptor leaks and errno issues.
Paul Eggert [Thu, 18 Jul 2013 02:12:59 +0000 (19:12 -0700)]
* charset.c: Fix file descriptor leaks and errno issues.

Include <errno.h>.
(load_charset_map_from_file): Don't leak file descriptor on error.
Use plain record_xmalloc since the allocation is larger than
MAX_ALLOCA; that's simpler here.  Simplify test for exhaustion
of entries.
* eval.c (record_unwind_protect_nothing):
* fileio.c (fclose_unwind):
New functions.
* lread.c (load_unwind): Remove.  All uses replaced by fclose_unwind.
The replacement doesn't block input, but that no longer seems
necessary.

11 years ago* lread.c: Fix file descriptor leaks and errno issues.
Paul Eggert [Wed, 17 Jul 2013 17:24:54 +0000 (10:24 -0700)]
* lread.c: Fix file descriptor leaks and errno issues.

(Fload): Close some races that leaked fds or streams when 'load'
was interrupted.
(Fload, openp): Report error number of last nontrivial failure to open.
ENOENT counts as trivial.
* eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr):
New functions.
* fileio.c (close_file_unwind): No need to test whether FD is nonnegative,
now that the function is always called with a nonnegative arg.
* lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove.
All uses replaced with ...
(clear_unwind_protect, set_unwind_protect_ptr): New decls.

11 years agoFix bug #14881 with scrolling images smaller than the window height.
Eli Zaretskii [Wed, 17 Jul 2013 16:47:49 +0000 (19:47 +0300)]
Fix bug #14881 with scrolling images smaller than the window height.

 lisp/simple.el (line-move-partial, line-move): Don't start vscroll or
 scroll-up if the current line is not taller than the window.

11 years agoA few more minor file errno-reporting bugs.
Paul Eggert [Wed, 17 Jul 2013 04:37:27 +0000 (21:37 -0700)]
A few more minor file errno-reporting bugs.

* callproc.c (Fcall_process):
* doc.c (Fsnarf_documentation):
* fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
* process.c (set_socket_option):
Don't let a constructor trash errno.
* doc.c: Include <errno.h>.

11 years agosrc/w32fns.c (unwind_create_tip_frame): Fix declaration.
Juanma Barranquero [Tue, 16 Jul 2013 23:29:05 +0000 (01:29 +0200)]
src/w32fns.c (unwind_create_tip_frame): Fix declaration.

11 years agoFix w32 bug with call-process-region.
Paul Eggert [Tue, 16 Jul 2013 22:40:17 +0000 (15:40 -0700)]
Fix w32 bug with call-process-region.

* callproc.c (Fcall_process_region): Pass nil, not "/dev/null",
to Fcall_process when the input is empty.  This simplifies the
code a bit.  It makes no difference on POSIXish platforms but
apparently it fixes a bug on w32.

Fixes: debbugs:14885
11 years agoFix bug where insert-file-contents closes a file twice.
Paul Eggert [Tue, 16 Jul 2013 21:49:32 +0000 (14:49 -0700)]
Fix bug where insert-file-contents closes a file twice.

* fileio.c (close_file_unwind): Don't close if FD is negative;
this can happen when unwinding a zapped file descriptor.
(Finsert_file_contents): Unwind-protect the fd before the point marker,
in case Emacs runs out of memory between the two unwind-protects.
Don't trash errno when closing FD.
Zap the FD in the specpdl when closing it, instead of deferring
the removal of the unwind-protect; this fixes a bug where a child
function unwinds the stack past us.

Fixes: debbugs:14839
11 years agoNew unwind-protect flavors to better type-check C callbacks.
Paul Eggert [Tue, 16 Jul 2013 21:35:45 +0000 (14:35 -0700)]
New unwind-protect flavors to better type-check C callbacks.

This also lessens the need to write wrappers for callbacks,
and the need for make_save_pointer.
* alloca.c (free_save_value):
* atimer.c (run_all_atimers):
Now extern.
* alloc.c (safe_alloca_unwind):
* atimer.c (unwind_stop_other_atimers):
* keyboard.c (cancel_hourglass_unwind) [HAVE_WINDOW_SYSTEM]:
* menu.c (cleanup_popup_menu) [HAVE_NS]:
* minibuf.c (choose_minibuf_frame_1):
* process.c (make_serial_process_unwind):
* xdisp.h (pop_message_unwind):
* xselect.c (queue_selection_requests_unwind):
Remove no-longer-needed wrapper.  All uses replaced by the wrappee.
* alloca.c (record_xmalloc):
Prefer record_unwind_protect_ptr to record_unwind_protect with
make_save_pointer.
* alloca.c (Fgarbage_collect):
Prefer record_unwind_protect_void to passing a dummy.
* buffer.c (restore_buffer):
* window.c (restore_window_configuration):
* xfns.c, w32fns.c (do_unwind_create_frame)
New wrapper.  All record-unwind uses of wrappee changed.
* buffer.c (set_buffer_if_live):
* callproc.c (call_process_cleanup, delete_temp_file):
* coding.c (code_conversion_restore):
* dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
* editfns.c (save_excursion_restore)
(subst_char_in_region_unwind, subst_char_in_region_unwind_1)
(save_restriction_restore):
* eval.c (restore_stack_limits, un_autoload):
* fns.c (require_unwind):
* keyboard.c (recursive_edit_unwind, tracking_off):
* lread.c (record_load_unwind, load_warn_old_style_backquotes):
* macros.c (pop_kbd_macro, restore_menu_items):
* nsfns.m (unwind_create_frame):
* print.c (print_unwind):
* process.c (start_process_unwind):
* search.c (unwind_set_match_data):
* window.c (select_window_norecord, select_frame_norecord):
* xdisp.c (unwind_with_echo_area_buffer, unwind_format_mode_line)
(fast_set_selected_frame):
* xfns.c, w32fns.c (unwind_create_tip_frame):
Return void, not a dummy Lisp_Object.  All uses changed.
* buffer.h (set_buffer_if_live): Move decl here from lisp.h.
* callproc.c (call_process_kill):
* fileio.c (restore_point_unwind, decide_coding_unwind)
(build_annotations_unwind):
* insdel.c (Fcombine_after_change_execute_1):
* keyboard.c (read_char_help_form_unwind):
* menu.c (unuse_menu_items):
* minibuf.c (run_exit_minibuf_hook, read_minibuf_unwind):
* sound.c (sound_cleanup):
* xdisp.c (unwind_redisplay):
* xfns.c (clean_up_dialog):
* xselect.c (x_selection_request_lisp_error, x_catch_errors_unwind):
Accept no args and return void, instead of accepting and returning
a dummy Lisp_Object.  All uses changed.
* cygw32.c (fchdir_unwind):
* fileio.c (close_file_unwind):
* keyboard.c (restore_kboard_configuration):
* lread.c (readevalllop_1):
* process.c (wait_reading_process_output_unwind):
Accept int and return void, rather than accepting an Emacs integer
and returning a dummy object.  In some cases this fixes an
unlikely bug when the corresponding int is outside Emacs integer
range.  All uses changed.
* dired.c (directory_files_internal_unwind):
* fileio.c (do_auto_save_unwind):
* gtkutil.c (pop_down_dialog):
* insdel.c (reset_var_on_error):
* lread.c (load_unwind):
* xfns.c (clean_up_file_dialog):
* xmenu.c, nsmenu.m (pop_down_menu):
* xmenu.c (cleanup_widget_value_tree):
* xselect.c (wait_for_property_change_unwind):
Accept pointer and return void, rather than accepting an Emacs
save value encapsulating the pointer and returning a dummy object.
All uses changed.
* editfns.c (Fformat): Update the saved pointer directly via
set_unwind_protect_ptr rather than indirectly via make_save_pointer.
* eval.c (specpdl_func): Remove.  All uses replaced by definiens.
(unwind_body): New function.
(record_unwind_protect): First arg is now a function returning void,
not a dummy Lisp_Object.
(record_unwind_protect_ptr, record_unwind_protect_int)
(record_unwind_protect_void): New functions.
(unbind_to): Support SPECPDL_UNWIND_PTR etc.
* fileio.c (struct auto_save_unwind): New type.
(do_auto_save_unwind): Use it.
(do_auto_save_unwind_1): Remove; subsumed by new do_auto_save_unwind.
* insdel.c (struct rvoe_arg): New type.
(reset_var_on_error): Use it.
* lisp.h (SPECPDL_UNWIND_PTR, SPECPDL_UNWIND_INT, SPECPDL_UNWIND_VOID):
New constants.
(specbinding_func): Remove; there are now several such functions.
(union specbinding): New members unwind_ptr, unwind_int, unwind_void.
(set_unwind_protect_ptr): New function.
* xselect.c: Remove unnecessary forward decls, to simplify maintenance.

11 years ago* lisp/progmodes/ruby-mode.el (ruby-block-beg-keywords): Inline.
Dmitry Gutov [Tue, 16 Jul 2013 19:16:51 +0000 (23:16 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-block-beg-keywords): Inline.
(ruby-font-lock-keyword-beg-re): Extract from
`ruby-font-lock-keywords'.

11 years agoBe simpler and more consistent about reporting I/O errors.
Paul Eggert [Tue, 16 Jul 2013 18:30:52 +0000 (11:30 -0700)]
Be simpler and more consistent about reporting I/O errors.

* fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
Say "Read error" and "Write error", rather than "I/O error", or
"IO error reading", or "IO error writing", when a read or write
error occurs.
* process.c (Fmake_network_process, wait_reading_process_output)
(send_process, Fprocess_send_eof, wait_reading_process_output):
Capitalize diagnostics consistently.  Put "failed foo" at the
start of the diagnostic, so that we don't capitalize the
function name "foo".  Consistently say "failed" for such
diagnostics.
* sysdep.c, w32.c (serial_open): Now accepts Lisp string, not C string.
All callers changed.  This is so it can use report_file_error.
* sysdep.c (serial_open, serial_configure): Capitalize I/O
diagnostics consistently as above.

11 years ago* src/.gdbinit (xxwidget): Add an optional parameter.
Grégoire Jadi [Tue, 16 Jul 2013 17:41:08 +0000 (19:41 +0200)]
* src/.gdbinit (xxwidget): Add an optional parameter.

11 years ago* src/xwidget.c (Fmake_xwidget): Set the initial value of `query-on-exit'
Grégoire Jadi [Tue, 16 Jul 2013 17:39:21 +0000 (19:39 +0200)]
* src/xwidget.c (Fmake_xwidget): Set the initial value of `query-on-exit'
flag to t (kill_without_query = !query-on-exit).

11 years ago* src/xwidget.c: Add a `query-on-exit' flag to determine whether we can
Grégoire Jadi [Tue, 16 Jul 2013 17:39:20 +0000 (19:39 +0200)]
* src/xwidget.c: Add a `query-on-exit' flag to determine whether we can
kill xwidget when the buffer is killed without confirmation.
(Fset_xwidget_query_on_exit_flag): New function to set the `query-on-exit'
flag.
(Fxwidget_query_on_exit_flag): New function to retrieve the value of the
`query-on-exit' flag.
(Fmake_xwidget): Set the `query-on-exit' flag to t by default.
* src/xwidget.h (xwidget): Add new field `kill_without_query'.
* lisp/xwidget.el (xwidget-kill-buffer-query-function): Ask for
confirmation before killing the buffer if a xwidget is present only if its
`query-on-exit' flag is enabled.

11 years ago* src/xwidget.c (kill_buffer_xwidgets): Cleanup OSR GtkWidget when xwidget
Grégoire Jadi [Tue, 16 Jul 2013 17:39:19 +0000 (19:39 +0200)]
* src/xwidget.c (kill_buffer_xwidgets): Cleanup OSR GtkWidget when xwidget
are freed.

11 years ago* src/xwidget.c (Fxwidget_view_lookup): Bring `xwidget-view-lookup' to the
Grégoire Jadi [Tue, 16 Jul 2013 17:39:19 +0000 (19:39 +0200)]
* src/xwidget.c (Fxwidget_view_lookup): Bring `xwidget-view-lookup' to the
Lisp side.
(xwidget_view_lookup): `xwidget_view_lookup' is just a wrapper around
`xwidget-view-lookup' to convert from `struct *' to `Lisp_Object'.

11 years ago* src/xwidget.c (Fxwidget_view_model, Fxwidget_view_window): Add accessors
Grégoire Jadi [Tue, 16 Jul 2013 17:39:19 +0000 (19:39 +0200)]
* src/xwidget.c (Fxwidget_view_model, Fxwidget_view_window): Add accessors
to xwidget_view components.

11 years ago* src/xwidget.c: Fix indentation.
Grégoire Jadi [Tue, 16 Jul 2013 17:39:18 +0000 (19:39 +0200)]
* src/xwidget.c: Fix indentation.

11 years ago* src/xwidget.h src/xwidget.c (valid_xwidget_spec_p): Renamed
Grégoire Jadi [Tue, 16 Jul 2013 17:39:18 +0000 (19:39 +0200)]
* src/xwidget.h src/xwidget.c (valid_xwidget_spec_p): Renamed
`valid_xwidget_p' to `valid_xwidget_p'.
(XWIDGETP): Rename `XXWIDGETP' to `XWIDGETP' and `XXWIDGET_VIEW_P' to
`XWIDGET_VIEW_P'. The old `XWIDGETP' is now implemented solely in
`valid_xwidget_spec_p'.
(CHECK_XWIDGET): New macro to check whether the argument is a xwidget.
(CHECK_XWIDGET_VIEW): New macro to check whether the argument is a
xwidget_view.
* src/print.c src/xdisp.c: Take into account the new names.

11 years ago* src/print.c (print_object): Add pretty printing for xwidget_view.
Grégoire Jadi [Tue, 16 Jul 2013 17:39:18 +0000 (19:39 +0200)]
* src/print.c (print_object): Add pretty printing for xwidget_view.

11 years ago* fileio.c (report_file_errno): Fix errno reporting bug.
Paul Eggert [Tue, 16 Jul 2013 16:39:42 +0000 (09:39 -0700)]
* fileio.c (report_file_errno): Fix errno reporting bug.

If the file name is neither null nor a pair, package it up as a
singleton list.  All callers changed, both to this function and to
report_file_error.  This fixes a bug where the memory allocator
invoked by list1 set errno so that the immediately following
report_file_error reported the wrong errno value.

11 years agoFix minor problems found by --enable-gcc-warnings.
Paul Eggert [Tue, 16 Jul 2013 14:52:22 +0000 (07:52 -0700)]
Fix minor problems found by --enable-gcc-warnings.

* frame.c (Fhandle_focus_in, Fhandle_focus_out): Return a value.
* keyboard.c (kbd_buffer_get_event): Remove unused local.

11 years ago* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Do not
Dmitry Gutov [Tue, 16 Jul 2013 14:47:23 +0000 (18:47 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Do not
highlight question marks in the method names as strings.

11 years agoStop cursor blink after blink-cursor-blinks (10), stop timers when not blinking.
Jan Djärv [Tue, 16 Jul 2013 11:41:06 +0000 (13:41 +0200)]
Stop cursor blink after blink-cursor-blinks (10), stop timers when not blinking.

* etc/NEWS: Document blink-cursor-blinks and blink timers stopped.

* lisp/frame.el (blink-cursor-blinks): New defcustom.
(blink-cursor-blinks-done): New defvar.
(blink-cursor-start): Set blink-cursor-blinks-done to 1.
(blink-cursor-timer-function): Check if number of blinks has been
done on X and NS.
(blink-cursor-suspend, blink-cursor-check): New defuns.

* src/frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions.
(Fhandle_switch_frame): Call Fhandle_focus_in.
(syms_of_frame): defsubr handle-focus-in/out.

* src/keyboard.c (Qfocus_in, Qfocus_out): New static objects.
(make_lispy_focus_in, make_lispy_focus_out): Declare and define.
(kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
switch frame event is made.  Check ! NILP (event->arg) if X11 (moved
from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
and there is a focused frame.
(head_table): Add focus-in and focus-out.
(keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
bind to handle-focus-in/out.

* src/nsterm.m (windowDidResignKey): If this is the focused frame, generate
FOCUS_OUT_EVENT.

* src/termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT.

* src/xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT.
Set event->arg to Qt if switch-event shall be generated.
Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame.

11 years agoFix porting bug to older POSIXish platforms.
Paul Eggert [Tue, 16 Jul 2013 07:05:41 +0000 (00:05 -0700)]
Fix porting bug to older POSIXish platforms.

* sysdep.c (emacs_pipe): New function, that implements
pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC.
This should port better to CentOS 5 and to Mac OS X 10.6.
All calls to pipe2 changed.

Fixes: debbugs:14862
11 years agoFix the introduction of `set-frame-selected-window''s arguments.
Xue Fuqiao [Tue, 16 Jul 2013 06:45:01 +0000 (14:45 +0800)]
Fix the introduction of `set-frame-selected-window''s arguments.

* doc/lispref/windows.texi (Selecting Windows): Fix the introduction of `set-frame-selected-window''s arguments.

11 years agoPrefer list1 (X) to Fcons (X, Qnil) when building lists.
Paul Eggert [Tue, 16 Jul 2013 06:39:49 +0000 (23:39 -0700)]
Prefer list1 (X) to Fcons (X, Qnil) when building lists.

This makes the code easier to read and the executable a bit smaller.
Do not replace all calls to Fcons that happen to create lists,
just calls that are intended to create lists.  For example, when
creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil))
rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil).
Similarly for list2 through list5.
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
* bytecode.c (exec_byte_code):
* callint.c (quotify_arg, Fcall_interactively):
* callproc.c (Fcall_process, create_temp_file):
* charset.c (load_charset_map_from_file)
(Fdefine_charset_internal, init_charset):
* coding.c (get_translation_table, detect_coding_system)
(Fcheck_coding_systems_region)
(Fset_terminal_coding_system_internal)
(Fdefine_coding_system_internal, Fdefine_coding_system_alias):
* composite.c (update_compositions, Ffind_composition_internal):
* dired.c (directory_files_internal, file_name_completion)
(Fsystem_users):
* dispnew.c (Fopen_termscript, bitch_at_user, init_display):
* doc.c (Fsnarf_documentation):
* editfns.c (Fmessage_box):
* emacs.c (main):
* eval.c (do_debug_on_call, signal_error, maybe_call_debugger)
(Feval, eval_sub, Ffuncall, apply_lambda):
* fileio.c (make_temp_name, Fcopy_file, Faccess_file)
(Fset_file_selinux_context, Fset_file_acl, Fset_file_modes)
(Fset_file_times, Finsert_file_contents)
(Fchoose_write_coding_system, Fwrite_region):
* fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns):
* font.c (font_registry_charsets, font_parse_fcname)
(font_prepare_cache, font_update_drivers, Flist_fonts):
* fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset):
* frame.c (make_frame, Fmake_terminal_frame)
(x_set_frame_parameters, x_report_frame_params)
(x_default_parameter, Fx_parse_geometry):
* ftfont.c (syms_of_ftfont):
* image.c (gif_load):
* keyboard.c (command_loop_1):
* keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1)
(Fcopy_keymap, append_key, Fcurrent_active_maps)
(Fminor_mode_key_binding, accessible_keymaps_1)
(Faccessible_keymaps, Fwhere_is_internal):
* lread.c (read_emacs_mule_char):
* menu.c (find_and_return_menu_selection):
* minibuf.c (get_minibuffer):
* nsfns.m (Fns_perform_service):
* nsfont.m (ns_script_to_charset):
* nsmenu.m (ns_popup_dialog):
* nsselect.m (ns_get_local_selection, ns_string_from_pasteboard)
(Fx_own_selection_internal):
* nsterm.m (append2):
* print.c (Fredirect_debugging_output)
(print_prune_string_charset):
* process.c (Fdelete_process, Fprocess_contact)
(Fformat_network_address, set_socket_option)
(read_and_dispose_of_process_output, write_queue_push)
(send_process, exec_sentinel):
* sound.c (Fplay_sound_internal):
* textprop.c (validate_plist, add_properties)
(Fput_text_property, Fadd_face_text_property)
(copy_text_properties, text_property_list, syms_of_textprop):
* unexaix.c (report_error):
* unexcoff.c (report_error):
* unexsol.c (unexec):
* xdisp.c (redisplay_tool_bar, store_mode_line_string)
(Fformat_mode_line, syms_of_xdisp):
* xfaces.c (set_font_frame_param)
(Finternal_lisp_face_attribute_values)
(Finternal_merge_in_global_face, syms_of_xfaces):
* xfns.c (x_default_scroll_bar_color_parameter)
(x_default_font_parameter, x_create_tip_frame):
* xfont.c (xfont_supported_scripts):
* xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show)
(menu_help_callback, xmenu_show):
* xml.c (make_dom):
* xterm.c (set_wm_state):
Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list,
and similarly for list2 through list5.

11 years agoSpelling fixes for "does not exists".
Paul Eggert [Tue, 16 Jul 2013 04:39:23 +0000 (21:39 -0700)]
Spelling fixes for "does not exists".

11 years ago* lisp/edmacro.el (edmacro-format-keys): Fix previous change.
Glenn Morris [Mon, 15 Jul 2013 19:45:22 +0000 (15:45 -0400)]
* lisp/edmacro.el (edmacro-format-keys): Fix previous change.

11 years ago* callproc.c (Fcall_process_region): Fix minor race and tune.
Paul Eggert [Mon, 15 Jul 2013 02:56:17 +0000 (19:56 -0700)]
* callproc.c (Fcall_process_region): Fix minor race and tune.

(create_temp_file): New function, with the temp-file-creation part
of the old Fcall_process_region.  Use Fcopy_sequence to create the
temp file name, rather than alloca + build_string, for simplicity.
Don't bother to block input around the temp file creation;
shouldn't be needed.  Simplify use of mktemp.  Use
record_unwind_protect immediately after creating the temp file;
this closes an unlikely race where the temp file was not removed.
Use memcpy rather than an open-coded loop.
(Fcall_process_region): Use the new function.  If the input is
empty, redirect from /dev/null rather than from a newly created
empty temp file; this avoids unnecessary file system traffic.

11 years ago* shell.el (explicit-bash-args): Remove obsolete hack for Bash 1.x.
Paul Eggert [Mon, 15 Jul 2013 02:33:54 +0000 (19:33 -0700)]
* shell.el (explicit-bash-args): Remove obsolete hack for Bash 1.x.

The hack didn't work outside English locales anyway.

11 years agolisp/simple.el (define-alternatives): Rename from alternatives-define.
Juanma Barranquero [Mon, 15 Jul 2013 00:49:22 +0000 (02:49 +0200)]
lisp/simple.el (define-alternatives): Rename from alternatives-define.

11 years agolisp/desktop.el (desktop-restore-frames): Change default to t.
Juanma Barranquero [Mon, 15 Jul 2013 00:07:51 +0000 (02:07 +0200)]
lisp/desktop.el (desktop-restore-frames): Change default to t.
(desktop-restore-in-current-display): Now offer more options.
(desktop-restoring-reuses-frames): New customization option.
(desktop--saved-states): Doc fix.
(desktop-filter-parameters-alist): New variable, renamed and expanded from
desktop--excluded-frame-parameters.
(desktop--target-display): New variable.
(desktop-switch-to-gui-p, desktop-switch-to-tty-p, desktop--filter-tty*)
(desktop--filter-*-color, desktop--filter-minibuffer)
(desktop--filter-restore-desktop-parm, desktop--filter-save-desktop-parm)
(desktop-restore-in-original-display-p): New functions.
(desktop--filter-frame-parms): Use new desktop-filter-parameters-alist.
(desktop--save-minibuffer-frames): New function, inspired by a similar
function from Martin Rudalics.
(desktop--save-frames): Call it; play nice with desktop-globals-to-save.
(desktop--restore-in-this-display-p): Remove.
(desktop--find-frame): Rename from desktop--find-frame-in-display and add
predicate argument.
(desktop--make-full-frame): Remove, integrated into desktop--make-frame.
(desktop--reuse-list): New variable.
(desktop--select-frame, desktop--make-frame, desktop--sort-states):
New functions.
(desktop--restore-frames): Add support for "minibuffer-special" frames.

11 years ago* filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]:
Paul Eggert [Sun, 14 Jul 2013 23:12:42 +0000 (16:12 -0700)]
* filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]:

Simplify by making this case like the other two.  This is a bit
slower on obsolete hosts, but the extra complexity isn't worth it.

11 years ago* net/tramp-sh.el (tramp-sh-handle-vc-registered): Use `ignore-error'.
Michael Albinus [Sun, 14 Jul 2013 18:45:50 +0000 (20:45 +0200)]
* net/tramp-sh.el (tramp-sh-handle-vc-registered): Use `ignore-error'.

11 years agoMerge branch 'trunk' into xwidget
Joakim Verona [Sun, 14 Jul 2013 09:04:49 +0000 (11:04 +0200)]
Merge branch 'trunk' into xwidget

Conflicts:
src/xdisp.c

11 years agoSpelling fixes.
Paul Eggert [Sun, 14 Jul 2013 05:18:48 +0000 (22:18 -0700)]
Spelling fixes.

11 years ago* callproc.c (child_setup, relocate_fd) [!DOS_NT]:
Paul Eggert [Sun, 14 Jul 2013 00:30:45 +0000 (17:30 -0700)]
* callproc.c (child_setup, relocate_fd) [!DOS_NT]:

* process.c (create_process) [!DOS_NT]:
Remove now-unnecessary calls to emacs_close.

11 years ago* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
Dmitry Gutov [Sat, 13 Jul 2013 19:10:19 +0000 (23:10 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
conversion methods on Kernel.

11 years agoprogmodes/cc-engine.el (c-forward-decl-or-cast-1): Label CASE 13
Alan Mackenzie [Sat, 13 Jul 2013 17:45:07 +0000 (17:45 +0000)]
progmodes/cc-engine.el (c-forward-decl-or-cast-1): Label CASE 13
and comment it out.  This out-commenting enables certain C++
declarations to be parsed correctly.

11 years agoPrevent leak in GDI objects (bug #14850).
Eli Zaretskii [Sat, 13 Jul 2013 14:21:01 +0000 (17:21 +0300)]
Prevent leak in GDI objects (bug #14850).

 src/w32term.c (x_draw_hollow_cursor): Delete the brush object when
 returning early.

11 years agoImprove the documentation of prefer-utf-8 and related issues.
Eli Zaretskii [Sat, 13 Jul 2013 10:55:21 +0000 (13:55 +0300)]
Improve the documentation of prefer-utf-8 and related issues.

 lisp/international/mule.el (define-coding-system): Doc fix.

 etc/NEWS: Document prefer-utf-8 coding-system and the new attributes
 :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
 :prefer-utf-8.

11 years agoFix bug #14822 with decoding when inhibit-null-byte-detection is non-nil.
Eli Zaretskii [Sat, 13 Jul 2013 10:29:15 +0000 (13:29 +0300)]
Fix bug #14822 with decoding when inhibit-null-byte-detection is non-nil.

 src/coding.c (syms_of_coding): Set up inhibit-null-byte-detection
 and inhibit-iso-escape-detection attributes of 'undecided'.

11 years agoAuto-commit of generated files.
Glenn Morris [Sat, 13 Jul 2013 10:17:35 +0000 (06:17 -0400)]
Auto-commit of generated files.

11 years ago* deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h.
Paul Eggert [Sat, 13 Jul 2013 09:32:45 +0000 (02:32 -0700)]
* deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h.

Reported by Herbert J. Skuhra in
<http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>.

11 years agoFix bug #14838 with slow scrolling with certain fonts.
Eli Zaretskii [Sat, 13 Jul 2013 07:26:43 +0000 (10:26 +0300)]
Fix bug #14838 with slow scrolling with certain fonts.

 lisp/simple.el (default-font-height): Don't call font-info if the
 frame's default font didn't change since the frame was created.

11 years ago* ido.el (ido-read-file-name): Guard against non-symbol value.
Leo Liu [Sat, 13 Jul 2013 04:44:19 +0000 (12:44 +0800)]
* ido.el (ido-read-file-name): Guard against non-symbol value.

11 years ago* lisp/progmodes/python.el (python-imenu--build-tree): Fix corner case
Fabián Ezequiel Gallina [Sat, 13 Jul 2013 01:55:58 +0000 (22:55 -0300)]
* lisp/progmodes/python.el (python-imenu--build-tree): Fix corner case
in nested defuns.

* test/automated/python-tests.el (python-imenu-create-index-2)
(python-imenu-create-index-3): New tests.

11 years ago* NEWS: Mention new value for ido-use-virtual-buffers.
Leo Liu [Sat, 13 Jul 2013 01:30:36 +0000 (09:30 +0800)]
* NEWS: Mention new value for ido-use-virtual-buffers.

11 years ago* ido.el (ido-exhibit): Handle ido-enter-matching-directory before
Leo Liu [Sat, 13 Jul 2013 00:57:47 +0000 (08:57 +0800)]
* ido.el (ido-exhibit): Handle ido-enter-matching-directory before
ido-set-matches call.

Fixes: debbugs:6852
11 years agoDon't lose top specpdl entry when memory is exhausted.
Paul Eggert [Sat, 13 Jul 2013 00:24:38 +0000 (17:24 -0700)]
Don't lose top specpdl entry when memory is exhausted.

* eval.c (grow_specpdl): Increment specpdl top by 1 and check for
specpdl overflow here, to simplify callers; all callers changed.
Always reserve an unused entry at the stack top; this avoids
losing the top entry's information when memory is exhausted.

11 years ago* configure.ac: Simplify --with-file-notification handling.
Paul Eggert [Sat, 13 Jul 2013 00:01:43 +0000 (17:01 -0700)]
* configure.ac: Simplify --with-file-notification handling.

11 years agoChangeLog fix
Glenn Morris [Fri, 12 Jul 2013 23:55:01 +0000 (19:55 -0400)]
ChangeLog fix

11 years ago* progmodes/ruby-mode.el (ruby-font-lock-keywords): Simplify the last
Dmitry Gutov [Fri, 12 Jul 2013 23:36:14 +0000 (03:36 +0400)]
* progmodes/ruby-mode.el (ruby-font-lock-keywords): Simplify the last
  change.

11 years ago* configure.ac: Further fix.
Glenn Morris [Fri, 12 Jul 2013 23:15:20 +0000 (19:15 -0400)]
* configure.ac: Further fix.

11 years ago* configure.ac: Fix goofs in previous.
Glenn Morris [Fri, 12 Jul 2013 23:14:20 +0000 (19:14 -0400)]
* configure.ac: Fix goofs in previous.

11 years ago* lisp/progmodes/ruby-mode.el (ruby-percent-literals-beg-re):
Dmitry Gutov [Fri, 12 Jul 2013 20:28:53 +0000 (00:28 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-percent-literals-beg-re):
(ruby-syntax-expansion-allowed-p): Support array of symbols, for
Ruby 2.0.
(ruby-font-lock-keywords): Distinguish calls to functions with
module-like names from module references.  Highlight character
literals.

11 years agoFix last lisp/ChangeLog entry.
Sergio Durigan Junior [Fri, 12 Jul 2013 18:19:10 +0000 (21:19 +0300)]
Fix last lisp/ChangeLog entry.

Fixes: debbugs:14847
11 years agoFix bug #14847 with continued GDB command lines in gdb-mi.el.
Sergio Durigan Junior [Fri, 12 Jul 2013 18:17:17 +0000 (21:17 +0300)]
Fix bug #14847 with continued GDB command lines in gdb-mi.el.

 lisp/progmodes/gdb-mi.el (gdb-strip-string-backslash): New function.
 (gdb-send): Handle continued commands.

11 years ago* configure.ac: If with-file-notification=yes, if gfile not found,
Glenn Morris [Fri, 12 Jul 2013 17:36:42 +0000 (13:36 -0400)]
* configure.ac: If with-file-notification=yes, if gfile not found,
go on to try inotify (not on MS Windows or Nextstep).

* etc/NEWS: Copyedits.

11 years agoClean up errno reporting and fix some errno-reporting bugs.
Paul Eggert [Fri, 12 Jul 2013 17:30:48 +0000 (10:30 -0700)]
Clean up errno reporting and fix some errno-reporting bugs.

* callproc.c (Fcall_process):
* fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
* process.c (create_process, Fmake_network_process):
* unexaix.c (report_error):
* unexcoff.c (report_error):
Be more careful about reporting the errno of failed operations.
The code previously reported the wrong errno sometimes.
Also, prefer report_file_errno to setting errno + report_file_error.
(Fcall_process): Look at openp return value rather than at path,
as that's a bit faster and clearer when there's a numeric predicate.
* fileio.c (report_file_errno): New function, with most of the
old contents of report_file_error.
(report_file_error): Use it.
(Ffile_exists_p, Ffile_accessible_directory_p):
Set errno to 0 when it is junk.
* fileio.c (Faccess_file):
* image.c (x_create_bitmap_from_file):
Use faccessat rather than opening the file, to avoid the hassle of
having a file descriptor open.
* lisp.h (report_file_errno): New decl.
* lread.c (Flocate_file_internal): File descriptor 0 is valid, too.

11 years agoMinor EBADF fixes.
Paul Eggert [Fri, 12 Jul 2013 14:31:42 +0000 (07:31 -0700)]
Minor EBADF fixes.

* process.c (create_process, wait_reading_process_output) [AIX]:
Remove obsolete SIGHUP-related  code, as Emacs no longer disables
SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in
a multithreaded environment anyway).
* sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1).