From 84399cef2866e9595ebc5f01c4794a77c45e310b Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Wed, 17 Aug 2011 14:34:59 -0700 Subject: [PATCH] Use map! where possible, and e.g. bitwise-ior vs. bitstrings. --- src/gtk/fix-layout.scm | 10 +++++----- src/gtk/gio.scm | 30 +++++++++++++++--------------- src/gtk/gtk-ev.scm | 10 +++++----- src/gtk/gtk.scm | 28 +--------------------------- 4 files changed, 26 insertions(+), 52 deletions(-) diff --git a/src/gtk/fix-layout.scm b/src/gtk/fix-layout.scm index 932906f1d..600b4fc9c 100644 --- a/src/gtk/fix-layout.scm +++ b/src/gtk/fix-layout.scm @@ -324,10 +324,10 @@ USA. (error-if-null parent-GdkWindow "Could not get parent:" widget) (C-call "gdk_window_new" main-GdkWindow parent-GdkWindow attr - (bit-or (if x (C-enum "GDK_WA_X") 0) - (if y (C-enum "GDK_WA_Y") 0) - ;;(C-enum "GDK_WA_VISUAL") - (C-enum "GDK_WA_COLORMAP"))) + (bitwise-ior (if x (C-enum "GDK_WA_X") 0) + (if y (C-enum "GDK_WA_Y") 0) + ;;(C-enum "GDK_WA_VISUAL") + (C-enum "GDK_WA_COLORMAP"))) (error-if-null main-GdkWindow "Could not create main window:" widget) (C-call "gtk_widget_set_window" GtkWidget main-GdkWindow) (C-call "gdk_window_set_user_data" main-GdkWindow GtkWidget) @@ -567,7 +567,7 @@ USA. (name (C-enum "GDK_META_MASK") 'meta) (name (C-enum "GDK_RELEASE_MASK") 'release) (named-lambda (->modifiers num) - (map (lambda (i) (vector-ref names i)) (bit-mask-indices num))))) + (map! (lambda (i) (vector-ref names i)) (bit-mask-indices num))))) (define (set-fix-layout-button-handler! layout type handler) (guarantee-fix-layout layout 'set-fix-layout-button-handler!) diff --git a/src/gtk/gio.scm b/src/gtk/gio.scm index c389c491d..5f33bc2a0 100644 --- a/src/gtk/gio.scm +++ b/src/gtk/gio.scm @@ -111,12 +111,12 @@ USA. (let* ((uri* (->uri* uri 'gdirectory-read)) (gfile (make-gfile (uri->string uri*))) (names - (map (lambda (ginfo) - (let ((name (gfile-info-get-attribute-value - ginfo "standard::name"))) - (gobject-unref! ginfo) - name)) - (gfile-children gfile "standard::name")))) + (map! (lambda (ginfo) + (let ((name (gfile-info-get-attribute-value + ginfo "standard::name"))) + (gobject-unref! ginfo) + name)) + (gfile-children gfile "standard::name")))) (gobject-unref! gfile) names)) @@ -630,7 +630,7 @@ USA. setup-output))) (define (->gfile-create-flags flags) - (reduce-left fix:or 0 (map ->gfile-create-flag flags))) + (reduce-left bitwise-ior 0 (map! ->gfile-create-flag flags))) (define (->gfile-create-flag flag) (case flag @@ -751,14 +751,14 @@ USA. (define (gfile-info-list-attributes ginfo namespace) (guarantee-string namespace 'gfile-info-list-attributes) - (map string->symbol - (let ((alien (make-cstringv - (lambda (copy) - (C-call "g_file_info_list_attributes" copy - (gobject-alien ginfo) namespace))))) - (let ((strings (peek-cstringv alien))) - (free-cstringv alien) - strings)))) + (map! string->symbol + (let ((alien (make-cstringv + (lambda (copy) + (C-call "g_file_info_list_attributes" copy + (gobject-alien ginfo) namespace))))) + (let ((strings (peek-cstringv alien))) + (free-cstringv alien) + strings)))) (define (gfile-info-remove-attribute ginfo name) (guarantee-string name 'gfile-info-remove-attribute) diff --git a/src/gtk/gtk-ev.scm b/src/gtk/gtk-ev.scm index 28aa48f56..dd94e3e45 100644 --- a/src/gtk/gtk-ev.scm +++ b/src/gtk/gtk-ev.scm @@ -89,14 +89,14 @@ USA. (C->= attr "GdkWindowAttr height" (fix-rect-height b))) (C->= attr "GdkWindowAttr wclass" (C-enum "GDK_INPUT_OUTPUT")) (C->= attr "GdkWindowAttr event_mask" - (bit-or (C-call "gtk_widget_get_events" alien) - (C-enum "GDK_EXPOSURE_MASK"))) + (bitwise-ior (C-call "gtk_widget_get_events" alien) + (C-enum "GDK_EXPOSURE_MASK"))) (C-call "gtk_widget_get_parent_window" parent-GdkWindow alien) (error-if-null parent-GdkWindow "Could not get parent:" widget) (C-call "gdk_window_new" main-GdkWindow parent-GdkWindow attr - (bit-or (C-enum "GDK_WA_X") (C-enum "GDK_WA_Y"))) + (bitwise-ior (C-enum "GDK_WA_X") (C-enum "GDK_WA_Y"))) (error-if-null main-GdkWindow "Could not create main window:" widget) (C->= alien "GtkWidget window" main-GdkWindow) (C-call "gdk_window_set_user_data" main-GdkWindow alien) @@ -114,8 +114,8 @@ USA. (C->= attr "GdkWindowAttr event_mask" (C-enum "GDK_ALL_EVENTS_MASK")) (C->= attr "GdkWindowAttr cursor" GdkCursor) (C-call "gdk_window_new" event-GdkWindow main-GdkWindow attr - (bit-or (C-enum "GDK_WA_X") (C-enum "GDK_WA_Y") - (C-enum "GDK_WA_CURSOR"))) + (bitwise-ior (C-enum "GDK_WA_X") (C-enum "GDK_WA_Y") + (C-enum "GDK_WA_CURSOR"))) (error-if-null event-GdkWindow "Could not create event window:" widget) (C-call "gdk_window_set_user_data" event-GdkWindow alien) (C-call "gdk_window_show" event-GdkWindow) diff --git a/src/gtk/gtk.scm b/src/gtk/gtk.scm index 80de6a54f..09c564fb3 100644 --- a/src/gtk/gtk.scm +++ b/src/gtk/gtk.scm @@ -55,11 +55,6 @@ USA. (define-integrable-operator (fix:abs n) (if (fix:negative? n) (fix:negate n) n)) -(define (bit-mask . ints) - ;; For bit field masks. INTS is assumed to be a list of powers - ;; of two, no repeats. - (fold-left int:+ 0 ints)) - (define-integrable (bit-mask-indices num) ;; The indices of the bits set in NUM. (let ((str (unsigned-integer->bit-string 32 num))) @@ -70,25 +65,4 @@ USA. '()))))) (define-integrable (bit? int mask) - ;; This seems... inefficient. - (not (int:zero? (bit-and int mask)))) - -(define (bit-and . numbers) - (bit-string->unsigned-integer - (fold-left - (lambda (bits num) - (let ((bits2 (unsigned-integer->bit-string 32 num))) - (bit-string-and! bits bits2) - bits)) - (signed-integer->bit-string 32 -1) - numbers))) - -(define (bit-or . numbers) - (bit-string->unsigned-integer - (fold-left - (lambda (bits num) - (let ((bits2 (unsigned-integer->bit-string 32 num))) - (bit-string-or! bits bits2) - bits)) - (unsigned-integer->bit-string 32 0) - numbers))) \ No newline at end of file + (not (int:zero? (bitwise-and int mask)))) \ No newline at end of file -- 2.25.1