comparison src/device-msw.c @ 563:183866b06e0b

[xemacs-hg @ 2001-05-24 07:50:48 by ben] Makefile.in.in, abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, casetab.c, chartab.c, cmdloop.c, cmds.c, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console.c, data.c, database.c, debug.c, device-gtk.c, device-msw.c, device-tty.c, device-x.c, device.c, dialog-gtk.c, dialog-msw.c, dialog-x.c, dialog.c, dired-msw.c, dired.c, doc.c, doprnt.c, dragdrop.c, editfns.c, eldap.c, eldap.h, elhash.c, emacs-widget-accessors.c, emacs.c, emodules.c, esd.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, filelock.c, floatfns.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, general-slots.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-gtk.c, gui-x.c, gui.c, gutter.c, hpplay.c, indent.c, input-method-xlib.c, insdel.c, intl.c, keymap.c, libsst.c, libsst.h, linuxplay.c, lisp.h, lread.c, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, miscplay.c, miscplay.h, mule-ccl.c, mule-charset.c, mule-wnnfns.c, mule.c, nas.c, ntplay.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay.c, scrollbar.c, search.c, select-gtk.c, select-x.c, select.c, sgiplay.c, sheap.c, sound.c, specifier.c, sunplay.c, symbols.c, symeval.h, symsinit.h, syntax.c, sysdep.c, toolbar-msw.c, toolbar.c, tooltalk.c, ui-byhand.c, ui-gtk.c, undo.c, unexaix.c, unexapollo.c, unexconvex.c, unexec.c, widget.c, win32.c, window.c: -- defsymbol -> DEFSYMBOL. -- add an error type to all errors. -- eliminate the error functions in eval.c that let you just use Qerror as the type. -- redo the error API to be more consistent, sensibly named, and easier to use. -- redo the error hierarchy somewhat. create new errors: structure-formation-error, gui-error, invalid-constant, stack-overflow, out-of-memory, process-error, network-error, sound-error, printing-unreadable-object, base64-conversion- error; coding-system-error renamed to text-conversion error; some others. -- fix Mule problems in error strings in emodules.c, tooltalk.c. -- fix error handling in mswin open-network-stream. -- Mule-ize all sound files and clean up the headers. -- nativesound.h -> sound.h and used for all sound files. -- move some shared stuff into glyphs-shared.c: first attempt at eliminating some of the massive GTK code duplication. xemacs.mak: add glyphs-shared.c. xemacs-faq.texi: document how to debug X errors subr.el: fix doc string to reflect reality
author ben
date Thu, 24 May 2001 07:51:33 +0000
parents a3adcf42bcec
children 6db80f4ab17c
comparison
equal deleted inserted replaced
562:c775bd016b32 563:183866b06e0b
629 /* Apply the new devmode to the printer and get a compete one back */ 629 /* Apply the new devmode to the printer and get a compete one back */
630 struct device *d = XDEVICE (ldm->device); 630 struct device *d = XDEVICE (ldm->device);
631 if (!sync_printer_with_devmode (d, devmode, ldm->devmode, new_name)) 631 if (!sync_printer_with_devmode (d, devmode, ldm->devmode, new_name))
632 { 632 {
633 global_free_2_maybe (hDevNames, hDevMode); 633 global_free_2_maybe (hDevNames, hDevMode);
634 error ("Printer device initialization I/O error, device deleted."); 634 signal_error (Qio_error, "Printer device initialization I/O error, device deleted", Qunbound);
635 } 635 }
636 } 636 }
637 else 637 else
638 { 638 {
639 /* Just copy the devmode structure */ 639 /* Just copy the devmode structure */
757 if (EQ (value, Qselection)) 757 if (EQ (value, Qselection))
758 flags |= PD_SELECTION; 758 flags |= PD_SELECTION;
759 else if (EQ (value, Qpages)) 759 else if (EQ (value, Qpages))
760 flags |= PD_PAGENUMS; 760 flags |= PD_PAGENUMS;
761 else if (!EQ (value, Qall)) 761 else if (!EQ (value, Qall))
762 invalid_argument ("Invalid value for :selected-page-button", 762 invalid_constant ("for :selected-page-button", value);
763 value);
764 } 763 }
765 else 764 else
766 syntax_error ("Unrecognized print-dialog keyword", key); 765 invalid_constant ("Unrecognized print-dialog keyword", key);
767 } 766 }
768 } 767 }
769 768
770 if ((UNBOUNDP (device) && UNBOUNDP (settings)) || 769 if ((UNBOUNDP (device) && UNBOUNDP (settings)) ||
771 (!UNBOUNDP (device) && !UNBOUNDP (settings))) 770 (!UNBOUNDP (device) && !UNBOUNDP (settings)))
772 syntax_error ("Exactly one of :device and :printer-settings must be given", 771 sferror ("Exactly one of :device and :printer-settings must be given",
773 keys); 772 keys);
774 773
775 return print_dialog_worker (!UNBOUNDP (device) ? device : settings, flags); 774 return print_dialog_worker (!UNBOUNDP (device) ? device : settings, flags);
776 } 775 }
777 776
827 { 826 {
828 CHECK_LIST (value); 827 CHECK_LIST (value);
829 plist = value; 828 plist = value;
830 } 829 }
831 else 830 else
832 syntax_error ("Unrecognized page-setup dialog keyword", key); 831 invalid_constant ("Unrecognized page-setup dialog keyword", key);
833 } 832 }
834 } 833 }
835 834
836 if ((UNBOUNDP (device) && UNBOUNDP (settings)) || 835 if ((UNBOUNDP (device) && UNBOUNDP (settings)) ||
837 (!UNBOUNDP (device) && !UNBOUNDP (settings))) 836 (!UNBOUNDP (device) && !UNBOUNDP (settings)))
838 syntax_error ("Exactly one of :device and :printer-settings must be given", 837 sferror ("Exactly one of :device and :printer-settings must be given",
839 keys); 838 keys);
840 839
841 if (UNBOUNDP (device)) 840 if (UNBOUNDP (device))
842 device = settings; 841 device = settings;
843 842
935 { 934 {
936 size_t dm_size = 935 size_t dm_size =
937 DocumentProperties (NULL, DEVICE_MSPRINTER_HPRINTER(d), 936 DocumentProperties (NULL, DEVICE_MSPRINTER_HPRINTER(d),
938 DEVICE_MSPRINTER_NAME(d), NULL, NULL, 0); 937 DEVICE_MSPRINTER_NAME(d), NULL, NULL, 0);
939 if (dm_size <= 0) 938 if (dm_size <= 0)
940 invalid_operation ("Unable to specialize settings, printer error", 939 signal_error (Qio_error,
941 device); 940 "Unable to specialize settings, printer error",
941 device);
942 942
943 assert (XDEVMODE_SIZE (ldm) <= dm_size); 943 assert (XDEVMODE_SIZE (ldm) <= dm_size);
944 ldm->devmode = xrealloc (ldm->devmode, dm_size); 944 ldm->devmode = xrealloc (ldm->devmode, dm_size);
945 } 945 }
946 946
947 /* If we bail out on signal here, no damage is done, except that 947 /* If we bail out on signal here, no damage is done, except that
948 the storage for the DEVMODE structure might be reallocated to 948 the storage for the DEVMODE structure might be reallocated to
949 hold a larger one - not a big deal */ 949 hold a larger one - not a big deal */
950 if (!sync_printer_with_devmode (d, ldm->devmode, ldm->devmode, 950 if (!sync_printer_with_devmode (d, ldm->devmode, ldm->devmode,
951 ldm->printer_name)) 951 ldm->printer_name))
952 error ("Printer device initialization I/O error, device deleted."); 952 signal_error (Qio_error,
953 "Printer device initialization I/O error, device deleted",
954 Qunbound);
953 955
954 if (ldm->printer_name == NULL) 956 if (ldm->printer_name == NULL)
955 ldm->printer_name = xstrdup (DEVICE_MSPRINTER_NAME(d)); 957 ldm->printer_name = xstrdup (DEVICE_MSPRINTER_NAME(d));
956 958
957 { 959 {
1004 XDEVMODE_SIZE (ldm_current))); 1006 XDEVMODE_SIZE (ldm_current)));
1005 1007
1006 if (!sync_printer_with_devmode (d, ldm_new->devmode, 1008 if (!sync_printer_with_devmode (d, ldm_new->devmode,
1007 ldm_current->devmode, 1009 ldm_current->devmode,
1008 ldm_new->printer_name)) 1010 ldm_new->printer_name))
1009 error ("Printer device initialization I/O error, device deleted."); 1011 signal_error (Qio_error,
1012 "Printer device initialization I/O error, device deleted",
1013 Qunbound);
1010 1014
1011 if (ldm_new->printer_name != NULL) 1015 if (ldm_new->printer_name != NULL)
1012 { 1016 {
1013 xfree (ldm_current->printer_name); 1017 xfree (ldm_current->printer_name);
1014 ldm_current->printer_name = xstrdup (ldm_new->printer_name); 1018 ldm_current->printer_name = xstrdup (ldm_new->printer_name);
1027 int escapeflag) 1031 int escapeflag)
1028 { 1032 {
1029 char buf[100]; 1033 char buf[100];
1030 Lisp_Devmode *dm = XDEVMODE (obj); 1034 Lisp_Devmode *dm = XDEVMODE (obj);
1031 if (print_readably) 1035 if (print_readably)
1032 error ("printing unreadable object #<msprinter-settings 0x%x>", 1036 printing_unreadable_object ("#<msprinter-settings 0x%x>",
1033 dm->header.uid); 1037 dm->header.uid);
1034 write_c_string ("#<msprinter-settings", printcharfun); 1038 write_c_string ("#<msprinter-settings", printcharfun);
1035 if (dm->printer_name) 1039 if (dm->printer_name)
1036 { 1040 {
1037 write_c_string (" for \"", printcharfun); 1041 write_c_string (" for \"", printcharfun);
1038 write_c_string (dm->printer_name, printcharfun); 1042 write_c_string (dm->printer_name, printcharfun);