Commit Graph

111943 Commits

Author SHA1 Message Date
Paul Eggert
4ebbdd6712 Handle errno and exit status a bit more carefully.
* lib/ignore-value.h: Remove this gnulib-imported file.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Remove ignore-value.
* src/callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error
number into an exit status.  Instead, use EXIT_CANCELED.
(child_setup) [!MSDOS]: Avoid possible deadlock with vfork.
* src/callproc.c (relocate_fd):
* src/emacs.c (close_output_streams, main):
* src/process.c (create_process):
* src/sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]:
Use emacs_perror for simplicity.
* src/callproc.c (relocate_fd, main):
* src/sysdep.c (sys_subshell):
Exit with EXIT_CANCELED etc., not 1, when exec setup fails.
(shut_down_emacs): Use emacs_write, not write.
* src/emacs.c, src/sysdep.c: Don't include <ignore-value.h>.
* src/fileio.c (Fcopy_file, e_write):
* src/nsterm.m (ns_select):
* src/process.c (send_process):
* src/sound.c (vox_write):
Use emacs_write_sig, not emacs_write.
* src/lisp.h (emacs_write_sig, emacs_perror): New decls.
* src/process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT):
New constants.
* src/sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value
of write.
(emacs_full_write): New function.
(emacs_write): Rewrite to use it.
(emacswrite_sig, emacs_perror): New functions.
* src/xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
2013-07-09 00:04:48 -07:00
Glenn Morris
584ee3fc72 ChangeLog fix 2013-07-08 23:59:45 -07:00
Paul Eggert
1b6006a514 * filelock.c: Fix comment to match code. 2013-07-08 23:29:29 -07:00
Leo Liu
c28b9050d5 * ido.el (ido-add-virtual-buffers-to-list): Robustify. (Bug#14552) 2013-07-09 13:09:45 +08:00
Paul Eggert
cf7a0de6e7 Space between "defined" and "(". 2013-07-08 22:04:45 -07:00
Leo Liu
5550a72cf2 * ido.el (ido-read-directory-name): Handle fallback.
(ido-read-file-name): Update DIR to ido-current-directory.

Fixes: debbugs:1516
2013-07-09 10:47:44 +08:00
Dmitry Gutov
70c46b2816 * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove extra
"autoload".  Remove "warn lower camel case" section, previously
commented out.  Highlight negation char.  Do not highlight the
target in singleton method definitions.
2013-07-09 05:17:48 +04:00
Gnus developers
c17b81a7a5 Merge changes made in Gnus master 2013-07-08 23:51:26 +00:00
Stefan Monnier
7fd72e2c01 * lisp/faces.el (tty-setup-hook): Declare the hook. 2013-07-08 18:26:37 -04:00
Stefan Monnier
0b64b838a0 * lisp/emacs-lisp/pcase.el (pcase--split-pred): Add `vars' argument to try
and detect when a guard/pred depends on local vars.
(pcase--u1): Adjust caller.

Fixes: debbugs:14773
2013-07-08 17:54:54 -04:00
Jan Djärv
9524a13dcb * NEWS: NS can be build with ImageMagick. 2013-07-08 19:54:39 +02:00
Eli Zaretskii
701d79aa3a Fix lisp/ChangeLog entry for last commit. 2013-07-08 20:33:17 +03:00
Eli Zaretskii
ab49d60b09 Improve scrolling when line-spacing is non-nil.
lisp/simple.el (line-move-partial, line-move): Account for
 line-spacing.
2013-07-08 20:30:50 +03:00
Jan Djärv
e4b1e5afb4 configure.ac (HAVE_IMAGEMAGICK): Check on NS also.
image.c (imagemagick_load_image): Do not use MagickExportImagePixels
on NS even if it is present.  Pixmap on NS is a void*.

Fixes: debbugs:14798
2013-07-08 15:26:13 +02:00
Kenichi Handa
6388fe5e47 merge trunk 2013-07-08 20:55:58 +09:00
Kenichi Handa
0f01f02fe7 decoder-tests.el (decoder-tests-prefer-utf-8-read):
Use with-ccoding-priority to avoid side-effect (Bug#14781).
2013-07-08 20:51:55 +09:00
Lars Magne Ingebrigtsen
2d756ae0d8 * net/shr.el (shr-map): Reinstate the `u' key binding
It's been used a while.
2013-07-08 13:19:51 +02:00
Glenn Morris
0cdca42ab2 Auto-commit of generated files. 2013-07-08 06:17:45 -04:00
Paul Eggert
2a74a90a03 Try to fix FreeBSD 9.1 porting problem.
This incorporates the following merge from gnulib:
2013-07-07 stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11

Fixes: debbugs:14812
2013-07-07 23:15:38 -07:00
Paul Eggert
6602769357 Remove stray empty line. 2013-07-07 20:20:35 -07:00
Paul Eggert
9caab067d6 Port to Ubuntu 10.
Problem reported by T.V. Raman.
* configure.ac (accept4): New function to check for.
* src/process.c (close_on_exec, accept4, process_socket):
Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC.

Fixes: debbugs:14803
2013-07-07 16:22:43 -07:00
Juanma Barranquero
5165d44a78 ChangeLog fixes. 2013-07-08 01:05:52 +02:00
Juanma Barranquero
ed095bd758 lisp/subr.el (read-quoted-char): Remove unused local variable `char'. 2013-07-08 00:50:34 +02:00
Michael Kifer
f1e6674bb3 * faces.el (tty-run-terminal-initialization): function changed (Stefan
Monnier's patch).
	
	* viper.el (viper-emacs-state-mode-list): add egg-status-buffer-mode.
	(viper-version): version update.
	(viper-go-away,viper-setup-hooks): function changed (Stefan Monnier's
	patch).
	(viper--lookup-key,viper-catch-tty-ESC,viper-uncatch-tty-ESC,
	viper-setup-ESC-to-escape): new functions (Stefan Monnier's
	patch).
	
	* viper-cmd.el: (viper-del-forward-char-in-insert): new function.
	(viper-save-kill-buffer): check if buffer is modified.
	(viper-envelop-ESC-key): function deleted (Stefan Monnier's patch).
	(viper-intercept-ESC-key): function changed (Stefan Monnier's patch).
	
	* viper-keym.el (viper-ESC-key): constant changed (Stefan Monnier's
	patch).
	
	* ediff.el (ediff-files-command,ediff3-files-command): new functions.
	(ediff-merge-command,ediff-merge-with-ancestor-command): new functions.
	(ediff-directories-command,ediff-directories3-command): new functions.
	(ediff-merge-directories-command): new function.
	(ediff-merge-directories-with-ancestor-command): new function.
	All the above are command-line interfaces to ediff: facilitate calling
	Emacs with the appropriate ediff functions invoked.
	(ediff-version): version update.
2013-07-07 15:35:54 -04:00
Eli Zaretskii
1d44267275 MS-Windows followup for 2013-07-07T18:00:14Z!eggert@cs.ucla.edu.
nt/inc/sys/socket.h (F_SETFD, O_CLOEXEC, F_DUPFD_CLOEXEC)
 (FD_CLOEXEC): New macros.

 src/w32.c (sys_dup): Declare prototype.

 src/filelock.c:
 src/emacs.c:
 src/callproc.c [WINDOWSNT]: Include sys/socket.h.
2013-07-07 21:48:16 +03:00
Paul Eggert
067428c171 Make file descriptors close-on-exec when possible.
This simplifies Emacs a bit, since it no longer needs to worry
about closing file descriptors by hand in some cases.
It also fixes some unlikely races.  Not all such races, as
libraries often open files internally without setting
close-on-exec, but it's an improvement.
* admin/merge-gnulib (GNULIB_MODULES): Add fcntl, pipe2.
(GNULIB_TOOL_FLAGS): Avoid binary-io, close.  Do not avoid fcntl.
* configure.ac (mkostemp): New function to check for.
(PTY_OPEN): Pass O_CLOEXEC to posix_openpt.
* lib/fcntl.c, lib/getdtablesize.c, lib/pipe2.c, m4/fcntl.m4:
* m4/getdtablesize.m4, m4/pipe2.m4: New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Remove empty gl_GNULIB_ENABLED_verify section;
otherwise, gnulib-tool complains given close-on-exec changes.
* nt/inc/ms-w32.h (pipe): Remove.
* nt/mingw-cfg.site (ac_cv_func_fcntl, gl_cv_func_fcntl_f_dupfd_cloexec)
(gl_cv_func_fcntl_f_dupfd_works, ac_cv_func_pipe2): New vars.
* src/alloc.c (valid_pointer_p) [!WINDOWSNT]:
* src/callproc.c (Fcall_process) [!MSDOS]:
* src/emacs.c (main) [!DOS_NT]:
* src/nsterm.m (ns_term_init):
* src/process.c (create_process):
Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
* src/emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
* src/filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
Prefer mkostemp with O_CLOEXEC to mkstemp.
* src/callproc.c (relocate_fd) [!WINDOWSNT]:
* src/emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
now using pipe2.
* src/filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
Make the resulting file descriptor close-on-exec.
* src/lisp.h, src/lread.c, src/process.c (close_load_descs, close_process_descs):
* src/lread.c (load_descriptor_list, load_descriptor_unwind):
Remove; no longer needed.  All uses removed.
* src/process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
(close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
New functions.
(socket) [!SOCK_CLOEXEC]: Supply a substitute.
(Fmake_network_process, Fnetwork_interface_list):
(Fnetwork_interface_info, server_accept_connection):
Make newly-created socket close-on-exec.
* src/sysdep.c (emacs_open, emacs_fopen):
Make new-created descriptor close-on-exec.
* src/w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
* src/w32.c, src/w32.h (pipe2): Rename from 'pipe', with new flags arg.

Fixes: debbugs:14803
2013-07-07 11:00:14 -07:00
Eli Zaretskii
9aff9b3864 Improve scrolling of windows whose font is different from frame's default.
lisp/simple.el (default-font-height, window-screen-lines): New
 functions.
 (line-move, line-move-partial): Use them instead of
 frame-char-height and window-text-height.  This makes scrolling
 text smoother when the buffer's default face uses a font that is
 different from the frame's default font.
2013-07-07 18:49:03 +03:00
Jan Djärv
0da857ddac *** empty log message *** 2013-07-07 10:41:09 +02:00
Paul Eggert
5f86adcd2c Fix openp errno handling.
* callproc.c (Fcall_process): Preserve openp errno around close.
* lread.c (openp): Set errno when returning -1, as some callers
expect this.
2013-07-07 00:28:29 -07:00
Gnus developers
6ed7a66a3f Merge changes made in Gnus master
2013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Group Parameters): Mention regexp
  substitutions (bug#11688).

2013-07-06 Nathan Trapuzzano <nbtrap@nbtrap.com> (tiny change)
* gnus.texi (Generic Marking Commands): Fix grammar (bug#13368).

2013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Emacsen): Fix version.
* gnus-faq.texi (FAQ 1-6): Mention the correct Emacs version.

2013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
* gnus-art.el (gnus-block-private-groups): Allow `global' methods to
  display images.
* gnus.el (gnus-valid-select-methods): Mark nnrss as global.
* message.el (message-cancel-news): According to
  <mailman.216.1372942181.12400.help-gnu-emacs@gnu.org>, "cancel" is
  preferred over "cmsg cancel" in the Subject.
* nnir.el (nnir-engines): Note that the group specs are regexps
  (bug#13238).
* gnus-msg.el (gnus-copy-article-buffer): If the article buffer has
  gotten read-only text properties, ensure that those aren't heeded when
  copying stuff over (bug#13434).
* mm-view.el (mm-inline-text-html): Don't bug out on multipart messages
  (bug#13762).
2013-07-06 23:40:56 +00:00
Glenn Morris
219afb88d9 * etc/NEWS: Tweak +++/--- description 2013-07-06 12:17:22 -07:00
Glenn Morris
c7197e5231 * admin.el (make-manuals): Add the option to only make certain output types.
(manual-misc-html): Special-case ccmode and efaq.
(manual-html-mono, manual-html-node, manual-pdf, manual-ps):
Move creation of output directory here from make-manuals.
(manual-html-fix-index-2): Avoid dynamic reference to `f'.
2013-07-06 11:28:54 -07:00
Jan Djärv
1afb1d0715 * lisp/files.el (write-file): Do not display confirm dialog for NS,
it does its own dialog, which can't be cancelled.

* src/nsfns.m: Remove panelOK.
(ns_fd_data): New.
(ns_run_file_dialog): New function.
(Fns_read_file_name): Fill in ns_fd_data, post an event and start the
event loop, so file dialog is popped up by ns_run_file_dialog, called
by sendEvent (Bug#14578).
(EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.

* src/nsterm.h (NSSavePanel): Update comment.
(NSAPP_DATA2_RUNFILEDIALOG): Define.
(ns_run_file_dialog): Declare.

* src/nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
2013-07-06 19:58:41 +02:00
Eli Zaretskii
23de972aa7 Fix vertical cursor motion with non-default fonts.
lisp/simple.el (line-move-partial): Adjust the row returned by
 posn-at-point for the current window-vscroll.  (Bug#14567)
2013-07-06 20:38:24 +03:00
Michael Albinus
54a4248627 * net/tramp-sh.el (tramp-sh-file-gvfs-monitor-dir-process-filter):
(tramp-sh-file-inotifywait-process-filter): Handle file names with spaces.
2013-07-06 18:17:16 +02:00
Michael Albinus
47bd930132 Add TODO entry. 2013-07-06 18:12:04 +02:00
Martin Rudalics
34ada5f476 lisp/window.el (window-state-put): Remove window if buffer was not restored.
(window-state-put-stale-windows): New variable.
(window--state-put-2): Save list of windows without matching buffer.
(window-state-put): Remove "bufferless" windows if possible.
2013-07-06 16:24:54 +02:00
Juanma Barranquero
11e03d8900 lisp/simple.el (alternatives-define): Remove leftover :group keyword.
Tweak docstring.
2013-07-06 15:31:59 +02:00
David Kastrup
fa7f427c32 lisp/gnus/auth-source.el (auth-source-netrc-parse-one): Allow empty strings in authinfo file again (important for blank passwords). This had been broken with 2013-06-15 change 2013-07-06 12:49:38 +00:00
Leo Liu
3504a4beb8 * ido.el (ido-use-virtual-buffers): Allow new value 'auto.
(ido-enable-virtual-buffers): New variable.
(ido-buffer-internal, ido-toggle-virtual-buffers)
(ido-make-buffer-list): Use it.
(ido-exhibit): Support turning on and off virtual buffers
automatically.
2013-07-06 20:37:12 +08:00
Eli Zaretskii
fdda022055 Fix bug #14771 with scroll-step = 1 and non-nil line-spacing.
src/xdisp.c (default_line_pixel_height): New function.
 (pos_visible_p, move_it_vertically_backward, try_scrolling)
 (try_cursor_movement, redisplay_window, try_window)
 (try_window_id): Use it instead of FRAME_LINE_HEIGHT.  (Bug#14771)
 src/window.c (window_scroll_pixel_based): use
 default_line_pixel_height.
 src/dispextern.h (default_line_pixel_height): Add prototype.
 src/frame.c (x_set_line_spacing): Accept a float value for
 line-spacing parameter, per the documentation.
2013-07-06 13:41:38 +03:00
Juanma Barranquero
88c45e34b6 etc/NEWS: Fix typos. 2013-07-06 11:37:29 +02:00
Juanma Barranquero
61e56e2c8a lisp/simple.el (alternatives-define): New macro.
etc/NEWS: Document new "generic commands" support.
2013-07-06 11:35:37 +02:00
Eli Zaretskii
3323c263c7 Clarify documentation of multibyte-string-p.
src/data.c (Fmultibyte_string_p): Doc fix.

 doc/lispref/nonascii.texi (Text Representations): Document that
 multibyte-string-p returns nil for non-string objects.
2013-07-06 11:05:21 +03:00
Paul Eggert
406af475be Use emacs_open more consistently when opening files.
This handles EINTR more consistently now, and makes it easier
to introduce other uniform changes to file descriptor handling.
* src/systdio.h: New file.
* src/buffer.c (mmap_init):
* cygw32.c (chdir_to_default_directory):
* dispnew.c (Fopen_termscript):
* emacs.c (Fdaemon_initialized):
* fileio.c (Fdo_auto_save):
* image.c (slurp_file, png_load_body, jpeg_load_body):
* keyboard.c (Fopen_dribble_file):
* lread.c (Fload):
* print.c (Fredirect_debugging_output):
* sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
* termcap.c (tgetent):
* unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
* unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
* w32term.c (w32_initialize) [CYGWIN]:
* xfaces.c (Fx_load_color_file):
Use emacs_open instead of plain open, and emacs_fopen instead of
plain fopen.
* dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
* xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
* callproc.c (default_output_mode): New constant.
(Fcall_process): Use it to call emacs_open instead of plain creat.
* dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
* sysdep.c (emacs_open): Add commentary and don't call file name "path".
(emacs_fopen): New function.
* unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
Include <lisp.h>, for emacs_open.
* unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
2013-07-05 19:40:50 -07:00
Glenn Morris
0773c61068 * admin/admin.el (make-manuals): Avoid hard-coding list of misc manuals.
(manual-misc-manuals): New function.
2013-07-05 19:32:13 -07:00
Glenn Morris
4431e6d9b3 Merge from emacs-24; up to 2012-12-30T19:34:25Z!jan.h.d@swipnet.se 2013-07-05 18:39:21 -07:00
Glenn Morris
3cab18a379 * mh-e.texi (Using This Manual): Printed elisp manuals no longer available. 2013-07-05 18:19:46 -07:00
Glenn Morris
7d622d4cfb * doc/misc/mh-e.texi (Using This Manual): Refer to shop.fsf.org. 2013-07-05 18:17:50 -07:00
Glenn Morris
5154917ed9 * doc/misc/mh-e.texi: Fix external links. 2013-07-05 18:05:20 -07:00