comparison src/gutter.c @ 408:501cfd01ee6d r21-2-34

Import from CVS: tag r21-2-34
author cvs
date Mon, 13 Aug 2007 11:18:11 +0200
parents b8cc9ab3f761
children
comparison
equal deleted inserted replaced
407:ed6218a7d4d3 408:501cfd01ee6d
787 } 787 }
788 } 788 }
789 789
790 DEFUN ("gutter-specifier-p", Fgutter_specifier_p, 1, 1, 0, /* 790 DEFUN ("gutter-specifier-p", Fgutter_specifier_p, 1, 1, 0, /*
791 Return non-nil if OBJECT is a gutter specifier. 791 Return non-nil if OBJECT is a gutter specifier.
792 Gutter specifiers are used to specify the format of a gutter. 792
793 The values of the variables `default-gutter', `top-gutter', 793 See `make-gutter-specifier' for a description of possible gutter
794 `left-gutter', `right-gutter', and `bottom-gutter' are always 794 instantiators.
795 gutter specifiers.
796
797 Valid gutter instantiators are called "gutter descriptors" and are
798 either strings or property-lists of strings. See `default-gutter' for
799 a description of the exact format.
800 */ 795 */
801 (object)) 796 (object))
802 { 797 {
803 return GUTTER_SPECIFIERP (object) ? Qt : Qnil; 798 return GUTTER_SPECIFIERP (object) ? Qt : Qnil;
804 } 799 }
930 } 925 }
931 926
932 DEFUN ("gutter-size-specifier-p", Fgutter_size_specifier_p, 1, 1, 0, /* 927 DEFUN ("gutter-size-specifier-p", Fgutter_size_specifier_p, 1, 1, 0, /*
933 Return non-nil if OBJECT is a gutter-size specifier. 928 Return non-nil if OBJECT is a gutter-size specifier.
934 929
935 Gutter-size specifiers are used to specify the size of a gutter. The 930 See `make-gutter-size-specifier' for a description of possible gutter-size
936 values of the variables `default-gutter-size', `top-gutter-size', 931 instantiators.
937 `left-gutter-size', `right-gutter-size', and `bottom-gutter-size' are
938 always gutter-size specifiers.
939
940 Valid gutter-size instantiators are either integers or the special
941 symbol 'autodetect. If a gutter-size is set to 'autodetect them the
942 size of the gutter will be adjusted to just accomodate the gutters
943 contents. 'autodetect only works for top and bottom gutters.
944 */ 932 */
945 (object)) 933 (object))
946 { 934 {
947 return GUTTER_SIZE_SPECIFIERP (object) ? Qt : Qnil; 935 return GUTTER_SIZE_SPECIFIERP (object) ? Qt : Qnil;
948 } 936 }
975 } 963 }
976 964
977 DEFUN ("gutter-visible-specifier-p", Fgutter_visible_specifier_p, 1, 1, 0, /* 965 DEFUN ("gutter-visible-specifier-p", Fgutter_visible_specifier_p, 1, 1, 0, /*
978 Return non-nil if OBJECT is a gutter-visible specifier. 966 Return non-nil if OBJECT is a gutter-visible specifier.
979 967
980 Gutter-visible specifiers are used to specify the visibility of a 968 See `make-gutter-visible-specifier' for a description of possible
981 gutter. The values of the variables `default-gutter-visible-p', 969 gutter-visible instantiators.
982 `top-gutter-visible-p', `left-gutter-visible-p',
983 `right-gutter-visible-p', and `bottom-gutter-visible-p' are always
984 gutter-visible specifiers.
985
986 Valid gutter-visible instantiators are t, nil or a list of symbols.
987 If a gutter-visible instantiator is set to a list of symbols, and the
988 correspondong gutter specification is a property-list strings, then
989 elements of the gutter specification will only be visible if the
990 corresponding symbol occurs in the gutter-visible instantiator.
991 */ 970 */
992 (object)) 971 (object))
993 { 972 {
994 return GUTTER_VISIBLE_SPECIFIERP (object) ? Qt : Qnil; 973 return GUTTER_VISIBLE_SPECIFIERP (object) ? Qt : Qnil;
995 } 974 }
1007 Lisp_Object frmcons; 986 Lisp_Object frmcons;
1008 987
1009 DEVICE_FRAME_LOOP (frmcons, d) 988 DEVICE_FRAME_LOOP (frmcons, d)
1010 { 989 {
1011 struct frame *f = XFRAME (XCAR (frmcons)); 990 struct frame *f = XFRAME (XCAR (frmcons));
1012 991
992 MAYBE_DEVMETH (d, frame_output_begin, (f));
993
1013 /* Sequence is quite important here. We not only want to 994 /* Sequence is quite important here. We not only want to
1014 redisplay the gutter area but we also want to flush any 995 redisplay the gutter area but we also want to flush any
1015 frame size changes out so that the gutter redisplay happens 996 frame size changes out so that the gutter redisplay happens
1016 in a kosha environment. 997 in a kosha environment.
1017 998
1033 - make it so. */ 1014 - make it so. */
1034 hold_frame_size_changes (); 1015 hold_frame_size_changes ();
1035 update_frame_gutters (f); 1016 update_frame_gutters (f);
1036 unhold_one_frame_size_changes (f); 1017 unhold_one_frame_size_changes (f);
1037 } 1018 }
1038 } 1019
1039 /* We now call the output_end routine for tty frames. We delay 1020 MAYBE_DEVMETH (d, frame_output_end, (f));
1040 doing so in order to avoid cursor flicker. So much for 100% 1021 }
1041 encapsulation. */
1042 if (DEVICE_TTY_P (d))
1043 DEVMETH (d, output_end, (d));
1044 1022
1045 d->gutter_changed = 0; 1023 d->gutter_changed = 0;
1046 } 1024 }
1047 1025
1048 /* This is so that further changes to the gutters will trigger redisplay. */ 1026 /* This is so that further changes to the gutters will trigger redisplay. */