Commit graph

185 commits

Author SHA1 Message Date
Claudio Bley
019c8218f0 lisp/term/w32-win.el (dynamic-library-alist): Support libtiff v4.x on w32. 2013-11-01 11:04:16 +02:00
Claudio Bley
ac1bf374c2 Support libpng DLLs of versions beyond 1.4.x on MS-Windows.
lisp/term/w32-win.el (dynamic-library-alist): Support versions of
 libpng beyond 1.4.x.
2013-11-01 10:57:55 +02:00
Claudio Bley
d14c81eec7 Support newer versions of libjpeg on MS-Windows.
src/image.c (Qlibjpeg_version): New variable.
 (syms_of_image): DEFSYM and initialize it.

 lisp/term/w32-win.el (dynamic-library-alist): Support newer versions
 of libjpeg starting with v7: look only for the DLL from the
 version against which Emacs was built.
2013-11-01 10:52:22 +02:00
Eli Zaretskii
a5dab1594a MS-Windows follow-up to 2013-10-10T01:03:11Z!rgm@gnu.org: support giflib 5.x.
src/image.c (GIFLIB_MAJOR): Define to 4 if undefined.
 (GIFLIB_MINOR, GIFLIB_RELEASE): Define to zero if undefined.
 (GifErrorString) [GIFLIB_MAJOR >= 5]: Define a function pointer.
 (gif_load): For giflib v5.x and later, display the error message
 produced by giflib when its functions fail.
 (syms_of_image) <Qlibgif_version> [HAVE_NTGUI]: New DEFSYM.

 lisp/term/w32-win.el (dynamic-library-alist): Define separate lists
 of GIF DLLs for versions before and after 5.0.0 of giflib.

Fixes: debbugs:15531
2013-10-10 18:30:21 +03:00
Glenn Morris
5fa89513d5 * term/w32-win.el (create-default-fontset): Declare. 2013-09-17 21:32:01 -07:00
Eli Zaretskii
594a430782 Fix build with zlib on MS-Windows.
configure.ac (LIBZ): Comment on w32 peculiarities regarding LIBZ.

 src/decompress.c [WINDOWSNT]: Include windows.h and w32.h.
 (DEF_ZLIB_FN, LOAD_ZLIB_FN) [WINDOWSNT]: New macros.  Use them to
 define static variables that are pointers to zlib functions to be
 dynamically loaded.
 (init_zlib_functions) [WINDOWSNT]: New function.
 (fn_inflateInit2_, fn_inflate, fn_inflateEnd, fn_inflateInit2):
 New macros.
 (Fdecompress_gzipped_region, unwind_decompress): Use the fn_*
 macros instead of invoking the zlib functions directly.
 (syms_of_decompress): DEFSYM Qzlib_dll.  Staticpro
 Szlib_available_p.

 lisp/term/w32-win.el (dynamic-library-alist): Add DLLs for zlib.
2013-08-12 16:15:01 +03:00
Juanma Barranquero
51646b62bd Silence byte-compiler warnings.
lisp/minibuffer.el (completion--twq-all):
lisp/term/ns-win.el (ns-initialize-window-system):
lisp/term/w32-win.el (w32-initialize-window-system): Mark unused argument.
2013-04-16 04:41:37 +02:00
Dmitry Antipov
ebb19708e7 Do not set x-display-name until X connection is established.
This is needed to prevent from weird situation described at
<http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00212.html>.
* frame.el (make-frame): Set x-display-name after call to
window system initialization function, not before.
* term/x-win.el (x-initialize-window-system): Add optional
display argument and use it.
* term/w32-win.el (w32-initialize-window-system):
* term/ns-win.el (ns-initialize-window-system):
* term/pc-win.el (msdos-initialize-window-system):
Add compatible optional display argument.
2013-04-06 18:06:39 +04:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Daniel Colascione
a16ac13f62 Backport: Rename cygwin_convert_path* to cygwin_convert_file_name* 2012-11-20 11:28:53 -08:00
Daniel Colascione
6e9f7997b3 Rename cygwin_convert_path* to cygwin_convert_file_name* 2012-11-18 17:39:37 -08:00
Juanma Barranquero
d7fe635216 lisp/*.el: Add missing declarations.
* descr-text.el (quail-find-key):
* dired.el (desktop-file-name):
* dirtrack.el (shell-prefixed-directory-name, shell-process-cd):
* generic-x.el (comint-mode, comint-exec):
* image-dired.el (widget-forward):
* info.el (speedbar-add-expansion-list, speedbar-center-buffer-smartly)
(speedbar-change-expand-button-char)
(speedbar-change-initial-expansion-list, speedbar-delete-subblock)
(speedbar-make-specialized-keymap, speedbar-make-tag-line):
* printing.el (easy-menu-add-item, easy-menu-remove-item)
(widget-field-action, widget-value-set):
* speedbar.el (imenu--make-index-alist):
* term.el (ring-empty-p, ring-ref, ring-insert-at-beginning)
(ring-length, ring-insert):
* vcursor.el (compare-windows-skip-whitespace):
* woman.el (dired-get-filename):
Declare functions.

* term/w32-win.el (cygwin-convert-path-from-windows): Fix declaration.
2012-11-17 22:52:12 +01:00
Eli Zaretskii
3804f7bc78 Fix bug #12914 with drag-n-drop in native MS-Windows build.
lisp/term/w32-win.el (w32-handle-dropped-file): Use 'file://' only on
 Cygwin; otherwise use 'file:'.
 (cygwin-convert-path-from-windows): Declare, to avoid
 byte-compiler warnings.
2012-11-17 22:41:21 +02:00
Daniel Colascione
faeafc0133 Use right url-handler for drag-and-dropped files under Windows 2012-11-15 15:28:27 -08:00
Glenn Morris
9a5f296f69 Update some function declarations
* w32-fns.el (set-message-beep):
* term/w32-win.el (set-message-beep): Update declarations.
2012-10-09 00:08:26 -07:00
Daniel Colascione
efc3dd3ccc Detect window-system from display name 2012-09-17 03:55:05 -08:00
Daniel Colascione
0fda9b750e Implement cygw32
Here, we use the generic window-system configuration system we just
implemented to support the w32 window-system in the mainline build
under Cygwin.  (Previously, the w32 window system could only be
compiled as part of the NT-native Emacs build process.)

The changes in this patch need to be applied atomically in order to
avoid breaking Emacs.  The changes include:

  - Changes throughout the Lisp and C code to not assume that
      NT Emacs and the w32 window system are synonymous.

  - Wiring up the regular select(2) event loop to Windows messages

  - Cleaning up the w32 drag-and-drop receiving code.

  - Exposing Cygwin path conversion functions to elisp.

  - Unicode file dialog support when compiling for Cygwin.

  - Splitting the w32 term lisp initialization code into code
    applicable to any w32 window-system and code specific to
    system-type windows-nt.

  - Integrating the old and new w32 code into the build system.
2012-09-17 03:55:02 -08:00
Chong Yidong
15cd8efd04 Fix application of menu-bar-mode etc. by X resources.
* lisp/startup.el (x-apply-session-resources): New function.

* lisp/term/ns-win.el (ns-initialize-window-system):
* lisp/term/w32-win.el (w32-initialize-window-system):
* lisp/term/x-win.el (x-initialize-window-system): Use it to properly
set menu-bar-mode and other vars from X resources, even if the initial
frame is not a window-system frame (Bug#2299).
2012-04-27 13:40:46 +08:00
Eli Zaretskii
9078ead6ce Support building on MS-Windows with libxml2.
src/makefile.w32-in (OBJ2): Add xml.$(O).
 (GLOBAL_SOURCES): Add xml.c.
 ($(BLD)/xml.$(O)): New dependency list.
 src/xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
 (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
 (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
 [!WINDOWSNT]: New macros.
 (init_libxml2_functions, libxml2_loaded_p): New functions.
 (parse_region): Call fn_xmlCheckVersion instead of using the macro
 LIBXML_TEST_VERSION.  Call libxml2 functions via the fn_* macros.
 (xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
 Calls xmlCleanupParser only if libxml2 was loaded (or statically
 linked in).
 (Flibxml_parse_html_region, Flibxml_parse_xml_region): Call
 init_libxml2_functions before calling libxml2 functions.
 (syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
 src/emacs.c: Don't include libxml/parser.h.
 (shut_down_emacs): Call xml_cleanup_parser, instead of calling
 xmlCleanupParser directly.
 src/ lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.

 nt/configure.bat: Support building with libxml2.
 nt/INSTALL:
 nt/README.W32: Add information about libxml2.

 lisp/term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs.

 lib-src/makefile.w32-in (obj): Add xml.o.
2012-04-07 16:57:36 +03:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Eli Zaretskii
651e947eb8 Allow Emacs on w32 to build against and work with GnuTLS 3.x.
src/gnutls.c (init_gnutls_functions): Load gnutls_check_version.
 Load gnutls_transport_set_lowat only if GnuTLS version is below
 2.11.1.
 (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
 GnuTLS versions below 2.11.1.
 lisp/term/w32-win.el (dynamic-library-alist) <gnutls>: Load
 libgnutls-28.dll, from GnuTLS version 3.x, in preference to
 libgnutls-26.dll.
2012-01-01 18:26:51 +02:00
Juanma Barranquero
5430d39930 * lisp/term/w32-win.el (w32-default-color-map): Declare obsolete.
* src/w32fns.c (w32_default_color_map): New function, extracted from
  Fw32_default_color_map.
  (Fw32_default_color_map, Fx_open_connection): Use it.
2011-10-26 15:42:33 +02:00
Juanma Barranquero
0898ca10c0 Implement dynamic loading of GnuTLS on Windows.
* lisp/term/w32-win.el (dynamic-library-alist): Add `gnutls'.

* nt/INSTALL: Clarify GnuTLS support.

* src/callproc.c, src/emacs.c: Include lisp.h before src/w32.h, not after.

* src/gnutls.c (Qgnutls_dll): Define.
  (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros.
  (gnutls_*): Declare function pointers.
  (init_gnutls_functions): New function to initialize function pointers.
  (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit)
  (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers.
  (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
  Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno.
  (emacs_gnutls_write, emacs_gnutls_read)
  (emacs_gnutls_handle_error, Fgnutls_error_fatalp)
  (Fgnutls_available_p): New function.
  (Fgnutls_boot): Call Fgnutls_available_p.  Use function pointers.
  (syms_of_gnutls) <Qgnutls_dll>: Initialize and staticpro it.
  (syms_of_gnutls) <Sgnutls_available_p>: defsubr it.

* src/gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro.
  (emacs_gnutls_write, emacs_gnutls_read): Mark as extern.
  (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
  Declare.

* src/w32.c (QCloaded_from, Vlibrary_cache): Define.
  (w32_delayed_load): Move from image.c.  When loading a library, record
  its filename in the :loaded-from property of the library id.
  (globals_of_w32) <QCloaded_from, Vlibrary_cache>:
  Initialize and staticpro them.
  (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions.

* src/image.c: Include w32.h.
  (Vimage_type_cache): Delete.
  (syms_of_image) <Vimage_type_cache>: Don't initialize and staticpro it.
  (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead.
  (w32_delayed_load): Move to w32.c.

* src/process.c: Include lisp.h before src/w32.h, not after.
  (wait_reading_process_output): Call emacs_gnutls_record_check_pending
  instead of gnutls_record_check_pending.

* src/w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
2011-05-04 16:03:16 +02:00
Glenn Morris
8d7b5b5ba9 * lisp/term/w32-win.el (libpng-version): Declare for compiler. 2011-02-02 23:31:42 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
7c420169ba Merge changes from emacs-23 branch 2011-01-02 15:31:19 -05:00
Eli Zaretskii
5be1c984b7 Fix bug #7716 with PNG image support libraries on Windows.
src/image.c <Qlibpng_version>: New variable.
 (syms_of_image): Intern and staticpro it.  Set its value to the
 version of PNG library we were compiled with.
 (my_png_error, png_load): Avoid GCC warnings about direct access
 to png_ptr->jmpbuf.
 lisp/term/w32-win.el (image-library-alist): Set up correctly for
 libpng versions both before and after 1.4.0.
 admin/nt/README.W32: Update the information about PNG support libraries.
 nt/INSTALL: Update the information about PNG support libraries.
2010-12-31 14:38:06 +02:00
Glenn Morris
a44d921f06 Move some more shared x-, w32- things to common-win.
* term/ns-win.el (x-select-text): Doc fix.
* w32-fns.el (x-alternatives-map, x-setup-function-keys)
(x-select-text): Move to term/common-win.
* term/w32-win.el (xw-defined-colors): Move to common-win.
* term/x-win.el (xw-defined-colors, x-alternatives-map)
(x-setup-function-keys, x-select-text): Move to common-win.
* term/common-win.el (x-select-text, x-alternatives-map)
(x-setup-function-keys, xw-defined-colors): Merge x- and w32-
definitions here.
2010-10-24 15:04:45 -07:00
Juanma Barranquero
2e288d54f0 Rename image-library-alist' to dynamic-library-alist'.
* etc/NEWS: Mention `dynamic-library-alist'.

* lisp/image.el (image-library-alist): Declare as obsolete alias.
  (image-type-available-p): Use `dynamic-library-alist'.

* lisp/term/w32-win.el (dynamic-library-alist):
  Use instead of `image-library-alist'.

* nt/INSTALL: Refer to `dynamic-library-alist'.

* src/image.c (Vimage_library_alist)
  (syms_of_image) <image-library-alist>: Move to src/emacs.c and rename.
  (lookup_image_type): Use Vdynamic_library_alist.
  (Finit_image_library): Doc fix.

* src/emacs.c (Vdynamic_library_alist)
  (syms_of_emacs) <dynamic-library-alist>: Move from src/image.c and rename.
  Doc fix.

* src/lisp.h (Vdynamic_library_alist): Declare extern.
2010-10-13 16:50:06 +02:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Glenn Morris
b15c31c722 Remove unused declarations. 2009-10-01 02:17:38 +00:00
Stefan Monnier
9f94990d7e * term/x-win.el (x-initialize-window-system):
* term/w32-win.el (w32-initialize-window-system):
* term/ns-win.el (ns-initialize-window-system): Don't call
mouse-wheel-mode since it's enabled globally by default already.
2009-09-12 19:04:24 +00:00
Kenichi Handa
0311148f52 (w32-initialize-window-system): Call
create-defualt-fontset, not setup-default-fontset.  Call
create-fontset-from-fontset-spec within condition-case.
2009-03-19 00:57:20 +00:00
Jason Rumney
31358bee63 (w32-initialize-window-system): Don't override
Japanese font settings.
(xlfd-regexp-registry-subnum): Remove unused declaration.
(w32-drag-n-drop-debug): Comment out unused debug function.
2009-03-11 15:59:30 +00:00
Jason Rumney
4603334027 (w32-initialize-window-system): Don't override
Japanese font settings.
2009-03-11 15:15:09 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Jason Rumney
06d6d4bb6f (image-library-alist): Add gobject library. 2009-01-02 15:54:28 +00:00
Glenn Morris
a70f4c6f55 (x-select-font): Declare. 2008-11-19 04:33:00 +00:00
Glenn Morris
f2d9c15f59 Add declarations for builds without X. 2008-08-11 01:23:07 +00:00
Dan Nicolaescu
d5e4dda5f6 * term/x-win.el (x-handle-switch, x-handle-numeric-switch)
(x-handle-initial-switch, x-handle-iconic, x-handle-xrm-switch)
(x-handle-geometry, x-handle-name-switch, x-display-name)
(x-handle-display, x-handle-args, x-colors): Move ...
* term/common-win.el: ... here.  New file.
* term/w32-win.el (x-handle-switch, x-handle-numeric-switch)
(x-handle-initial-switch, x-handle-iconic, x-handle-xrm-switch)
(x-handle-geometry, x-handle-name-switch, x-display-name)
(x-handle-display, x-handle-args, x-colors): Remove.
* loadup.el: Load term/common-win before term/x-win and term/w32-win.
2008-07-20 00:37:45 +00:00
Jason Rumney
aaa5e42077 (x-handle-switch, x-handle-name-switch)
(x-handle-numeric-switch, x-handle-initial-switch)
(x-handle-xrm-switch, x-handle-args, x-handle-display)
(xw-defined-colors, w32-initialize-window-system):
Avoid use of cl pop and push macros.
2008-07-14 10:30:56 +00:00
Jason Rumney
c652498926 (mouse-set-font): Remove overridden function.
(w32-select-font): Declare as obsolete alias for x-select-font.
2008-06-13 14:28:13 +00:00
Glenn Morris
aa360da10d Add some compiler declarations, for builds without X. 2008-06-12 03:56:20 +00:00
Jason Rumney
14f3467e1f * term/w32-win.el (w32-menu-bar-open): Rename from menu-bar-open.
Use tmm-menubar if menu is disabled in this frame.

* menu-bar.el (menu-bar-open): Determine how to open menu bar
from frame type, per documentation. Add w32 case.
2008-06-11 00:25:24 +00:00
Chong Yidong
2f8c51b55f Tweak last change. 2008-05-10 17:34:32 +00:00
Chong Yidong
3f2f222ab4 (x-colors): Re-order colors. 2008-05-10 17:28:09 +00:00
Glenn Morris
1fecc8feb6 Switch to recommended form of GPLv3 permissions notice. 2008-05-06 04:34:22 +00:00