commit 29c8e3d2780d5225cbd3f015aa8f661c2de1fde3
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri Dec 11 02:05:59 2020 +0300

    Update PO and POT files.

commit ce601002c9251cae687d8f1d70a83f6c97d1ff84
Author: dmn <graahnul.grom@gmail.com>
Date:   Wed Dec 9 14:53:51 2020 +0300

    attrib: Fix code that removes an attribute column.
    
    Prevent data mangling resulted from destroying
    the cell data without saving its contents first.
    It was reconstructed with default values, leading
    to messed up schematic with ALL attributes'
    visibility reset to "visible" and "value only"
    after save.

commit fd8cc2a818dbacb9197161b148e9c4fbe7d0f42b
Author: dmn <graahnul.grom@gmail.com>
Date:   Wed Dec 9 14:37:11 2020 +0300

    attrib: Prevent inconsistent data state.
    
    When deleting an attribute column, perform
    all checks first, only after that call
    destructive functions on the cell data.

commit 6177ff734ac8a16566899e8f29f8592d0b1de8b2
Author: dmn <graahnul.grom@gmail.com>
Date:   Wed Dec 9 14:21:46 2020 +0300

    attrib: A helper function for deleting attributes.
    
    Add a function that makes a copy of a
    2-dimensional array of the TABLE structures,
    minus data in the specified column.

commit 306fa845499a833acc8323425c56c3bebc95cba3
Author: dmn <graahnul.grom@gmail.com>
Date:   Wed Dec 9 12:01:37 2020 +0300

    attrib: Add a debugging helper function.
    
    s_table_print(): print a 2-dimensional array
    of the TABLE structures, representing a cell.

commit e8a5176c8c77cdfe3d71473128e9a9ca25c060ea
Author: dmn <graahnul.grom@gmail.com>
Date:   Sun Dec 6 18:57:59 2020 +0300

    attrib: Prompt to save changes on exit.
    
    Track text value of the current cell, and if it's
    modified after the cell is deactivated, mark the
    schematic as changed, so that lepton-attrib prompt
    the user to save changes on exit.

commit 461c50da90d0451e41e9774e10466fa564688506
Author: dmn <graahnul.grom@gmail.com>
Date:   Sat Dec 5 08:23:22 2020 +0300

    attrib: Cygwin names for libleptonattrib, GTK libs.
    
    Use appropriate names for dynamically loaded
    libraries (by dynamic-link() Guile function).
    Substitute names at build time, choosing the
    right one for the platform used.
    - On Unix systems:
    LIBLEPTONATTRIB => libleptonattrib
    LIBGTK          => libgtk-x11-2.0 (GTK2)
    LIBGTK          => libgtk-3       (GTK3)
    - On Cygwin:
    LIBLEPTONATTRIB => cygleptonattrib-2
    LIBGTK          => cyggtk-x11-2.0-0 (GTK2)
    LIBGTK          => cyggtk-3-0       (GTK3)

commit bfa8e5762045dd31e26880cc08d787af7cc02539
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri Dec 4 05:23:11 2020 +0300

    Update POT & PO files.

commit bb1db6d8508b00d11130aed6e1d0a69692bc1633
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Sep 10 15:08:42 2020 +0300

    attrib,gtk3: Get rid of some compilation warnings in x_window.c.

commit 65b1879eee9cc12221f2d383721aaf98cdb793d7
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed Nov 25 11:03:56 2020 +0300

    attrib: Fix whitespaces in x_window.c.

commit b810dd06c22a203d632edf1d9f97cb12f8a4fef9
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri Nov 20 18:51:51 2020 +0300

    build: Actually enable build of lepton-attrib with GTK3 and libgtksheet.

commit bc7da9ae203a494fa91c10c333dbc86c41249b13
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 23:34:14 2020 +0300

    attrib: Clean up README.

commit efdf2550d4b5260287abdb18e1022b1b1565af0d
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 22:43:48 2020 +0300

    attrib: Fix package name in a PO file.

commit fdf06bf5e794b4363dd681617f060b664ef0e2cb
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 22:32:11 2020 +0300

    Update copyrights.

commit 6308037f8966bc4be291f78f3a6f1c2e2f7654d1
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 21:06:52 2020 +0300

    attrib: Build support with any of GTK2 or GTK3.

commit 5cfb71e78805aa78648f329e04cadd7bd7cbe7cc
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 20:27:08 2020 +0300

    build: Choose appropriate spreadsheet library for lepton-attrib.

commit 4decc5c10372748f5de1fbffffcbe3de01b8aebe
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Nov 10 00:53:13 2020 +0300

    attrib: Introduce dependency on libgtkextra.
    
    Instead of including obsolete files from the library, make
    lepton-attrib depend on it.
    
    For compilation on Debian derivatives, an additional development
    package, libgtkextra-dev, is necessary.

commit ec60defd1f3329be204356de3797b73da04750e2
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 02:24:56 2020 +0300

    attrib: Clean up whitespaces in x_gtksheet.c.

commit d37eb57c5fb2ff51a13b216a0410bd9551e0c5a9
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Nov 19 02:11:10 2020 +0300

    attrib: Clean up whitespaces in struct.h.

commit 2f5169511a4a87cba4108a5bfb4cd01eee259596
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Oct 20 11:53:08 2020 +0300

    Update copyrights in several files.

commit 20167dd8ff74be4d3857ee05fbb3583aa299f467
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 23:09:26 2020 +0300

    attrib: Get rid of deprecated function gdk_cursor_destroy().

commit 0b167de70d543b568572fd3a5b943432472a1380
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 22:54:39 2020 +0300

    attrib: Use a function definition in boilerplate definitions.

commit a22a569844ce1961422a16ae8e51664d38827580
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 22:27:42 2020 +0300

    attrib: Get rid of deprecated get_color_black().

commit a6b23ef227790fd43e757855d5acb592c667fb1c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 22:24:10 2020 +0300

    attrib: Get rid of two deprecated functions in gtk_sheet_realize().

commit e267192be43dd12de6c52527d224c63ac566be59
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 22:12:29 2020 +0300

    attrib: Get rid of two deprecated functions in gtk_sheet_init().

commit 61dd632c23edb231d18d1f8b503a09767e7d3111
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 21:59:20 2020 +0300

    attrib: Allocate colors.

commit def8fbce1dd442b6e18e662b1d4cb8d9d5fc726f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 21:27:33 2020 +0300

    attrib: Get rid of gdk_color_black().
    
    The function is deprecated.

commit c7d0927faa7326164bb3690e15ca9a8c47f97e2f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 21:10:04 2020 +0300

    attrib: Fix boolean values.

commit 21314196172e6c1c478797f339d2b201de4b59cb
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 21:09:21 2020 +0300

    attrib: Replace gtk_widget_new() with g_object_new().

commit 0971b88ef72147bbbd6e226132c88ef3560acd25
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 20:57:46 2020 +0300

    attrib: Change condition.

commit f9961df23a67e063d525c0ad6aa986778e00027b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 20:45:42 2020 +0300

    attrib: Get rid of deprecated gdk_color_white().

commit 731fc11e6ca8936033bc921d661c3269a80fb8dd
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 17:50:24 2020 +0300

    attrib: Get rid of unused static function.

commit 367eed5e5121e1c91bd19542b164a1244f52e104
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 17:41:35 2020 +0300

    attrib: Get rid of some unused functions.

commit 9d4c502611d1801aad865ba52b16900370febdf0
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Aug 27 16:25:10 2020 +0300

    attrib: Replace GDK_keyname with GDK_KEY_keyname.

commit 1cc834b5903d8d31434c4c7fe24c06ffacc21e6f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:55:28 2020 +0300

    attrib: Get rid of obsolete GTK_WIDGET_HAS_FOCUS.
    
    Use gtk_widget_has_focus() instead.

commit c1a393658b713477a8a103350e565ff13173768b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:55:09 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit bd4dc88e593eaa16537e394e7704884d02d8b5e6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:54:40 2020 +0300

    attrib: Do not use GtkDialog's 'vbox' field directly.
    
    Use gtk_dialog_get_content_area() instead.

commit 188e3d7a45b58ac7c77a3d2829ebe8aa959c9619
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:49:38 2020 +0300

    attrib: Use accessors to GtkWidget 'style' field.

commit f144d8947c47f84704648be78e2fe8e627853bdb
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:48:56 2020 +0300

    attrib: Use setter for GtkWidget 'window' field.

commit 027e53200bea5c4da9b45f1a11d97ec4b13422c0
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:41:16 2020 +0300

    attrib: Use getter for GtkContainer's 'border_width' field.

commit 62dce30c410e8d7e5f0c14935b1e739eedc5fb19
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:40:49 2020 +0300

    attrib: Use setter for GtkWidget's 'allocation' field.

commit 1d5746d90a823f5e872b3194857008d4ab721c7a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:35:42 2020 +0300

    attrib: Use accessors to GtkWidget's 'style' field.

commit 9c9e2503e7e75b24df24131863032768e1971b10
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:23:13 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 6181d6236dc8e863402e38f665ecb167f2796409
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:18:01 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 47b8417998558108f383e1fd5cb67439ff0b4a54
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:17:11 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 11b6674cf4221f54ba2e58a945089eea8a6dc0cf
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:13:35 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 1ec49985fcf552bcf4207a4cbd400e8d6b90e6bf
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:13:00 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 2611707e42bd7b3f7a163caac7ce5842e41a03e0
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:11:48 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit e5c864e8156cec630d332d4d7c95a0f3c693e757
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:09:59 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 0d888e1831cf29db584b681e94467643465bdf38
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:06:49 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field (for 'button_style').

commit 10d3912fe2083f9b68024e4dee01d3bc4de89368
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:06:05 2020 +0300

    attrib: Use getter for GtkWidget's 'style' field.

commit 10f050438449cb7a2f0e2ec056ced6cb30bb6895
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:02:49 2020 +0300

    attrib: Use getter for GtkAdjustment's 'step_increment' field.

commit 08067c3e059f53d2a531184943cb659504539a1c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sun Aug 30 19:35:31 2020 +0300

    attrib: Use getter for GtkAdjustment's field 'value'.

commit 32a292ee5e2b804b3b6f55361bc1e4c9182abef6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:02:25 2020 +0300

    attrib: Use getter for GtkAdjustment's 'step_increment' field.

commit 397f8d6db0e066fc070cd000ae7f7a47812add07
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sun Aug 30 19:31:02 2020 +0300

    attrib: Use getter for GtkAdjustment's 'value' field.

commit 151891582997e5ee348de5d6752774e31d7dc398
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:02:00 2020 +0300

    attrib: Use setter for GtkAdjustment's 'step_increment' field.

commit c4d75f81f61fadd387ccff0db80a9fe511acaf8b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:01:12 2020 +0300

    attrib: Use getter for GtkAdjustment's field 'step_increment'.

commit 26113e8757ecb1c430aa8ba1be3e8acf9c142e5c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:01:40 2020 +0300

    attrib: Use setter for GtkAdjustment's 'value' field.

commit e0596de553d21fc3049fa65345053acebf095595
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:01:28 2020 +0300

    attrib: Use getter for GtkAdjustment's 'value' field.

commit 699fc22f168c8569ecb472a0b2ac0ca984cb7e85
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 14:00:17 2020 +0300

    attrib: Use accessors to GtkAdjustment's field 'value'.

commit 6a2beb6d3ffecd9e898f2537fc2ae992b82e052d
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:59:25 2020 +0300

    attrib: Use getter for GtkAdjustment's 'value' field.

commit 30c089136cfc56c8d8a5c3a30563fb4798eccfa8
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:59:02 2020 +0300

    attrib: Use accessors to GtkAdjustment's value field.

commit 2a4109cd590d70c44a28b0e5739da6f27ace96e8
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:58:21 2020 +0300

    attrib: Use accessors to GtkAdjustment's value field.

commit 1f1bb07fec6bbcb8f845d0bd5a0d8be5045fff68
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:49:56 2020 +0300

    attrib: Use getter for GtkAdjustment step_increment.

commit c313b45aa888ad38481d080922fe3a26b99d8b02
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sun Aug 30 14:31:38 2020 +0300

    attrib: Use getter for GtkAdjustment's 'step_increment' field.

commit 5653ec221227f424df95b321b6dad0cea0352403
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sun Aug 30 14:30:13 2020 +0300

    attrib: Use getter for GtkAdjustment's 'value' field.

commit 7c5a3367f61a45072cf6f56f289a7a4faf7e1569
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:48:11 2020 +0300

    attrib: Use getter for GtkAdjustment.

commit 79b488f4e5e8f8aba208cb57cdd5126afa97ba09
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:47:09 2020 +0300

    attrib: Use getter for GtkRequisition.

commit f6a0bbd1038494226563ca16a03ee9089bb56e36
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:46:04 2020 +0300

    attrib: Use GtkContainer and its getter instead of GtkTable & GtkBox.

commit a68f53b9163e149eb98ba202b3d5417756e68ff5
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:39:48 2020 +0300

    attrib: Use getter for widget window.

commit 1d9717b4cd0ee60cc3cd10bbd1ac00c11380c1db
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:42:52 2020 +0300

    attrib: Use getter for cursor type.

commit 62ecc6c9e9da38dc06ead8c576c17b828a2af1b6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:40:20 2020 +0300

    attrib: Use getter for GtkBin child.

commit 913c647d8c79cd54fa8488f57bff33dd1c19ad72
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:39:30 2020 +0300

    attrib: Use getter for widget state.

commit 24e5a36ef45f5531dfcf8fac86a01607f73b2188
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:38:12 2020 +0300

    attrib: Use accessors for GtkAdjustment value.

commit 1dd2e55e5f9bb911e04dfe43d709b48cffa59d7f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:37:34 2020 +0300

    attrib: Use getter for widget allocation (GtkAllocation).

commit af83d322d74546bb98065212b7f88c1c2e9b064f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:34:32 2020 +0300

    attrib: Use getter for widget 'window' field.

commit 2bbb52fe1cd738a7b4a199c29103d791fecfa67a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 13:32:40 2020 +0300

    attrib: Use getter for widget parent.

commit 7f5549f0e0d4a4a9a500a08057651f151a4b23b6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 02:34:44 2020 +0300

    attrib: Use getter for widget style.

commit 2f884868551072c19594b669f22cefe8f1d1d7d4
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 02:34:30 2020 +0300

    attrib: Use getter for GTK_BIN 'child' field.

commit 531002636e8f1b5717e88236145252a88e196098
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 01:59:41 2020 +0300

    attrib: Use getter for widget style in another function.

commit 7e398726365f043054a07a8e1be26c983b0feeb9
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 01:59:11 2020 +0300

    attrib: Use getter for widget style.

commit b1a0a2ddacf0d76dc6e173a04ffcdae92d6f777b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 01:58:16 2020 +0300

    attrib: Use getters for widget style and window.

commit 919686338d447db7031af0d7cbedadad70828c8f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Aug 25 01:57:07 2020 +0300

    attrib: Use getter for widget style.

commit cd713a0b2b48aa4f34baeba56982b1ff482b704d
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:58:44 2020 +0300

    attrib: Get rid of GtkBoxChild.
    
    It has been deprecated since Gtk+ 2.22.

commit 10aafa259778b1ed33acd09bc9a886548f8cafd4
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:53:10 2020 +0300

    attrib: Get rid of deprecated cast GTK_WIDGET_UNSET_FLAGS (..., GTK_VISIBLE).
    
    Use gtk_widget_set_visible() instead.

commit 17df304be474fe636309de2889ab6afe9ee39729
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:51:18 2020 +0300

    attrib: Get rid of deprecated cast GTK_WIDGET_UNSET_FLAGS (..., GTK_MAPPED).
    
    Use gtk_widget_set_mapped() instead.

commit 248413a646f9bee0c154a6cf38934f5d2dbb165a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:49:59 2020 +0300

    attrib: Get rid of deprecated cast GTK_WIDGET_UNSET_FLAGS (..., GTK_NO_WINDOW).
    
    Simply getting rid of it does the job well.

commit 94c4b4981cf64598033f859306cd855ebc1e570b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:49:06 2020 +0300

    attrib: Replace deprecated gtk_type_new() with gtk_widget_new().

commit 310a5ea70afbdd1fe714f5db2e9d6810b36c9d5d
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:47:11 2020 +0300

    attrib: Replace obsolete GTK_CHECK_TYPE with G_TYPE_CHECK_INSTANCE.

commit ca0b9cbbf53eb3995b79775f417e5b2987df3264
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:45:51 2020 +0300

    attrib: Replace obsolete GTK_CHECK_CAST with G_TYPE_CHECK_INSTANCE_CAST.

commit 2f597f986f23ca5efeab8171daf674b3597108c7
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:44:44 2020 +0300

    attrib: Use GType instead of obsolete deprecated GtkType.

commit c8cb5dfa49f654e6897467d0d00f7ea393ce5970
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat Aug 22 11:40:52 2020 +0300

    attrib: Remove GTK_WIDGET_UNSET_FLAGS (..., GTK_HAS_FOCUS).
    
    IIUC, GTK manual says that "the flag will be unset once another
    widget grabs the focus", that is, automatically.

commit fff7a09f720eb15dfa4bbd0ec821d920d1a06f90
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed Jul 15 17:54:13 2020 +0300

    lepton: Add keyword to enable output of copyrights in version info.

commit d982dd77f7369df64314d8d6dbb7e18bb8b9189a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed Jul 15 17:34:08 2020 +0300

    all: Actually use display-lepton-version() in Lepton tools.

commit 07e22546c506e7ffc54d63c044d9a7d0d50b2ceb
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed Jul 15 10:50:52 2020 +0300

    attrib: Don't import (ice-9 match).

commit d5042360d45947f689d79d77c6ece6cbec4b8b70
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Jul 14 13:45:51 2020 +0300

    lepton: Add/redefine procedures in module (lepton version).
    
    New procedures are:
    - lepton-version-data() which can return the list of version
      strings by their symbol names.
    - lepton-version-ref() which exactly repeats the previous
      behaviour of lepton-version() when it was invoked with one
      symbol argument.
    
    lepton-version() has been redefined in such a way that without
    arguments it returns a predefined string usually output by Lepton
    tools. When it is called with arguments, the first of them must be
    a format string to format output by means of simple-format, and
    all others must be predefined symbols used to retrieve necessary
    data the same way as for the procedures above.
    
    Version code in the suite tools has been fixed/simplified
    accordingly.

commit de423d378d53c9303f7c54d38ca620180799744a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Jul 14 12:56:36 2020 +0300

    liblepton: Get rid of lepton_version_message().
    
    The only C code which uses it is in lepton-cli. Other tools
    process Lepton version info in Scheme. So there is no point to
    support this particular not much usable format output everywhere.

commit 87ac1fde9c0fd2a029d87018d5f4312cb8c59a60
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon Jul 13 23:44:24 2020 +0300

    Use uniform copyright output in the tools.

commit cfd71149b00e914afbf8658f95302118bb0d3702
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon Jul 13 23:16:35 2020 +0300

    lepton: Add copyright to the list of values returned by lepton-version().

commit b14020e03d5937376606a35a68e7a827b7a11ef6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 28 18:06:43 2020 +0300

    log: Get rid of s_log_message() (superfluous wrapper for g_message()).

commit 3215b13e22980c4de3694d40f246750c4b056cb6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu Jun 4 03:02:49 2020 +0300

    Update POT & PO files.

commit 6717d7498b377cb984e79fa1a82e0c39bbc38dc3
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed Jun 3 20:11:55 2020 +0300

    Update copyrights in modified files.

commit 1ee52c5889b6f73cb7bb2e061988c8a015f4de31
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 17:21:51 2020 +0300

    libleptonattrib: Fix up Russian translation to see how it all works.

commit 62fdd223d860876c02fa622512d0fe00a00420e9
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 17:11:23 2020 +0300

    libleptonattrib: Update POT file.

commit a4bef2c13883a4f74ce2147495a02c4c3d2cb062
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 16:39:36 2020 +0300

    libleptonattrib: Fix up xgettext invocation flags.
    
    In the code of 'lepton-attrib' the call for gettext() is
    abbreviated as 'G_' instead of '_', which is recommended in new
    Guile versions to avoid collisions with match() and the like
    functions.  The commit makes 'xgettext' aware of it.

commit 7014118524715ec51910b8458606f84e030b0fea
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 16:39:24 2020 +0300

    libleptonattrib: Fix subdir name in Makevars.

commit e4b728af3c0eb761b607f376df9b558b3b33e60b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 16:35:49 2020 +0300

    libleptonattrib: Get rid of lepton-attrib.pot.
    
    Since the directories attrib/ and libleptonattrib/ have been
    merged again, this file is superfluous.

commit 4b1bdc8c8aca1a794f198f9389520a331984b80c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 10:31:35 2020 +0300

    libleptonattrib: Use 'scm' extension for the source of 'lepton-attrib'.
    
    Otherwise, xgettext mistakenly treats the code as C.

commit 23f41300ccda29cc470bbe57c1d4ff6d3974c978
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 10:20:10 2020 +0300

    libleptonattrib: Use gettext domain when the gettext() function is called.

commit a566419fabc1819550a029c0fc506585c2940e59
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 10:14:17 2020 +0300

    libleptonattrib: Use gettext domain of the library in lepton-attrib.in.

commit b0df705f732aea803b145b115e4a33bb58fa65cb
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 09:47:16 2020 +0300

    libleptonattrib: Move files left in attrib/ to the library directory.
    
    Besides, add lepton-attrib.in to the list of translations.

commit b458bfe929605a61a1bd3dc75775636b52283e70
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 29 04:02:36 2020 +0300

    libleptonattrib: Fix library version.

commit c99f66985e4c8a5645147869ee25944a99d938a6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 27 21:27:56 2020 +0300

    libleptonattrib: Add two .gitignore files.

commit e3ff2684ee57e942540bd87d3c2d5de4a11d943d
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 27 21:16:09 2020 +0300

    libleptonattrib: Add POT file.

commit a8f4b078d240ca02c120c82cc5eecf30a4defe72
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 21 11:28:51 2020 +0300

    attrib: Move s_page_save_all() to libleptonattrib.
    
    It is used only there.

commit 6c888ee90c469133417a1255a936450c444b34ee
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 21 10:19:46 2020 +0300

    attrib: Remove a function call.
    
    There is no point to call s_toplevel_set_page_current() in the
    code where processed page is specified explicitly.

commit 12258e269d15ab3d828e9140a3d97637c8c29d74
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 22:06:34 2020 +0300

    attrib: Clean up whitespaces in x_fileselect.c.

commit b3487b54bfb2063f200b083edb2f0c9ffa79a6d5
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 21:31:47 2020 +0300

    attrib: Initialize GTK window within lepton_attrib_window().

commit 368212d8e15c65600445d32b5c8b200e1791af00
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 21:24:45 2020 +0300

    attrib: Get rid of irrelevant stuff in a doxygen comment.

commit acaa2fbd4b9b9981dccbdb7cd122de42ca735387
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 21:05:25 2020 +0300

    attrib: Fix/reduce doxygen comment of a function.

commit ba9162b57a7e5b00108ce75064bbd43d7b4159c3
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 21:04:35 2020 +0300

    attrib: Less info in the About dialog.

commit ba22fbb279933e8275091ae13fdd60067b146f47
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 21:00:17 2020 +0300

    attrib: Reduce line lengths once again.

commit 18cc739c15be1937c9d8bfcc8e7dff095d22d28f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 20:57:46 2020 +0300

    attrib: Reduce line lengths for some strings.

commit 3b741d7643eb8c9622aff20feae5f579eb198f26
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 20:47:18 2020 +0300

    attrib: Reduce code lines by using shorter strings.

commit 62d4919b9ef9d5c0b7e6c1d467f2b20f3f878229
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 20:27:05 2020 +0300

    attrib: Move lepton_attrib_window() to x_window.c.

commit cb099b357ed39c188eef54b3d2236ca3c18c2afc
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 14:16:23 2020 +0300

    attrib: Get TOPLEVEL once.
    
    Just now, in such a way calling for lepton-attrib's functions
    works in lepton-schematic (I was not able yet to figure out why I
    cannot get the current TOPLEVEL just by using
    edascm_c_current_toplevel() for all funcs called in series in
    Scheme code).

commit c916555b66b4bfbea5d67e3a3ae92c1c16ae497b
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 13:28:32 2020 +0300

    attrib: Move g_debug() up to ease debugging.

commit e0dc0e99886aa507e8e7f79027c6dd442aeeb20f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 12:02:55 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_visibility.c.

commit 89a4217a64f64fb35a45a9001e684b555ba74d97
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 12:02:29 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_toplevel.c.

commit e5fe3b85b9cc463a2c034ac2e4bf48042372c45c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 12:01:48 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_table.c.

commit d30949c6e3c386eff1ac90adc1ce3a45a465ef0e
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 11:02:13 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_string_list.c.

commit 02ca21dd4df17a31077c740fae6376fa05d3f38a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 10:56:54 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_sheet_data.c.

commit 2cfe177ef9da7f5d52749d9e7858981d9e3f5596
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 10:47:51 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_object.c.

commit a73da95eafb7d770d822d29cc601810aee3f1f35
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 10:47:27 2020 +0300

    attrib: Replace DEBUG with using g_debug() in s_attrib.c.

commit 8a2679837c6de290791d44711a8ec2440a2122e5
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 10:39:16 2020 +0300

    attrib: Replace DEBUG with using g_debug() in gtksheet_2_2.c.

commit c63569e998209f168f2c6a99d7b22d00c44f7269
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 08:32:04 2020 +0300

    attrib: Replace DEBUG with using g_debug() in f_export.c.

commit 091b741219b1f7eefc03aa3f99cad971ed3e7ab4
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 20 08:26:47 2020 +0300

    attrib: Replace DEBUG with using g_debug() in attrib.c.

commit 8efd0462d1a0bc0e9116c21123ab04507f53e34c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 13:19:11 2020 +0300

    attrib: Fix doxygen comments for lepton_attrib_window().

commit 94b5824b6c0c96741755132b66c2045753e43c2f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 13:14:39 2020 +0300

    attrib: Get rid of attrib_main().

commit 07cfdff57d3866ef9f0028ef6b5a176f7e10f661
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 13:10:03 2020 +0300

    attrib: Make lepton_attrib_window() void.
    
    The function always returned TRUE, so there is no point to check
    its returned value.

commit b7083df2757631fa8ba33459d4c7ada91458a6ee
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 13:08:38 2020 +0300

    attrib: Rename a function.

commit 94f743c36d648e3e8ac8d5a1f92f97eb426d8af8
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 12:42:41 2020 +0300

    attrib: Open schematic pages in Scheme code.

commit d479baf67e8b9d20e4e9fa694004c2e4b1dc9f9f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 12:32:45 2020 +0300

    attrib: Separate dealing with files and pages in x_fileselect_load_files().

commit 7e7e4ea339e03cb410deca228f55ef3aab349a95
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 12:16:56 2020 +0300

    attrib: Move sheet_head creation to x_fileselect_load_files().

commit 3b80ee2e7299160d36c0eeab285db60e4ecd0280
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue May 19 11:41:15 2020 +0300

    attrib: Get rid of unused function.

commit 0d054c5707acc407612db8ea22438ef5e667fa69
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 23:33:34 2020 +0300

    attrib: Get rid of pr_current().
    
    Get rid of the function which set the global TOPLEVEL structure
    for lepton-attrib.  Use the same approach as liblepton uses
    instead.  Thus, lepton-attrib's functions can now be used in other
    environments where toplevel is already set.

commit 3691e47ffdfd9ecb55840346b90a054399f02990
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 23:21:06 2020 +0300

    attrib: Fix a doxygen comment.

commit afdaf41ccf60a341505a139d6077f167ab50ad8f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 22:52:46 2020 +0300

    attrib: Get rid of an unused dialog.
    
    The function x_fileselect_save() is not used, since lepton-attrib
    is only able to save pages all together.  There is no point to
    maintain it farther.

commit 4f7e847396370da7730cb4a446499e59d9170a93
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 22:30:35 2020 +0300

    attrib: Get rid of a local function.

commit e5bfd5b24b985e292d9be3891d9afae15af63581
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 22:29:31 2020 +0300

    attrib: Get rid of TOPLEVEL argument in s_toplevel_save_sheet().

commit 9d1cdfbf44149a3e82655b4df79561f048cf79f1
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 22:24:16 2020 +0300

    attrib: Reduce code by moving same functionality into one function.

commit 245f5b98a5c606832636e5fdb14a261969bb6f1a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 22:21:09 2020 +0300

    attrib: Use shorter name for a function.

commit 378179ad601a4a9dbe4b656b58f670ceec0e1145
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 19:52:10 2020 +0300

    attrib: Free the GSList* variable representing list of processed files in x_fileselect_load().
    
    Thus we ensure the variable is freed anyways.

commit 1670c95604161bd5c4f23d5c53c6643976c6c7a7
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon May 18 15:41:51 2020 +0300

    attrib: Process files by File open dialog in Scheme code.

commit 71ea4ef619de0f02d4c4dd445ade23dd14f89856
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sun May 17 13:17:12 2020 +0300

    attrib: Use Scheme FFI to initialize main window.

commit bb33ca3a482f14cb3fe27004e4d9beef363a4e3d
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat May 16 14:51:45 2020 +0300

    attrib: Fix a comment.

commit 798b31ed494feae0c3d204b12b9db681309dbbd9
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat May 16 14:51:17 2020 +0300

    attrib: Fix file name in a comment.

commit 64a5567fd754fe4008fb8c16aa6800c7db92417c
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat May 16 14:43:48 2020 +0300

    attrib: Rename two more functions.

commit 0cfc3cd4e9b734d86102bc9febb3a25aa02e4143
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat May 16 14:42:12 2020 +0300

    attrib: Rename a function.

commit c3c89c1287788e30b26260992b6c5ce7e3563135
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat May 16 13:08:30 2020 +0300

    attrib: Get rid of empty i_basic.c.

commit d774a77de32549686d46a2eeee8edd77eb35b4c3
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Sat May 16 13:06:54 2020 +0300

    attrib: Get rid of unused header file.

commit 3c763775facc283ce3cc863489efe6fbba16505a
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 15 12:06:10 2020 +0300

    attrib: Move calling Gtk functions to Scheme code.
    
    Now, Guile FFI is used to load Gtk functions.

commit 984a4a814946bf2a094a0b3dd65eeda9c027e2be
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 15 10:28:13 2020 +0300

    attrib: Fix up some comments.

commit 73373e4b0b7bfee92269ee0acde9c6eae22c6e50
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Fri May 15 10:14:03 2020 +0300

    attrib: Report if there are unreadable files in Scheme.

commit bbeaa540728710487c8fbb5b20ad7a1e8156246e
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 21:47:50 2020 +0300

    attrib: Use SCM argument in gattrib_main().
    
    This prevents crashes when many files are opened due to garbage
    collection of GSList structure.

commit 5dfad77d430df8fc561c5a2e2690bc9d86571c65
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 20:45:21 2020 +0300

    attrib: Simplify call for gtk_init().

commit bc891128899385113f8a6e4ea365b18f7252ba07
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 20:25:55 2020 +0300

    attrib: Don't use g_thread_init() in the code.
    
    Quote:
    
    g_thread_init has been deprecated since version 2.32 and should
    not be used in newly-written code.
    
    This function is no longer necessary. The GLib threading system is
    automatically initialized at the start of your program.

commit e5da0a23765adb173491151b7f1947aa5281b568
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 19:24:15 2020 +0300

    attrib: Reduce the number of arguments of gattrib_main().

commit d68c06b96f7a33c8b8286987beddae1466be84e4
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 13:40:26 2020 +0300

    attrib: Get rid of parsecmd.c.
    
    Its functions have been already reimplemented in Scheme.

commit 5e3704bbb2dc6d8592354af3452e5bd622b24338
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 13:11:13 2020 +0300

    attrib: Add support for --verbose option in Scheme.

commit d91c23ac0f39872c18aa710b2acd795e3ebc0bf7
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Thu May 14 12:41:10 2020 +0300

    attrib: Get rid of mostly unused option --quiet.

commit ae2d1f3e04b9d729f0207bda0d8c66ae6736b2d0
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 13 19:48:30 2020 +0300

    attrib: Use FFI functions to actually load schematic files.

commit f13e6d635c5a2f1dcf7ad0377ed9155f5343256f
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 13 11:28:44 2020 +0300

    attrib: Move log initialization to Scheme code.

commit 632294d1caf9fe3f46a27193a339f63c94e8a7f6
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Wed May 13 11:02:42 2020 +0300

    attrib: Remove liblepton initialization from C code.
    
    It is already loaded in lepton-attrib Scheme source code.

commit f7c768cba94cd18d7d8429468b2e610f644d17ed
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Mar 31 18:53:37 2020 +0300

    attrib: Get rid of the global variable 'pr_current'.
    
    This prevents crashes on some architectures since the variable may
    be not initialized when used first time due to unspecified order
    of initialization of global functions and variables.

commit d67f3b91d0d6db7263b21306e1bdb5f3f5b7e9aa
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Tue Mar 31 11:28:09 2020 +0300

    attrib: Rewrite executable 'lepton-attrib' in Scheme.

commit fcb5ac5cd1077391854a02db2ec7d5fe99b031e4
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon Mar 30 22:01:21 2020 +0300

    attrib: Move some functions to libleptonattrib.

commit 949e0a36a3fbf66658133c9471c36d50783eea41
Author: Vladimir Zhbanov <vzhbanov@gmail.com>
Date:   Mon Mar 30 18:57:23 2020 +0300

    attrib: Transform source code into library 'libleptonattrib'.
