52 Commits
Author SHA1 Message Date
Devansh Varshney 87a7d94cc3 tdf#165785: basctl: Integrate blank UI shell for Object Browser
This patch integrates the user interface for the new Object Browser.
It introduces the UI definition file and the C++ logic to create,
display, and manage the window's lifecycle within the IDE.

(GSoC 2025 - Object Browser: UI Shell Integration)

Change-Id: I9a2d7c319a7590e44eafe3d575eb3b0aeffb7e86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191206
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-09-26 21:46:24 +02:00
Devansh Varshney dadddf3861 tdf#165785: basctl: Core Data Structures for Object Browser
This commit introduces the core data structures and minimal C++ class
definitions for the new BASIC IDE Object Browser. It establishes the
necessary foundation for the feature, allowing the code to build cleanly.

The actual logic for the UI, data fetching, and other features
will be implemented in subsequent, focused patches.

(GSoC 2025 - Object Browser: Core Data Structures)

Change-Id: Ibd9bb6be0adf579d156662bf33565de497187a55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189934
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-09-26 20:53:40 +02:00
Michael Weghorn d997c4fd03 basicide a11y: Move TextWindow a11y classes to basctl, create directly
Move the a11y classes used for implementing Basic IDE a11y
from vcl to basctl. Move them into a namespace
"accessibility" to avoid a name clash with the Paragraph
class declared in include/editeng/outliner.hxx.

In TextWindowPeer::CreateAccessibleContext, call the
Document ctor directly and drop the now unused
AccessibleFactory::createAccessibleTextWindowContext.

Change-Id: I396507e5fca17b4e7a1b65b28797569bc31d6a04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184838
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-05-01 09:52:37 +02:00
Michael Weghorn 9e96699b40 basicide a11y: Move basctl::createTextWindowPeer logic to caller
Drop the helper method basctl::createTextWindowPeer
that calls the TextWindowPeer ctor, and instead
call the ctor directly from
EditorWindow::GetComponentInterface.

In order for the class to be known there, move it
to the anonymous namespace in the same source file.

This is an intermediate step towards
getting rid of TextWindowPeer altogether.

Change-Id: I58111af8fadb45c6471af942b300665f3df189c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184837
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-05-01 09:52:30 +02:00
Jim Raykowski 55e86edcb3 tdf#120658 - Reworking of dialogues Organize macros
(make from 5 existing only one)

Much of what makes up this patch is adapted from existing code that is
used to organize and select macros and to assign macros to shortcut
keys. Comments in the patch say where code is borrowed from.

Known issues:

+ Scripting framework library rename for BeanShell, Java, and JavaScript
always returns fail when there are no macro entries in the library even
though it actually succeeds. The same thing happens using
SvxScriptOrgDialog::renameEntry.

+ Deleting Basic macros from the Macro Manager dialog is not implemented
yet.

Change-Id: If4da04549f8b39675910cbbd1f94dd9a6b73c31a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176254
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-02 07:13:00 +01:00
Rafael Lima d9d9ec7039 tdf#158749 Open "Go to Line" dialog from the statusbar in Basic IDE
With this change, if the user clicks the StatusGetPosition item in the status bar, the Go To Line dialog will be shown.

Change-Id: Iba75e2dbf6ba83fce24e1af237bdf9813d4ecb69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162108
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-01-23 12:11:33 +01:00
Rafael Lima 076e21f4e3 tdf#156925 Add Color Scheme selector to the Basic IDE
This patch implements a color scheme selector for the Basic IDE. With this new feature the user can either:
1) Choose to stick with "Application Colors", meaning that the colors defined in "Tools - Options - Application Colors" are applied.
2) Use one of the available color schemes in the dialog

To access the color scheme dialog, go to View - Color Scheme.

A color schema was defined in the "BasicIDE.xcs" file and six color schemes were defined in "BasicIDE.xcu" to be shipped with LibreOffice.

This way, it is possible to install more color schemes via extensions;

Change-Id: I5d382d19f982d02ba3c0fda5d1596aed2c38f13c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155928
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2024-01-08 19:13:38 +01:00
Rafael Lima be6024a2d4 tdf#152078 Enable Ctrl+Wheel zoom in Basic code editor
Change-Id: Ic68ae67c311a83e4003da2ca7486fcbf6698bdc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143584
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2022-12-08 08:25:16 +00:00
Armin Le Grand (Allotropia) 02140554ee WASM --enable-wasm-strip now skips lots of LO code
... resulting in a stripped-down, Writer-only build to decrease
the resulting WASM bytecode size.

It removes the following code from the build:
* All other major modules: Base, Calc, Chart, Draw, Impress and
  Math and related writerperfect filters
* The premultiply tables
* The (auto-)recovery functionality
* All accessibility (but not the accessibility document checker)
* The LanguageGuess component
* EPUB support
* The start center / BackingWindow
* The TipOfTheDay functionality
* The splash screen communication

Currently crashs with anything different then soffice --writer.
Closing the document also still crashes.

FYI: many of these features are now behind ENABLE_WASM_STRIP_*
defines, but they normally don't work on their own, globally!
That's because we started with stripping the main components.

Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20 12:28:54 +01:00
Stephan Bergmann db3a61cd95 Generally determine Rdb content from gb_*_set_componentfile calls
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb).  To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget.  (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)

Most Rdb_*.mk files are thus mostly empty now.  One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.

1c9a40299d "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option.  However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d):

1  Rdb_services shall not contain the component files of all libraries that are
built.  While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).

2  The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.

3  The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.

4  Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.

The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled.  I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.

Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-10 08:14:24 +01:00
Andreas Heinisch 46e924ac80 tdf#139196 - Import/export macros using utf-8 including BOM
Moved import logic to a local function, and during the import of a *.bas
file, check if it starts with BOM in order to detect the correct
charset. If there is no BOM, use the default charset of the system, since
after the change in 178adcd845, all the
newly created *.bas files have a BOM and are written using the utf-8
charset.

Change-Id: Iefdecb5762d896ce3e52fd6d212de42cf417ddac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116186
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
2021-05-27 09:36:07 +02:00
Andreas Heinisch 178adcd845 tdf#139196 - Import/export macros using utf-8 including BOM
In addition, try to detect the charset during the import of a *.bas
file.

Change-Id: I0dfe7f1b5349db409d90ed92b2e19c9946ae50cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116004
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-05-25 22:20:10 +02:00
Caolán McNamara 660e82ee8c move TextWindowPeer to its only user
Change-Id: I16cc2f75c3e639915c90edc626829e455bda4383
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100889
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-18 12:40:51 +02:00
Noel Grandin a2d844ca71 basctl: create instances with uno constructors
See tdf#74608 for motivation

Change-Id: Ibada6b9b7e6c754487c90ce1a37c17019db55370
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97932
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-05 10:20:16 +02:00
Noel Grandin d70da0b9e2 reduce number of framework libraries
Change-Id: If2bf85301eb1523a636d031f6e5a9f78cb1ee06b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97871
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-04 16:56:59 +02:00
Xisco Fauli 1668d38a14 uitest: add wrapper for macro editor
Change-Id: I729c5cdbc3ba925a0c08750eba199a400babba1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94445
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2020-05-23 10:02:59 +02:00
Noel Grandin bef94cb69c no need to pass ENABLE_MERGELIBS in command line flags
since we put it into the config_options.h header

Change-Id: I72320762f8f7b671d69675b8afb17b7bfa2e706d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92089
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-12 21:43:47 +02:00
Noel Grandin 40fe721462 add some more libs to libmerged
and fix a consequent symbol name clash in basctl

Change-Id: Idc836fcbb379e1046a60008391635eb6241b27c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88188
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-11 13:51:48 +01:00
Luboš Luňák 42af04bf24 do not require $(SRCDIR) in every gb_Library_set_precompiled_header
Change-Id: I7b3a22584bb2e4d501f509ffcd80929feed23a4c
Reviewed-on: https://gerrit.libreoffice.org/79360
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-23 10:47:25 +02:00
tagezi 79cf986343 Rename files for ToolBox ComboBoxes in BasicIDE
As part of documenting source code for easier code reading by newbies,
because of the word "Box" in IDE is used not only for drop-down lists,
but also for other interface elements with limited boundaries

Change-Id: Ie9e1949cc9ac474bffe8201d12b9ce7dc2276076
Reviewed-on: https://gerrit.libreoffice.org/64713
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-12-08 10:09:58 +01:00
tagezi 2c7b476740 Rename files for class ObjectCatalog
Change-Id: I51bb2e9e49d9922a9624a2123dbeb1a820255b90
Reviewed-on: https://gerrit.libreoffice.org/64153
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-11-29 21:38:23 +01:00
David Ostrovsky de030cd7a2 gbuild: Remove MSVC 2013 legacy code
Uwinapi is discontinued.

Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01
Reviewed-on: https://gerrit.libreoffice.org/23198
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
Tested-by: David Ostrovsky <david@ostrovsky.org>
2017-04-21 18:18:44 +02:00
Maxim Monastirsky 1c70472740 Convert dialog controls button to the generic controller
Change-Id: I3d03fba86139a3495e1cfd67b3f17149c73e3377
2015-07-17 14:48:38 +03:00
Thomas Arnhold 569ff6727e update_pch: add a bunch of pch files
I had to fix some source files because of macro redefinitions and such stuff.

Small modules like basic have a great win, too:

make basic.clean && time make basic:

                with    w/o
                 pch    pch
accessibility    23s  1m59s
basctl           30s  1m42s
basic            56s  1m35s
comphelper       23s    51s
editeng          48s  2m04s
forms            40s  1m40s
unotools         19s    38s
sd             3m37s  4m33s

Change-Id: Id24cdcddbe2ff64820b42266325c25af1355558f
Reviewed-on: https://gerrit.libreoffice.org/9293
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
2014-05-09 19:50:42 +00:00
Gergo Mocsi 8a1e19f4ff GSOC work, Tool/Options/Basic IDE Options created
Created a new tab in Tools/Options/Basic IDE options instead of the ModalDialog.
The original dialog under Basic IDE/View/IDE Options was removed.
Tab page is disabled when experimetal flag is off, entry node in the treebox is visible.

Change-Id: Iaad1ea5fadc3f05ca81f2240dceb513f25be35b9
2013-09-02 18:16:58 +02:00
Gergo Mocsi 790a7aff12 GSOC work, renaming for consistency
Menu enrty was renamed to IDE Options under View.
SID_BASICIDE_CODECOMPLETE was renamed to SID_BASICIDE_IDEOPTIONS.
CodeCompleteDlg was rename to BasicIDEOptionDlg.
Ui file was renamed to basicideoptionsdialog.ui.
Checkbox for extended types is now independent from code complete one.

Change-Id: Id862df0ee56cdf2aa81e19a34099fe679ad5d311
2013-09-02 18:16:54 +02:00
Gergo Mocsi 70ab744ccf GSOC work, ModalDialog instead of menu entry
Created a ModalDialog named CodeCompleteOptionsDlg to edit options for code completition/suggestion.
Unimplemented features in it are disabled.
The dialog window uses Glade .ui file.

Change-Id: I1b59f386a9575aa25b38c5a1d7d1f020498a69ab
2013-09-02 18:16:48 +02:00
Michael Meeks 1e4422a4b4 re-base on ALv2 code. Includes:
Patches contributed by Mathias Bauer
        gnumake4 work variously
        http://svn.apache.org/viewvc?view=revision&revision=1394707
        http://svn.apache.org/viewvc?view=revision&revision=1394326
        http://svn.apache.org/viewvc?view=revision&revision=1397337
        http://svn.apache.org/viewvc?view=revision&revision=1397315
        http://svn.apache.org/viewvc?view=revision&revision=1396797

	Patches contributed by Andre Fischer
	Fixed getcsym.awk to handle #-comments that contain special regexp chars.
        http://svn.apache.org/viewvc?view=revision&revision=1230971
	118778: Added ADDITIONAL_REPOSITORIES environment variable and its
	automatic setup in configure.
        http://svn.apache.org/viewvc?view=revision&revision=1232004
	118160: Added external CoinMP library.
        http://svn.apache.org/viewvc?view=revision&revision=1233909

	Patches contributed by Herbert Duerr
	#i119168# use generic LICENSE file for langpacks and sdks
        http://svn.apache.org/viewvc?view=revision&revision=1310178
	macosxotoolhelper: need to quote perl regexp if it may contain regexp metachars
        http://svn.apache.org/viewvc?view=revision&revision=1183367
	allow gbuild with empty sysroot on linux
        http://svn.apache.org/viewvc?view=revision&revision=1179186

	Patches contributed by Ingo Schmidt
	native373: #164472# improvements for msi database
        http://svn.apache.org/viewvc?view=revision&revision=1167540
        http://svn.apache.org/viewvc?view=revision&revision=1167539

	Patches contributed by Jurgen Schmidt
	adapt setup package scripts to handle special DS_Store file for
	developer snapshot builds
        http://svn.apache.org/viewvc?view=revision&revision=1232430
	imported patch extensions_i117681.patch
	http://svn.apache.org/viewvc?view=revision&revision=1172102

	Patches contributed by Michael Stahl
	gbuild: RepositoryFixes.mk should be optional
        http://svn.apache.org/viewvc?view=revision&revision=1166123
	xslt filter: remove the FLA horror
	wordml import filter: replace FLA usage with plain XSLT
	http://svn.apache.org/viewvc?view=revision&revision=1363727

	Patch contributed by Oliver-Rainer Wittmann
	i#88652: applied patch, remove unicows deps
	http://svn.apache.org/viewvc?view=revision&revision=1177585

    Remove lots of OS2 conditionals, re-extract Rhino Java, unwind
    cppunit pieces, cleanup Mac image bits, remove coin-mp and
    re-package lpsolve, Oxygen & Crystal, fixup qstart bits, expand
    MPLv2 subset checking.

Change-Id: Iad5c8a76399620b892671633c0d8c29996db3564
2013-06-03 11:41:36 +01:00
Michael Stahl 32b9ff8866 svx: remove Package_sdi
Change-Id: I0c648ca1b1f3cc22244d660e032bacbdbe0f642e
2013-05-08 17:49:55 +02:00
Michael Stahl 429a850d0d sfx2: remove Package_sdi
There are just a handful of sdi files in sfx2 anyway so just put
sfx2/sdi on include path.

Change-Id: Ia9be889a63ba9a2f330b505613ae38158a4b7bdf
2013-05-08 17:49:55 +02:00
Michael Stahl 368e06b05a officecfg: remove Package_cppheader
Instead include generated headers directly from workdir.

Change-Id: I9d2bcc07175d2bbc16d3cc548c2245e7a4fb0c65
2013-05-07 17:07:43 +02:00
Eike Rathke 876c619b94 new module i18nlangtag
Moved portions from module i18npool, all of former i18nisolang1 library
that now is i18nlangtag. Included are languagetag, isolang and mslangid.

This i18nlangtag code is now even used by module comphelper, so
disentangling i18npool and making this an own module was needed to not
create circular module dependencies.

Change-Id: Ib887c3d6dde667403fd22d382310ba5f1a9b0015
2013-04-05 19:10:48 +02:00
Michael Stahl fc81393c7f gbuild: remove various pointless calls that don't add anything
Change-Id: I7eccac4fa8890c2873c6bbd7f8f5bf5b0dd006d2
2013-01-26 22:20:07 +01:00
Michael Stahl a53586f4ef gbuild: do not copy boost headers around
- do not use gb_UnpackedTarball_copy_header_files for boost
- adapt the optimization in concat-deps.c for new path
- use boost_headers in all LinkTargets that require it
- add explicit include paths to mysqlc, mysqlcppconn, libvisio, liborcus

Change-Id: I0c43e73ed43cc9d2e6bce8faf55e992d655a0bb9
2013-01-26 22:20:06 +01:00
Eike Rathke 9955dbebbd AllSettings with LanguageTag
Change-Id: I710ae66e51139662eb442b681fdf9cc9d158551d
2012-11-22 12:34:59 +01:00
Michael Stahl 5032dc0fc3 gbuild: invert handling of standard system libraries:
Always link in gb_STDLIBS, except when the library explicitly opts out
with gb_LinkTarget_disable_standard_system_libs.

Change-Id: I489a99114fbfa46d0421a27cf6c7b899dc268a4a
2012-09-28 16:49:08 +02:00
Michael Stahl dc397aae70 gbuild: gb_Library_PLAINLIBS_NONE cleanup for WNT:
add a new gb_LinkTarget_use_system_win32_libs to abstract different
linker options on MSVC and GCC.

Change-Id: Ic9bf2545f59bf7871e6fc06b290c486ddfbec03d
2012-09-28 16:49:08 +02:00
Michael Stahl b85c349783 gbuild: replace direct gb_STDLIBS use with ...
... new gb_LinkTarget_add_standard_system_libs

Change-Id: Ib2bc843098db3d8c6822b45a3d21724e67f57d69
2012-09-28 16:49:06 +02:00
Michael Stahl 2e677c3981 gbuild: split uwinapi out of gb_STDLIBS
Change-Id: I53316e0b9369d806197bccb42cf22d3497af43e7
2012-09-28 16:49:05 +02:00
Uray M. János 44861f2435 Object Catalog in Dialog Editor
Change-Id: Ia74faa1452a4200c28fbd7c63130700df0a70b24

Object Catalog in Dialog Editor

Change-Id: I97f2e0497b0e87cf630bba16dd98f9f7d0bb86e7
2012-08-17 13:10:15 +01:00
Michael Meeks ae7534f616 targetted rename xcr -> xmlscript to match includes and module name 2012-07-09 14:23:26 +01:00
Michael Meeks fdda178d88 targetted improvement of UNO API includes / usage 2012-07-02 14:43:34 +01:00
Michael Stahl c923f7d2c2 gbuild: "use" vs. "add":
Naming convention for gbuild methods:
- "add" is used for stuff that is logically a part of the target
  (i.e. not registered at the Module, but defined in the target's makefile)
- "use" is used for stuff that is logically a different target
  (i.e. it is registered at the Module, has it's own makefile, may be
  in a different module than the target)
2012-04-08 01:05:52 +02:00
Matúš Kukan 84b3f7b345 gbuild: get rid of realpath in gb_Foo_set_include 2012-03-10 21:23:20 +01:00
August Sodora f81a743840 Refactor BreakPoint 2011-12-04 22:02:03 -05:00
August Sodora 93e3a86977 Refactor sbxitem 2011-11-30 21:35:07 -05:00
Norbert Thiebaud 3f2ff54778 remove pch from the include list 2011-11-27 15:24:45 -06:00
Norbert Thiebaud 992757cc5e remove pre-compiled header support in gbuild and gbuildified module 2011-11-27 11:49:38 -06:00
August Sodora 291bd1f0bf Add line numbers to basic ide 2011-11-17 18:41:18 -06:00
Takeshi Abe b2bd33ea25 prefer makefile-gmake-mode to plain makefile-mode 2011-08-10 02:12:48 +09:00