Andreas Schwab [Fri, 12 Jul 2013 09:02:30 +0000 (11:02 +0200)]
* image.c (x_find_image_file): Don't close a remote file handle.
Eli Zaretskii [Fri, 12 Jul 2013 08:35:42 +0000 (11:35 +0300)]
Minor followup to previous commit.
lisp/simple.el (next-line, previous-line): Document TRY-VSCROLL and ARG.
Fixes: debbugs:14842
Eli Zaretskii [Fri, 12 Jul 2013 08:33:14 +0000 (11:33 +0300)]
Fix bug #14842 with doc strings of next-line and previous-line.
lisp/simple.el (next-line, previous-line): Document TRY-VSCROLL.
Glenn Morris [Fri, 12 Jul 2013 06:45:04 +0000 (23:45 -0700)]
* admin/admin.el (manual-style-string): Use non-abbreviated url.
Glenn Morris [Fri, 12 Jul 2013 03:54:57 +0000 (20:54 -0700)]
Remove some more reimplementations of cl-lib functions
* lisp/doc-view.el: Require cl-lib at runtime too.
(doc-view-remove-if): Remove.
(doc-view-search-next-match, doc-view-search-previous-match):
Use cl-remove-if.
* lisp/edmacro.el: Require cl-lib at runtime too.
(edmacro-format-keys, edmacro-parse-keys): Use cl-mismatch, cl-subseq.
(edmacro-mismatch, edmacro-subseq): Remove.
* lisp/filesets.el: Comments.
* lisp/shadowfile.el: Require cl-lib.
(shadow-remove-if): Remove.
(shadow-set-cluster, shadow-shadows-of-1, shadow-remove-from-todo):
Use cl-remove-if.
* lisp/wid-edit.el: Require cl-lib.
(widget-choose): Use cl-remove-if.
(widget-remove-if): Remove.
* lisp/progmodes/ebrowse.el: Require cl-lib at runtime too.
(ebrowse-delete-if-not): Remove.
(ebrowse-browser-buffer-list, ebrowse-member-buffer-list)
(ebrowse-tree-buffer-list, ebrowse-same-tree-member-buffer-list):
Use cl-delete-if-not.
Paul Eggert [Fri, 12 Jul 2013 02:03:47 +0000 (19:03 -0700)]
Fix races with threads and file descriptors.
* configure.ac (PTY_TTY_NAME_SPRINTF): Use emacs_close, not close.
* src/callproc.c (Fcall_process_region):
* src/dired.c (open_directory):
* src/emacs.c (main, Fdaemon_initialized):
* src/image.c (x_find_image_file):
* src/inotify.c (Finotify_rm_watch):
* src/lread.c (Flocate_file_internal):
* src/process.c (Fnetwork_interface_list, Fnetwork_interface_info):
* src/term.c (term_mouse_moveto, init_tty):
* src/termcap.c (tgetent):
* src/unexaix.c, src/unexcoff.c (report_error, report_error_1, adjust_lnnoptrs)
* src/unexaix.c, src/unexcoff.c, src/unexcw.c, src/unexelf.c (unexec):
* src/unexhp9k800.c, src/unexmacosx.c (unexec):
* src/callproc.c (Fcall_process_region):
Use emacs_close, not close.
* src/sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]:
New macro and function, which emulates the POSIX_CLOSE_RESTART macro
and posix_close function on current platforms (which all lack them).
(emacs_close): Use it. This should fix the races on GNU/Linux and
on AIX and on future platforms that support POSIX_CLOSE_RESTART,
and it should avoid closing random victim file descriptors on
other platforms.
Juanma Barranquero [Fri, 12 Jul 2013 01:11:22 +0000 (03:11 +0200)]
lisp/emacs-lisp/cl-macs.el: Fix typos in docstrings.
Leo Liu [Fri, 12 Jul 2013 01:01:53 +0000 (09:01 +0800)]
* ido.el (dired-do-copy, dired): Set 'ido property.
Fixes: debbugs:11954
Paul Eggert [Thu, 11 Jul 2013 17:28:58 +0000 (10:28 -0700)]
* inotify.c (uninitialized): Remove. All uses replaced by -1.
(Finotify_add_watch): Simplify, since -1 means uninitialized now.
Touch up doc a bit.
Glenn Morris [Thu, 11 Jul 2013 17:27:27 +0000 (13:27 -0400)]
ChangeLog fix
Glenn Morris [Thu, 11 Jul 2013 17:18:48 +0000 (13:18 -0400)]
ChangeLog fixes
Glenn Morris [Thu, 11 Jul 2013 17:16:19 +0000 (13:16 -0400)]
Remove some reimplementations of cl-gensym
* lisp/thumbs.el: Require cl-lib at run-time too.
(thumbs-gensym-counter, thumbs-gensym):
Remove reimplementation of cl-gensym.
(thumbs-temp-file): Use cl-gensym.
* lisp/emacs-lisp/edebug.el: Require cl-lib at run-time too.
(edebug-gensym-index, edebug-gensym):
Remove reimplementation of cl-gensym.
(edebug-make-enter-wrapper, edebug-make-form-wrapper): Use cl-gensym.
Glenn Morris [Thu, 11 Jul 2013 16:15:57 +0000 (09:15 -0700)]
* admin/notes/changelogs: Explain "there is no need".
Glenn Morris [Thu, 11 Jul 2013 16:13:38 +0000 (09:13 -0700)]
Stop reimplementing a bunch of cl- functions in ert
* lisp/emacs-lisp/ert.el: Require cl-lib at runtime too.
(ert--cl-do-remf, ert--remprop, ert--remove-if-not)
(ert--intersection, ert--set-difference, ert--set-difference-eq)
(ert--union, ert--gensym-counter, ert--gensym-counter)
(ert--coerce-to-vector, ert--remove*, ert--string-position)
(ert--mismatch, ert--subseq): Remove reimplementations of cl funcs.
(ert-make-test-unbound, ert--expand-should-1)
(ert--expand-should, ert--should-error-handle-error)
(should-error, ert--explain-equal-rec)
(ert--plist-difference-explanation, ert-select-tests)
(ert--make-stats, ert--remove-from-list, ert--string-first-line):
Use cl-lib functions rather than reimplementations.
* test/automated/ert-tests.el: Require cl-lib at runtime too.
(ert-test-special-operator-p): Use cl-gensym rather than ert-- version.
(ert-test-remprop, ert-test-remove-if-not, ert-test-remove*)
(ert-test-set-functions, ert-test-gensym)
(ert-test-coerce-to-vector, ert-test-string-position)
(ert-test-mismatch): Remove tests.
* test/automated/cl-lib.el: New, split from ert-tests.el.
Glenn Morris [Thu, 11 Jul 2013 16:07:00 +0000 (09:07 -0700)]
Adding :safe property to a defcustom does not merit a :version bump
Glenn Morris [Thu, 11 Jul 2013 16:04:56 +0000 (09:04 -0700)]
Quieten ruby-mode-tests.el compilation
* test/automated/ruby-mode-tests.el (ruby-deftest-move-to-block):
Goto point-min.
(works-on-do, zero-is-noop, ok-with-three, ok-with-minus-two)
(ruby-move-to-block-skips-percent-literal)
(ruby-move-to-block-skips-heredoc)
(ruby-move-to-block-moves-from-else-to-if)
(ruby-beginning-of-defun-does-not-fold-case)
(ruby-end-of-defun-skips-to-next-line-after-the-method):
Replace goto-line with forward-line/goto-char.
(ruby-move-to-block-does-not-fold-case): Remove unneeded end-of-buffer.
Glenn Morris [Thu, 11 Jul 2013 16:01:26 +0000 (09:01 -0700)]
Silence package-test.el compilation
* test/automated/package-test.el (makeinfo-buffer): Autoload.
(compilation-in-progress, tar-parse-info, tar-header-name): Declare.
(package-test-install-texinfo): Don't require makeinfo.
Glenn Morris [Thu, 11 Jul 2013 16:00:05 +0000 (09:00 -0700)]
* test/automated/files.el: Stop "local variables" confusion.
Glenn Morris [Thu, 11 Jul 2013 15:58:15 +0000 (08:58 -0700)]
* automated/flymake-tests.el (flymake-tests): Remove unused group.
Glenn Morris [Thu, 11 Jul 2013 15:57:45 +0000 (08:57 -0700)]
Silence icalendar-tests.el compilation
* test/automated/icalendar-tests.el (icalendar-tests--do-test-cycle):
Use with-current-buffer.
Glenn Morris [Thu, 11 Jul 2013 15:56:41 +0000 (08:56 -0700)]
* undo-tests.el (undo-test-buffer-modified, undo-test-file-modified): New tests.
Michael Albinus [Thu, 11 Jul 2013 09:52:54 +0000 (11:52 +0200)]
* net/tramp.el (tramp-methods): Extend docstring.
(tramp-connection-timeout): New defcustom.
(tramp-error-with-buffer): Reset timestamp only when appropriate.
(with-tramp-progress-reporter): Simplify.
(tramp-process-actions): Improve messages.
* net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* net/tramp-sh.el (tramp-maybe-open-connection):
Use `tramp-connection-timeout'.
(tramp-methods) [su, sudo, ksu]: Add method specific timeouts. (Bug#14808)
Paul Eggert [Thu, 11 Jul 2013 07:17:23 +0000 (00:17 -0700)]
* eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE.
This is for .gdbinit xbacktrace.
Leo Liu [Thu, 11 Jul 2013 02:59:54 +0000 (10:59 +0800)]
* ido.el (ido-read-file-name): Conform to the requirements of
read-file-name.
(ido-read-directory-name): Conform to the requirements of
read-directory-name.
Fixes: debbugs:11861
Paul Eggert [Thu, 11 Jul 2013 02:17:47 +0000 (19:17 -0700)]
* sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes.
* sysdep.c (emacs_get_tty): Return void, since nobody uses the value.
(emacs_set_tty): Now static.
* sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close):
* term.c (tty_capable_p, tty_default_color_capabilities)
(get_tty_terminal, term_mouse_movement)
(handle_one_term_event, init_tty, maybe_fatal):
* termcap.c (tgetst1, struct termcap_buffer, valid_filename_p)
(tgetent, scan_file, name_match, compare_contin):
* terminal.c (get_terminal):
Use bool for boolean.
* sysdep.c (init_system_name): Don't overflow stack on huge hostname.
Prefer char to unsigned char if either will do.
* term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int.
(tty_write_glyphs): Prefer int to unsigned.
(produce_glyphless_glyph): Remove 2nd (unused) int arg.
All callers changed.
* termcap.c (tprint, main) [TEST]: Remove non-working test.
Juanma Barranquero [Thu, 11 Jul 2013 01:49:17 +0000 (03:49 +0200)]
lisp/subr.el (delay-warning): New function.
Paul Eggert [Wed, 10 Jul 2013 23:23:57 +0000 (16:23 -0700)]
Port to C89.
* lib-src/ebrowse.c (USAGE): Remove macro with too-long string literal ...
(usage_message): ... and replace it with this new static constant
containing multiple literals. All uses changed.
* lib-src/emacsclient.c (print_help_and_exit):
Rewrite to avoid string literals longer than the C89 limits.
(start_daemon_and_retry_set_socket):
Rewrite to avoid non-constant array initializer.
* lib-src/make-docfile.c (enum global_type): Omit trailing comma.
* src/bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__.
(B__dummy__): New dummy symbol, to pacify C89.
* src/dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since
they can't grok varargs macros.
* src/dispnew.c (add_window_display_history)
(add_frame_display_history):
* src/print.c (print_object):
* src/xdisp.c (debug_method_add):
Use %p printf format only for void pointers.
* src/emacs.c (usage_message): New constant, replacing ...
(USAGE1, USAGE2, USAGE3): Remove; they were too long for C89.
(main): Adjust to usage reorg.
* src/fns.c (syms_of_fns):
* src/profiler.c (syms_of_profiler):
Don't use non-constant struct initializers.
* src/gnutls.h (gnutls_initstage_t):
* src/lisp.h (enum Lisp_Fwd_Type):
* src/lread.c (lisp_file_lexically_bound_p):
* src/xsettings.c (anonymous enum):
Remove trailing comma.
* src/xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism.
* src/lisp.h (ENUM_BF): Use unsigned if pedantic.
(DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99.
(DEFUN): Use it.
* src/regex.c (const_re_char): New type, to pacify strict C89.
All uses of 'const re_char' replaced to use it.
* src/regex.h (_Restrict_): Rename from __restrict, to avoid clash
with glibc when strict C89. This change is imported from gnulib.
All uses changed.
(_Restrict_arr_): Rename from __restrict_arr, similarly.
* src/sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]:
Omit GNU_LINUX implementation, since it requires long long.
* src/xterm.c (x_draw_underwave):
Do not assume the traditional order of struct's members.
(x_term_init): Rewrite to avoid the need for non-constant structure
initializers.
David Engster [Wed, 10 Jul 2013 22:17:07 +0000 (22:17 +0000)]
gnus-start.el (gnus-clean-old-newsrc): Always remove 'unexist' marks if `gnus-newsrc-file-version' does not match `gnus-version'. This fixes a bug in Emacs trunk where the 'unexist' marks were always removed at startup because "Gnus v5.13" was considered smaller than "Ma Gnus v0.03".
Tassilo Horn [Wed, 10 Jul 2013 22:16:03 +0000 (22:16 +0000)]
gnus.el (gnus-summary-line-format): Docfix
Eli Zaretskii [Wed, 10 Jul 2013 16:18:17 +0000 (19:18 +0300)]
Improve scrolling when line-spacing != 0 and scroll-step = 1.
lisp/simple.el (default-line-height): New function.
(line-move-partial, line-move): Use it instead of computing the
line height inline.
(line-move-partial): Always compute ROWH. If the last line is
partially-visible, but its text is completely visible, allow
cursor to enter such a partially-visible line.
Paul Eggert [Wed, 10 Jul 2013 16:11:09 +0000 (09:11 -0700)]
Syntax cleanup, mostly replacing macros with functions.
This removes the need for the syntax_temp hack.
* search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR.
* syntax.c (SYNTAX_INLINE): New macro.
(SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND)
(SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND)
(SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB)
(SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2)
(SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE)
(SYNTAX_COMEND_FIRST): Now functions, not macros.
(ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE):
Now constants, not macros.
(syntax_temp) [!__GNUC__]: Remove.
(SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p.
(syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here.
(SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH)
(SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT):
Move here from syntax.h; now functions, not macros. Except for the
last function, these are static since only syntax.c uses them.
(syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK.
All uses changed. Now a function, not a macro; use this fact
to simplify the code.
(scan_lists, scan_sexps_forward): Remove workarounds for ancient
compiler bugs; no longer relevant.
* syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
(SYNTAX_INLINE): New macro.
(struct gl_state_s, gl_state): Move earlier, so that it's in scope
for the new functions. Use bool for boolean member.
(SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH)
(SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD)
(UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
(SETUP_BUFFER_SYNTAX_TABLE):
Now extern inline functions, not macros.
(CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT):
Remove; all uses replaced by implementation.
(syntax_temp) [!__GNUC__]: Remove decl.
(SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl.
Michael Albinus [Wed, 10 Jul 2013 15:18:39 +0000 (17:18 +0200)]
Fix last patch.
Michael Albinus [Wed, 10 Jul 2013 14:58:26 +0000 (16:58 +0200)]
Improve error messages. (Bug#14808)
* net/tramp.el (tramp-current-connection): New defvar, moved from
tramp-sh.el.
(tramp-message-show-progress-reporter-message): Removed, not
needed anymore.
(tramp-error-with-buffer): Show message in minibuffer. Discard
input before waiting. Reset connection timestamp.
(with-tramp-progress-reporter): Improve messages.
(tramp-process-actions): Use progress reporter. Delete process in
case of error. Improve messages.
* net/tramp-sh.el (tramp-barf-if-no-shell-prompt): Use
condition-case. Call `tramp-error-with-buffer' with vector and buffer.
(tramp-current-connection): Removed.
(tramp-maybe-open-connection): The car of
`tramp-current-connection' are the first 3 slots of the vector.
Ted Zlatanov [Wed, 10 Jul 2013 14:34:13 +0000 (10:34 -0400)]
* progmodes/cfengine.el: Do not indent inside continued strings.
Michael Albinus [Wed, 10 Jul 2013 14:07:17 +0000 (16:07 +0200)]
Add comment.
Jan Djärv [Wed, 10 Jul 2013 11:27:15 +0000 (13:27 +0200)]
* emacs.c (main): Fix syntax error.
Glenn Morris [Wed, 10 Jul 2013 10:17:38 +0000 (06:17 -0400)]
Auto-commit of generated files.
Paul Eggert [Wed, 10 Jul 2013 06:41:37 +0000 (23:41 -0700)]
* Makefile.in (removenullpaths): Remove adjacent null paths.
Fixes: debbugs:14835
Paul Eggert [Wed, 10 Jul 2013 06:26:23 +0000 (23:26 -0700)]
Timestamp fixes for undo.
* doc/lispref/text.texi (Undo):
Document (t . 0) and (t . -1) in buffer-undo-list.
* etc/NEWS: Changes to visited-file-modtime, set-visited-file-modtime.
* lisp/files.el (clear-visited-file-modtime): Move here from fileio.c.
* src/atimer.c (schedule_atimer):
* src/fileio.c (Ffile_newer_than_file_p):
Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
* src/buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
* src/fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
(syms_of_fileio): Remove Sclear_visited_file_name.
(Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
file doesn't exist; this avoids an ambiguity with negative timestamps.
(Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
* src/systime.h (make_emacs_time, invalid_emacs_time):
Don't assume struct timespec layout; POSIX doesn't guarantee it.
(EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
* src/undo.c (record_first_change): Push (visited-file-modtime) onto
undo list rather than reimplementing it by hand, incorrectly.
Fixes: debbugs:14824
Leo Liu [Wed, 10 Jul 2013 03:10:27 +0000 (11:10 +0800)]
* files.el (require-final-newline): Allow safe local value.
Fixes: debbugs:14834
Peter Rosin [Tue, 9 Jul 2013 18:06:25 +0000 (21:06 +0300)]
Avoid nexted functions in AC_LANG_PROGRAM test for Windows headers.
configure.ac (HAVE_W32): Avoid nested functions (the second
argument of AC_LANG_PROGRAM is already expanded inside a
function).
Fixes: debbugs:14830
Paul Eggert [Tue, 9 Jul 2013 17:16:21 +0000 (10:16 -0700)]
Port recent close-on-exec changes to Cygwin.
* lib/binary-io.c, lib/binary-io.h: New files.
Merge from gnulib, incorporating:
2013-07-09 accept4, dup3, pipe2: port to Cygwin
* lib/pipe2.c: Update from gnulib, as part of this merge.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
Fixes: debbugs:14821
Ken Brown [Tue, 9 Jul 2013 13:56:47 +0000 (09:56 -0400)]
* src/sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB.
Glenn Morris [Tue, 9 Jul 2013 10:17:37 +0000 (06:17 -0400)]
Auto-commit of generated files.
Juanma Barranquero [Tue, 9 Jul 2013 09:53:00 +0000 (11:53 +0200)]
src/makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update.
Michael Albinus [Tue, 9 Jul 2013 07:52:25 +0000 (09:52 +0200)]
* automated/file-notify-tests.el (file-notify-test00-availability):
Set :expected-result.
(file-notify-test01-add-watch, file-notify-test01-add-watch-remote)
(file-notify-test02-events, file-notify-test02-events-remote)
(file-notify-test03-autorevert, file-notify-test03-autorevert-remote):
Skip when `file-notify-support' is nil. (Bug#14823)
Glenn Morris [Tue, 9 Jul 2013 07:43:12 +0000 (00:43 -0700)]
* automated/inotify-test.el (inotify-add-watch, inotify-rm-watch): Declare.
(inotify-file-watch-simple): Silence compiler.
Glenn Morris [Tue, 9 Jul 2013 07:35:26 +0000 (00:35 -0700)]
* test/automated/python-tests.el (python-indent-block-enders):
Make it actually test something.
Glenn Morris [Tue, 9 Jul 2013 07:14:39 +0000 (00:14 -0700)]
ChangeLog fix
Glenn Morris [Tue, 9 Jul 2013 07:11:50 +0000 (00:11 -0700)]
Explictly require ert in some test/automated/*.el files
* automated/add-log-tests.el, automated/advice-tests.el:
* automated/imenu-test.el, automated/python-tests.el:
* automated/ruby-mode-tests.el, automated/xml-parse-tests.el:
Explictly require ert.
Paul Eggert [Tue, 9 Jul 2013 07:04:48 +0000 (00:04 -0700)]
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.
Glenn Morris [Tue, 9 Jul 2013 06:59:45 +0000 (23:59 -0700)]
ChangeLog fix
Paul Eggert [Tue, 9 Jul 2013 06:29:29 +0000 (23:29 -0700)]
* filelock.c: Fix comment to match code.
Leo Liu [Tue, 9 Jul 2013 05:09:45 +0000 (13:09 +0800)]
* ido.el (ido-add-virtual-buffers-to-list): Robustify. (Bug#14552)
Paul Eggert [Tue, 9 Jul 2013 05:04:45 +0000 (22:04 -0700)]
Space between "defined" and "(".
Leo Liu [Tue, 9 Jul 2013 02:47:44 +0000 (10:47 +0800)]
* ido.el (ido-read-directory-name): Handle fallback.
(ido-read-file-name): Update DIR to ido-current-directory.
Fixes: debbugs:1516
Dmitry Gutov [Tue, 9 Jul 2013 01:17:48 +0000 (05:17 +0400)]
* 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.
Gnus developers [Mon, 8 Jul 2013 23:51:26 +0000 (23:51 +0000)]
Merge changes made in Gnus master
Stefan Monnier [Mon, 8 Jul 2013 22:26:37 +0000 (18:26 -0400)]
* lisp/faces.el (tty-setup-hook): Declare the hook.
Stefan Monnier [Mon, 8 Jul 2013 21:54:54 +0000 (17:54 -0400)]
* 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
Jan Djärv [Mon, 8 Jul 2013 17:54:39 +0000 (19:54 +0200)]
* NEWS: NS can be build with ImageMagick.
Eli Zaretskii [Mon, 8 Jul 2013 17:33:17 +0000 (20:33 +0300)]
Fix lisp/ChangeLog entry for last commit.
Eli Zaretskii [Mon, 8 Jul 2013 17:30:50 +0000 (20:30 +0300)]
Improve scrolling when line-spacing is non-nil.
lisp/simple.el (line-move-partial, line-move): Account for
line-spacing.
Jan Djärv [Mon, 8 Jul 2013 13:26:13 +0000 (15:26 +0200)]
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
Kenichi Handa [Mon, 8 Jul 2013 11:55:58 +0000 (20:55 +0900)]
merge trunk
Kenichi Handa [Mon, 8 Jul 2013 11:51:55 +0000 (20:51 +0900)]
decoder-tests.el (decoder-tests-prefer-utf-8-read):
Use with-ccoding-priority to avoid side-effect (Bug#14781).
Lars Magne Ingebrigtsen [Mon, 8 Jul 2013 11:19:51 +0000 (13:19 +0200)]
* net/shr.el (shr-map): Reinstate the `u' key binding
It's been used a while.
Glenn Morris [Mon, 8 Jul 2013 10:17:45 +0000 (06:17 -0400)]
Auto-commit of generated files.
Paul Eggert [Mon, 8 Jul 2013 06:15:38 +0000 (23:15 -0700)]
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
Paul Eggert [Mon, 8 Jul 2013 03:20:35 +0000 (20:20 -0700)]
Remove stray empty line.
Paul Eggert [Sun, 7 Jul 2013 23:22:43 +0000 (16:22 -0700)]
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
Juanma Barranquero [Sun, 7 Jul 2013 23:05:52 +0000 (01:05 +0200)]
ChangeLog fixes.
Juanma Barranquero [Sun, 7 Jul 2013 22:50:34 +0000 (00:50 +0200)]
lisp/subr.el (read-quoted-char): Remove unused local variable `char'.
Michael Kifer [Sun, 7 Jul 2013 19:35:54 +0000 (15:35 -0400)]
* 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.
Eli Zaretskii [Sun, 7 Jul 2013 18:48:16 +0000 (21:48 +0300)]
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.
Paul Eggert [Sun, 7 Jul 2013 18:00:14 +0000 (11:00 -0700)]
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
Eli Zaretskii [Sun, 7 Jul 2013 15:49:03 +0000 (18:49 +0300)]
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.
Jan Djärv [Sun, 7 Jul 2013 08:41:09 +0000 (10:41 +0200)]
*** empty log message ***
Paul Eggert [Sun, 7 Jul 2013 07:28:29 +0000 (00:28 -0700)]
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.
Gnus developers [Sat, 6 Jul 2013 23:40:56 +0000 (23:40 +0000)]
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).
Glenn Morris [Sat, 6 Jul 2013 19:17:22 +0000 (12:17 -0700)]
* etc/NEWS: Tweak +++/--- description
Glenn Morris [Sat, 6 Jul 2013 18:28:54 +0000 (11:28 -0700)]
* 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'.
Jan Djärv [Sat, 6 Jul 2013 17:58:41 +0000 (19:58 +0200)]
* 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.
Eli Zaretskii [Sat, 6 Jul 2013 17:38:24 +0000 (20:38 +0300)]
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)
Michael Albinus [Sat, 6 Jul 2013 16:17:16 +0000 (18:17 +0200)]
* net/tramp-sh.el (tramp-sh-file-gvfs-monitor-dir-process-filter):
(tramp-sh-file-inotifywait-process-filter): Handle file names with spaces.
Michael Albinus [Sat, 6 Jul 2013 16:12:04 +0000 (18:12 +0200)]
Add TODO entry.
Martin Rudalics [Sat, 6 Jul 2013 14:24:54 +0000 (16:24 +0200)]
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.
Juanma Barranquero [Sat, 6 Jul 2013 13:31:59 +0000 (15:31 +0200)]
lisp/simple.el (alternatives-define): Remove leftover :group keyword.
Tweak docstring.
David Kastrup [Sat, 6 Jul 2013 12:49:38 +0000 (12:49 +0000)]
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
Leo Liu [Sat, 6 Jul 2013 12:37:12 +0000 (20:37 +0800)]
* 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.
Eli Zaretskii [Sat, 6 Jul 2013 10:41:38 +0000 (13:41 +0300)]
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.
Juanma Barranquero [Sat, 6 Jul 2013 09:37:29 +0000 (11:37 +0200)]
etc/NEWS: Fix typos.
Juanma Barranquero [Sat, 6 Jul 2013 09:35:37 +0000 (11:35 +0200)]
lisp/simple.el (alternatives-define): New macro.
etc/NEWS: Document new "generic commands" support.
Eli Zaretskii [Sat, 6 Jul 2013 08:05:21 +0000 (11:05 +0300)]
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.
Paul Eggert [Sat, 6 Jul 2013 02:40:50 +0000 (19:40 -0700)]
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.
Glenn Morris [Sat, 6 Jul 2013 02:32:13 +0000 (19:32 -0700)]
* admin/admin.el (make-manuals): Avoid hard-coding list of misc manuals.
(manual-misc-manuals): New function.
Glenn Morris [Sat, 6 Jul 2013 01:39:21 +0000 (18:39 -0700)]
Merge from emacs-24; up to 2012-12-30T19:34:25Z!jan.h.d@swipnet.se
Glenn Morris [Sat, 6 Jul 2013 01:19:46 +0000 (18:19 -0700)]
* mh-e.texi (Using This Manual): Printed elisp manuals no longer available.
Glenn Morris [Sat, 6 Jul 2013 01:17:50 +0000 (18:17 -0700)]
* doc/misc/mh-e.texi (Using This Manual): Refer to shop.fsf.org.
Glenn Morris [Sat, 6 Jul 2013 01:05:20 +0000 (18:05 -0700)]
* doc/misc/mh-e.texi: Fix external links.