Commit graph

15433 commits

Author SHA1 Message Date
Paul Eggert
512cdb9f2b Simplify read_dirent's MSDOS hacks
* dired.c (read_dirent): Simplify by removing the need for the
DIR_ENTRY argument.  All callers changed.  This separates the
MS-DOS idiosyncrasies better from the rest of the code.
2015-01-30 23:12:18 -08:00
Glenn Morris
2b9b98bdb7 # ChangeLog fixes
Merged ChangeLog entries go to the top, with the date of the merge.
It's a simple rule.
2015-01-30 00:01:24 -08:00
Eli Zaretskii
44ae136490 Fix error messages when readdir cannot open a directory on MS-Windows
src/dired.c (read_dirent): Accept an additional argument
 FIRST_ENTRY.  If readdir fails with ENOENT or EACCES the first
 time it is called, report the error as if it happened in
 open_directory.
 (directory_files_internal, file_name_completion): Adjust callers
 or read_dirent.
2015-01-30 08:48:32 +02:00
Paul Eggert
34d0859c4b Refactor calls to opendir for simplicity
* dired.c (open_directory): Accept Lisp_Object, not char *, for
dirname.  Signal an error if the open fails.  All callers changed.
2015-01-29 19:02:01 -08:00
Paul Eggert
4ab6e74a1c Report readdir failures
Previously, on non-MS-Windows platforms the code treated most
readdir failures as EOF.  This was incorrect, e.g., when readdir
fails with errno == EOVERFLOW.  Signal an error instead.
* dired.c (read_dirent):
New function, which signals an error when readdir fails.
(directory_files_internal, file_name_completion): Use it.
2015-01-29 15:33:20 -08:00
Paul Eggert
eadf313c72 Merge from origin/emacs-24
ad588af Improve the fix for bug #19701

Conflicts:
	src/ChangeLog
2015-01-29 13:54:51 -08:00
Eli Zaretskii
1dc1959ebf Commit src/ChangeLog for previous commit. 2015-01-29 20:46:03 +02:00
Paul Eggert
cdee38ab61 Use bool, not int, to track face changes
* xfaces.c (face_change): Rename from face_change_count, and
change from int to bool.  The var is now true (instead of nonzero)
if attributes have changed; this is simpler.  All uses changed.
Fixes: bug#19698
2015-01-28 11:15:23 -08:00
Eli Zaretskii
ad588afdaa Improve the fix for bug #19701
src/dired.c (directory_files_internal, file_name_completion)
 [WINDOWSNT]: Signal an error when errno is set non-zero by
 'readdir', regardless of its value.
 src/w32.c (sys_readdir): Set errno to ENOENT when the directory
 doesn't exist and to EACCES when it's not accessible to the
 current user.  Set errno to zero when FindNextFile exhausts the
 directory, so that callers don't interpret that as an error and
 don't signal a file-error.
 (open_unc_volume): Set errno to ENOENT if WNetOpenEnum fails.
2015-01-28 19:42:28 +02:00
Fabián Ezequiel Gallina
5491fd1098 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2015-01-28 01:31:15 -03:00
Fabián Ezequiel Gallina
95a2cb24b0 Merge from origin/emacs-24
9664def Signal a file-error from directory-files on MS-Windows  (Bug#19701)
fd4e65e Added missing test for previous commit
5485e3e5 python.el: New non-global state dependent indentation engine.
3b23e6a Fix the description of --insert command-line option  (Bug#19694)
7a7e594 Add a cross-reference in ELisp manual.  (Bug#19668)
b4f4075 Fixes: debbugs:19660
83b3c31 * test/automated/regexp-tests.el: Require regexp-opt

Conflicts:
	lisp/progmodes/python.el
2015-01-28 01:08:18 -03:00
Fabián Ezequiel Gallina
33ab7ee0ed Merge from origin/emacs-24
8ee825c doc/emacs/programs.texi (Custom C Indent): Fix a typo.  (Bug#19647)
88ba49f Fix coding.c subscript error
3ea1b31 Prevent artist-mode from creating runaway timers (Bug#6130).
2015-01-28 01:03:46 -03:00
Fabián Ezequiel Gallina
294127e7d5 Merge from origin/emacs-24
24aacfc Improve documentation of buttons  (Bug#19628)
52ae3db doc/lispref/text.texi (Clickable Text): Improve indexing.  (Bug#19629)
310f707 lisp/button.el (button-activate, push-button): Doc fix.  (Bug#19628)
3ee38f2 Disallow w32 builds --without-toolkit-scroll-bars.
e6518fc Fix display of images in R2L screen lines
b0af674 Use u+05f4 in TUTORIAL.he.
2015-01-28 01:03:45 -03:00
Fabián Ezequiel Gallina
4d0108a132 Merge from origin/emacs-24
a3505cb doc/lispref/variables.texi (Creating Buffer-Local): Improve indexing (Bug#19608)
d132c7b erc-backend.el: Give hook-name a default value of nil and add-to-list unconditionally. Fixes debbugs:19363
61cc7bf Fix support of non-ASCII frame titles on MS-Windows  (Bug#19590)
1e5902a * filenotify.el (file-notify--descriptor): Do not cons for remote files.
b1ea160 Handle watching of several files in the same directory for inotify.
2015-01-28 01:03:45 -03:00
Fabián Ezequiel Gallina
b0edd7c69d Merge from origin/emacs-24
b544ab5 Fix return value of vertical-motion at ZV  (Bug#19553)
1f179ea Fix encoding of I/O in net-utils.el for MS-Windows.  (Bug#19458)
70f298f Fix the description of -nl in --help text.  (Bug#19542)
2015-01-28 01:03:44 -03:00
Fabián Ezequiel Gallina
d7a89815b6 Merge from origin/emacs-24
d279e66 Fix assertion violations in try_window_id (Bug#19511)
031eadc Fix dired quoting bug with "Hit`N`Hide"
5981b4b More doc fixes for bug#19502 -- make documentation less X-specific.
143516c src/emacs.c (syms_of_emacs) <system-configuration>: Doc fix.  (Bug#19502)
2015-01-28 00:59:34 -03:00
Stefan Monnier
2668ac1aae Tighten up the tagcode used for eieio and cl-struct objects
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Set the function
slot of the tag symbol to :quick-object-witness-check.
(eieio-object-p): Use :quick-object-witness-check.
(eieio--generic-tagcode): Use cl--generic-struct-tag.
* lisp/emacs-lisp/cl-preloaded.el: New file.
* lisp/emacs-lisp/cl-macs.el (cl--bind-inits): Remove, unused.
(cl--transform-lambda, cl-destructuring-bind): Remove cl--bind-inits.
(cl--make-usage-args): Strip away &aux args.
(cl-case, cl-typecase, cl--parse-loop-clause): Use macroexp-let2.
(cl-the, cl-check-type): Use macroexp-let2 and cl-typep.
(cl-defstruct): Use `declare' and cl-struct-define.
* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): New function.
(cl--generic-struct-tagcode): Use it to tighten the tagcode.
* lisp/loadup.el: Load cl-preloaded.
* src/lisp.mk (lisp): Add cl-preloaded.
2015-01-27 22:41:31 -05:00
Eli Zaretskii
9664defd26 Signal a file-error from directory-files on MS-Windows (Bug#19701)
src/dired.c (directory_files_internal) [WINDOWSNT]: If readdir
 returns NULL and errno is ENOTDIR, behave as if opendir failed to
 open the directory.
 src/w32.c (sys_readdir): If FindFirstFile fails because the
 directory doesn't exist, set errno to ENOTDIR.
2015-01-27 21:02:13 +02:00
Paul Eggert
2639c2ed08 Use bool for boolean in xfaces.c
* dispextern.h: Adjust to signature changes.
* font.c (font_at, font_range):
* fontset.c (Finternal_char_font):
* fringe.c (draw_fringe_bitmap_1):
* xdisp.c (handle_face_prop, face_before_or_after_it_pos)
(get_next_display_element, highlight_trailing_whitespace)
(display_string, calc_line_height_property)
(note_mode_line_or_margin_highlight, note_mouse_highlight):
* xfaces.c (tty_suppress_bold_inverse_default_colors_p)
(menu_face_changed_default, recompute_basic_faces)
(Fbitmap_spec_p, parse_rgb_list, tty_lookup_color)
(tty_defined_color, defined_color, face_color_gray_p)
(face_color_supported_p, load_color2, load_face_colors)
(Fx_list_fonts, LFACEP, push_named_merge_point)
(resolve_face_name, lface_from_face_name_no_resolve)
(lface_from_face_name, get_lface_attributes_no_remap)
(get_lface_attributes, lface_fully_specified_p)
(set_lface_from_font, merge_face_vectors, merge_named_face)
(merge_face_ref, Finternal_make_lisp_face)
(Finternal_lisp_face_p, Finternal_copy_lisp_face)
(Finternal_set_lisp_face_attribute)
(update_face_from_frame_parameter, set_font_frame_param)
(face_boolean_x_resource_value)
(Finternal_set_lisp_face_attribute_from_resource)
(x_update_menu_appearance, Finternal_get_lisp_face_attribute)
(Finternal_merge_in_global_face, Fface_font, face_attr_equal_p)
(lface_equal_p, Finternal_lisp_face_equal_p)
(Finternal_lisp_face_empty_p, lface_same_font_attributes_p)
(Fcolor_distance, lookup_named_face, lookup_basic_face)
(lookup_derived_face, Fface_attributes_as_vector)
(x_supports_face_attributes_p, tty_supports_face_attributes_p)
(Fdisplay_supports_face_attributes_p, realize_basic_faces)
(realize_default_face, realize_named_face)
(realize_non_ascii_face, realize_x_face, map_tty_color)
(realize_tty_face, compute_char_face, face_at_buffer_position)
(face_for_overlay_string, face_at_string_position):
Use bool for boolean.
* xfaces.c (set_lface_from_font):
Return void, since callers never use the result.
2015-01-26 17:03:09 -08:00
Andreas Schwab
e912f35dc5 * image.c (lookup_pixel_color): Reorder conditions that are
written backwards.
(x_to_xcolors): Likewise.
(x_detect_edges): Likewise.
(png_load_body): Likewise.
(gif_close): Likewise.
(gif_load): Likewise.
2015-01-26 19:01:38 +01:00
Eli Zaretskii
03a20dc951 Use bool for boolean in w32term.c
src/w32term.c (x_update_window_begin, x_update_window_end)
 (x_update_end, x_after_update_window_line)
 (x_set_glyph_string_gc, x_draw_glyph_string_background)
 (x_draw_glyph_string_foreground)
 (x_draw_composite_glyph_string_foreground)
 (x_draw_glyphless_glyph_string_foreground)
 (x_draw_image_glyph_string, x_draw_glyph_string)
 (x_draw_stretch_glyph_string, note_mouse_movement)
 (w32_mouse_position, x_scroll_bar_report_motion)
 (x_horizontal_scroll_bar_report_motion, w32_read_socket)
 (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
 (w32_draw_window_cursor, x_new_font, x_set_offset)
 (x_set_window_size, x_make_frame_invisible, x_iconify_frame): Use
 bool where appropriate.
2015-01-26 00:03:14 +02:00
Eli Zaretskii
49b822741f Use bool for boolean in w32fns.c
src/w32fns.c (w32_defined_color, x_decode_color)
 (Fxw_color_defined_p, Fxw_color_values, x_set_icon_type)
 (x_set_menu_bar_lines, x_change_tool_bar_height)
 (x_set_internal_border_width, x_explicitly_set_name)
 (x_implicitly_set_name, Fx_create_frame, w32_window)
 (x_create_tip_frame, Fx_show_tip): Use bool where appropriate.
2015-01-25 23:12:35 +02:00
Paul Eggert
11a9f3779c Use bool for boolean in xfns.c
* xfaces.c (x_update_menu_appearance):
* xfns.c (x_real_positions, x_defined_color, x_decode_color)
(xg_set_icon, xg_set_icon_from_xpm_data, x_set_cursor_color)
(x_set_icon_type, x_set_icon_name, x_set_menu_bar_lines)
(x_change_tool_bar_height, x_set_internal_border_width)
(x_encode_text, x_set_name_internal, x_explicitly_set_name)
(x_implicitly_set_name, x_default_scroll_bar_color_parameter)
(hack_wm_protocols, xic_create_fontsetname, xic_free_xfontset)
(x_window, x_icon, Fx_wm_set_size_hint, Fx_create_frame)
(Fxw_color_defined_p, Fxw_color_values, x_create_tip_frame)
(Fx_show_tip, clean_up_file_dialog, Fx_file_dialog)
(clean_up_dialog, syms_of_xfns):
* xterm.h (xg_set_icon, xg_set_icon_from_xpm_data)
(xic_create_fontsetname):
Use bool for boolean.
* xfns.c: Include bitmaps/gray.xbm unconditionally.
2015-01-25 12:34:02 -08:00
Paul Eggert
a3689d3c66 Count MANY function args more reliably
* alloc.c (Fgc_status, purecopy, unbind_to, garbage_collect_1):
* buffer.c (Fbuffer_list, Fkill_buffer):
* callint.c (read_file_name, Fcall_interactively):
* charset.c (Fset_charset_priority, syms_of_charset):
* chartab.c (uniprop_encode_value_numeric):
* coding.c (syms_of_coding):
* composite.c (syms_of_composite):
* data.c (wrong_range):
* dbusbind.c (syms_of_dbusbind):
* dired.c (file_attributes):
* editfns.c (Fdecode_time, update_buffer_properties, format2):
* eval.c (run_hook_with_args_2, apply1, call1, call2, call3)
(call4, call5, call6, call7):
* fileio.c (Finsert_file_contents, choose_write_coding_system)
(Fcar_less_than_car, build_annotations, auto_save_error):
* filelock.c (get_boot_time):
* fns.c (internal_equal, nconc2, Fyes_or_no_p, Fwidget_apply):
(maybe_resize_hash_table, secure_hash):
* font.c (font_style_to_value, font_open_by_name, Flist_fonts):
* fontset.c (fontset_add, Fset_fontset_font):
* ftfont.c (ftfont_lookup_cache):
* gtkutil.c (xg_get_font):
* insdel.c (signal_before_change, signal_after_change):
* keymap.c (append_key):
* lread.c (load_warn_old_style_backquotes, Fload, init_lread):
* minibuf.c (Fread_buffer):
* print.c (print_preprocess):
* process.c (Fformat_network_address, Fmake_network_process)
(server_accept_connection):
* sound.c (Fplay_sound_internal):
* term.c (Fsuspend_tty, Fresume_tty):
* window.c (window_list):
* xdisp.c (run_redisplay_end_trigger_hook, add_to_log)
(message_with_string):
* xfaces.c (Fx_list_fonts):
* xfont.c (syms_of_xfont):
* xselect.c (x_handle_selection_request)
(x_handle_selection_clear, x_clear_frame_selections)
(x_clipboard_manager_error_1):
Prefer CALLMANY and CALLN to counting args by hand.
* doc.c (reread_doc_file): Remove unused code.
* fns.c (concat2, concat3): Redo to avoid need for local-var vector.
(cmpfn_user_defined, hashfn_user_defined, Fmaphash):
Prefer call1 and call2 to Ffuncall.
* keyboard.c (safe_run_hook_funcall, safe_run_hooks):
Use struct literal rather than a local var, for simplicity.
* keymap.c (where_is_internal): Use NULL rather than a pointer
to unused args.
* lisp.h (CALLMANY, CALLN): New macros.
* sound.c (Fplay_sound_internal): Coalesce duplicate code.
Fixes: bug#19634
2015-01-25 09:11:25 -08:00
Paul Eggert
f6ef836521 Use gnustep-config if available
* configure.ac (--with-gnustep): Document this.
(NS_GNUSTEP_CONFIG): New variable, set if gnustep-config works.
If gnustep-config works, use 'gnustep-config --objc-flags' and
'gnustep-config --gui-libs' to compute GNUstep configuration
variables, instead of attempting to infer them individually.
* etc/NEWS: Document this.
* src/emacs.c [NS_IMPL_GNUSTEP]: Don't include <GNUstepBase/GSConfig.h>.
It doesn't appear to be needed, and the inclusion breaks on
Ubuntu 14.10 when 'configure' uses 'gnustep-config'.
Fixes: bug#19507
2015-01-24 18:20:29 -08:00
Jan D
b4f40757ef Fixes: debbugs:19660
* nsterm.m (drawRect:): Add block/unblock_input.
2015-01-24 10:57:21 +01:00
Eli Zaretskii
3e359626e6 src/xdisp.c (init_iterator): Restore a comment lost in transition. 2015-01-22 19:57:18 +02:00
Paul Eggert
b631bb57cf Use bool for boolean in xfont.c, xftfont.c, xgselect.c
* xfont.c (xfont_driver, xfont_chars_supported)
(xfont_text_extents):
* xftfont.c (xftfont_get_colors, xftfont_open)
(xftfont_prepare_face, xftfont_done_face)
(xftfont_cached_font_ok):
* xgselect.c (xg_select):
Use bool for boolean.
2015-01-21 23:41:24 -08:00
Paul Eggert
8dd58a2d1f Don't downcase system diagnostics' first letters
* etc/NEWS: Document this.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/ffap.el (find-file-at-point):
* lisp/files.el (insert-file-1):
* lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
(ange-ftp-copy-file-internal):
* lisp/progmodes/etags.el (visit-tags-table):
* lisp/url/url-dav.el (url-dav-delete-directory, url-dav-delete-file)
(url-dav-directory-files):
Keep diagnostics consistent with system's.
* lisp/erc/erc-dcc.el (erc-dcc-server):
* lisp/ffap.el (ffap-machine-p):
Ignore case while comparing diagnostics.
* src/fileio.c (report_file_errno): Don't downcase, and simplify.
Fixes: bug#19642
2015-01-21 20:29:42 -08:00
Paul Eggert
74244d239e Better isolate code that assumes NIL_IS_ZERO
Suggested by Stefan Monnier in:
http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00588.html
* alloc.c (allocate_pseudovector):
Use memclear, not memsetnil, to remove a 'verify'.
* callint.c (Fcall_interactively):
* dispnew.c (realloc_glyph_pool):
* xdisp.c (init_iterator):
Use memclear, not memset, to remove a 'verify'.
* lisp.h (memclear): Rename from memsetnil, and take a byte
count rather than a word count.  All callers changed.
2015-01-21 20:03:34 -08:00
Paul Eggert
88ba49fe35 Fix coding.c subscript error
* coding.c (CODING_ISO_INVOKED_CHARSET):
Avoid undefined behavior if CODING_ISO_INVOCATION returns negative.
2015-01-21 00:29:32 -08:00
Paul Eggert
4c09e3aef9 Backport: correct old fix for GTK font selection
* gtkutil.c (xg_get_font): Fix off-by-2 typo.
Fixes: bug#3228
2015-01-20 22:05:58 -08:00
Jan D
87309740ca Backport from trunk of bug 19531.
Fixes: debbugs:19531

* nsterm.m (EV_TRAILER2): Set Vinhibit_quit to Qt.
2015-01-21 06:18:59 +01:00
Paul Eggert
0dd19ac826 Undo port to hypothetical nonzero Qnil case
This mostly undoes the previous change in this area.  See:
http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00570.html
* alloc.c (allocate_pseudovector):
* callint.c (Fcall_interactively):
* dispnew.c (realloc_glyph_pool):
* fringe.c (init_fringe):
* lisp.h (memsetnil):
* xdisp.c (init_iterator):
Simplify by assuming that Qnil is zero, but verify the assumption.
* lisp.h (NIL_IS_ZERO): Revert back to this symbol, removing
NIL_IS_NONZERO.  All uses changed.
2015-01-20 13:56:46 -08:00
Jan Djärv
a53b913229 Fix double chars in NS port.
Fixes: debbugs:19531

* nsterm.m (EV_TRAILER2): Set Vinhibit_quit to Qt.
2015-01-20 17:22:14 +01:00
Dmitry Antipov
f9775f21fc Prefer xlispstrdup to avoid dumb calls to strlen
* nsfont.m (ns_get_family):
* nsterm.m (ns_term_init):
* w32fns.c (w32_window):
* xfns.c (x_window, Fx_select_font): Use xlispstrdup.
2015-01-20 13:24:09 +03:00
Paul Eggert
ef5a526f1b Correct an old fix for GTK font selection
* gtkutil.c (xg_get_font): Fix off-by-2 typo.
Fixes: bug#3228
2015-01-19 20:43:09 -08:00
Paul Eggert
97bf923892 Fix minor bugs with printing null bytes
* minibuf.c (read_minibuf_noninteractive):
* xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]:
Work even if the Lisp string contains a null byte.
2015-01-19 20:29:26 -08:00
Paul Eggert
347e014471 Port to hypothetical case where Qnil is nonzero
* alloc.c (allocate_pseudovector):
* callint.c (Fcall_interactively):
* coding.c (syms_of_coding):
* dispnew.c (realloc_glyph_pool):
* fringe.c (init_fringe):
* lisp.h (memsetnil):
* xdisp.c (init_iterator):
Port to the currently-hypothetical case where Qnil is nonzero.
* dispnew.c (adjust_glyph_matrix): Remove unnecessary verification,
as there are no Lisp_Object values in the data here.
* lisp.h (NIL_IS_NONZERO): New symbol, replacing NIL_IS_ZERO.
All uses changed.  Define only if not already defined, so that one
can debug with -DNIL_IS_NONZERO.
* xdisp.c (init_iterator): Remove unnecessary initializations to 0.
2015-01-19 17:17:30 -08:00
Eli Zaretskii
fb6462f056 Verify that Qnil is zero before relying on that in redisplay.
src/dispnew.c (adjust_glyph_matrix, realloc_glyph_pool): Verify that
 Qnil is represented as zero, before using that to initialize parts
 of the glyph structure.
 src/xdisp.c (init_iterator): Verify that Qnil is represented as
 zero, before using that to initialize parts of the iterator
 structure.
2015-01-19 19:22:17 +02:00
Paul Eggert
b7f83adda5 Prefer memset to repeatedly assigning Qnil
* alloc.c (allocate_pseudovector): Catch more bogus values.
* alloc.c (allocate_pseudovector):
* callint.c (Fcall_interactively):
* coding.c (syms_of_coding):
* fringe.c (init_fringe):
Verify that Qnil == 0.
* callint.c (Fcall_interactively):
* eval.c (Fapply, Ffuncall):
* fns.c (mapcar1, larger_vector):
* font.c (font_expand_wildcards):
* fringe.c (init_fringe):
Prefer memset to assigning zeros by hand.
* callint.c (Fcall_interactively):
Remove duplicate assignment of Qnil to args[i].
* coding.c (syms_of_coding):
Prefer LISP_INITIALLY_ZERO to assigning zeros by hand.
* fileio.c (Ffile_selinux_context):
Rewrite to avoid need for Lisp_Object array.
* lisp.h (XLI_BUILTIN_LISPSYM): New macro.
(DEFINE_LISP_SYMBOL_END): Use it.
(NIL_IS_ZERO): New constant.
(memsetnil): New function.
2015-01-19 01:01:58 -08:00
Eli Zaretskii
e6518fc8f5 Fix display of images in R2L screen lines
src/xdisp.c (produce_image_glyph): Fix display of images in R2L
 screen lines: prepend the new glyph to the ones already there
 instead of appending it.
2015-01-17 20:32:16 +02:00
Dmitry Antipov
4303d11029 Prefer INLINE functions in font.h to match style used in lisp.h
* font.h (FONTP, FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P)
(CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
(XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, CHECK_FONT_GET_OBJECT):
Now functions.
* font.c (Ffont_otf_alternates, Fquery_font, Ffont_get_glyphs):
* ftfont.c (ftfont_shape):
* macfont.m (macfont_shape):
* w32uniscribe.c (uniscribe_shape):
* xftfont.c (xftfont_shape): Adjust CHECK_FONT_GET_OBJECT users.
2015-01-16 15:15:32 +03:00
Dmitry Antipov
7ee2733f1e Tiny lisp.h cleanup
* lisp.h (XTERMINAL): Add eassert.
* process.c (make_lisp_proc): Now static here.
2015-01-16 14:41:20 +03:00
Dmitry Antipov
3b48f99542 Tune pseudovector allocation assuming Qnil == 0
* alloc.c (allocate_pseudovector): Use memset for both
Lisp_Objects and regular slots.  Add zerolen arg.
* lisp.h (allocate_pseudovector): Adjust prototype.
(ALLOCATE_PSEUDOVECTOR): Adjust user.
(ALLOCATE_ZEROED_PSEUDOVECTOR): New macro.
(allocate_hash_table, allocate_window, allocate_frame)
(allocate_process, allocate_terminal): Remove prototypes.
* fns.c (allocate_hash_table): Now static here.
* frame.c (allocate_frame):
* process.c (allocate_process):
* terminal.c (allocate_terminal):
* window.c (allocate_window): Now static here.
Use ALLOCATE_ZEROED_PSEUDOVECTOR.  Add comment.
2015-01-16 11:42:24 +03:00
Paul Eggert
0adc75af18 Give up on -Wsuggest-attribute=const
The attribute doesn't help performance significantly, and the
warning seems to be more trouble than it's worth.  See the thread at:
http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00361.html
* configure.ac (WERROR_CFLAGS): Don't use -Wsuggest-attribute=const.
* lib-src/make-docfile.c (write_globals):
Remove special hack for Fnext_read_file_uses_dialog_p.
* src/decompress.c (Fzlib_available_p):
* src/gnutls.c (Fgnutls_available_p):
* src/gtkutil.h (xg_uses_old_file_dialog):
* src/xdisp.c (Ftool_bar_height):
* src/xmenu.c (popup_activated):
No longer const, since it's not const on at lest some
configurations, and we shouldn't lie to the compiler.
2015-01-15 20:37:44 -08:00
Eli Zaretskii
0f238ea450 Add set-binary-mode primitive to switch a standard stream to binary I/O.
src/fileio.c: Include binary-io.h.
 (Fset_binary_mode): New function.
 (syms_of_fileio): Defsubr it.
 (syms_of_fileio) <Qstdin, Qstdout, Qstderr>: DEFSYM them.

 admin/unidata/unidata/uvs.el (uvs-print-table-ivd): Call set-binary-mode on
 stdout.

 doc/lispref/streams.texi (Input Functions): Document 'set-binary-mode'.
 (Output Functions): Cross-reference to documentation of
 'set-binary-mode'.

 etc/NEWS: Mention 'set-binary-mode'.
2015-01-15 17:50:50 +02:00
Ted Zlatanov
3b7eed4ebb Flag :unknown-ca and :self-signed SSL certs (Bug#19404)
Fixes: debbugs:19404

* gnutls.c (init_gnutls_functions): Import gnutls_x509_crt_check_issuer.
(Fgnutls_peer_status): Use it to set the :self-signed flag.
Rename the previous :self-signed to :unknown-ca.
(Fgnutls_peer_status_warning_describe): Explain :unknown-ca flag.
2015-01-15 09:41:58 -05:00
Eli Zaretskii
e7db8e8d5d Fix crashes on MS-Windows due to pop-up menus (Bug#19596)
src/w32fns.c (w32_wnd_proc): Ignore MENUITEMINFO's dwItemData data
 when FLAGS indicate the item is not highlighted, i.e. it's not our
 help-echo string.
2015-01-14 20:51:33 +02:00
Eli Zaretskii
61cc7bf8c4 Fix support of non-ASCII frame titles on MS-Windows (Bug#19590)
src/w32fns.c (w32_set_title_bar_text): New function, including
 support for titles with non-ASCII characters outside of the
 current system codepage.
 (x_set_name, x_set_title): Use it.
2015-01-14 20:14:02 +02:00