From 53c0e0437da5f43b87a18c581d8e62dbde2676b6 Mon Sep 17 00:00:00 2001 From: zongor Date: Fri, 3 Nov 2023 19:29:03 -0400 Subject: [PATCH] fix patch --- acme3k.patch | 370 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 370 insertions(+) diff --git a/acme3k.patch b/acme3k.patch index 58c7bb7..6adbca4 100644 --- a/acme3k.patch +++ b/acme3k.patch @@ -1,3 +1,266 @@ +diff --git a/src/cmd/acme/LICENSE b/src/cmd/acme/LICENSE +new file mode 100644 +index 00000000..6110e313 +--- /dev/null ++++ b/src/cmd/acme/LICENSE +@@ -0,0 +1,257 @@ ++Copyright © 2000-2009 Lucent Technologies. All Rights Reserved. ++Portions Copyright © 2001-2008 Russ Cox ++Portions Copyright © 2008-2009 Google Inc. ++ ++=================================================================== ++ ++The bulk of this software is derived from Plan 9 and is thus distributed ++under the Lucent Public License, Version 1.02, reproduced below. ++ ++There are a few exceptions: libutf, libfmt, and libregexp are distributed ++under simpler BSD-like boilerplates. See the LICENSE files in those ++directories. There are other exceptions, also marked with LICENSE files ++in their directories or marked at the top of the file. ++ ++The bitmap fonts in the font/luc, font/lucm, font/lucsans, and font/pelm ++directory are copyright B&H Inc. and distributed under more restricted ++terms under agreement with B&H. See the NOTICE file in those directories. ++ ++=================================================================== ++ ++Lucent Public License Version 1.02 ++ ++THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC ++LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE ++PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. ++ ++1. DEFINITIONS ++ ++"Contribution" means: ++ ++ a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original ++ Program, and ++ b. in the case of each Contributor, ++ ++ i. changes to the Program, and ++ ii. additions to the Program; ++ ++ where such changes and/or additions to the Program were added to the ++ Program by such Contributor itself or anyone acting on such ++ Contributor's behalf, and the Contributor explicitly consents, in ++ accordance with Section 3C, to characterization of the changes and/or ++ additions as Contributions. ++ ++"Contributor" means LUCENT and any other entity that has Contributed a ++Contribution to the Program. ++ ++"Distributor" means a Recipient that distributes the Program, ++modifications to the Program, or any part thereof. ++ ++"Licensed Patents" mean patent claims licensable by a Contributor ++which are necessarily infringed by the use or sale of its Contribution ++alone or when combined with the Program. ++ ++"Original Program" means the original version of the software ++accompanying this Agreement as released by LUCENT, including source ++code, object code and documentation, if any. ++ ++"Program" means the Original Program and Contributions or any part ++thereof ++ ++"Recipient" means anyone who receives the Program under this ++Agreement, including all Contributors. ++ ++2. GRANT OF RIGHTS ++ ++ a. Subject to the terms of this Agreement, each Contributor hereby ++ grants Recipient a non-exclusive, worldwide, royalty-free copyright ++ license to reproduce, prepare derivative works of, publicly display, ++ publicly perform, distribute and sublicense the Contribution of such ++ Contributor, if any, and such derivative works, in source code and ++ object code form. ++ ++ b. Subject to the terms of this Agreement, each Contributor hereby ++ grants Recipient a non-exclusive, worldwide, royalty-free patent ++ license under Licensed Patents to make, use, sell, offer to sell, ++ import and otherwise transfer the Contribution of such Contributor, if ++ any, in source code and object code form. The patent license granted ++ by a Contributor shall also apply to the combination of the ++ Contribution of that Contributor and the Program if, at the time the ++ Contribution is added by the Contributor, such addition of the ++ Contribution causes such combination to be covered by the Licensed ++ Patents. The patent license granted by a Contributor shall not apply ++ to (i) any other combinations which include the Contribution, nor to ++ (ii) Contributions of other Contributors. No hardware per se is ++ licensed hereunder. ++ ++ c. Recipient understands that although each Contributor grants the ++ licenses to its Contributions set forth herein, no assurances are ++ provided by any Contributor that the Program does not infringe the ++ patent or other intellectual property rights of any other entity. Each ++ Contributor disclaims any liability to Recipient for claims brought by ++ any other entity based on infringement of intellectual property rights ++ or otherwise. As a condition to exercising the rights and licenses ++ granted hereunder, each Recipient hereby assumes sole responsibility ++ to secure any other intellectual property rights needed, if any. For ++ example, if a third party patent license is required to allow ++ Recipient to distribute the Program, it is Recipient's responsibility ++ to acquire that license before distributing the Program. ++ ++ d. Each Contributor represents that to its knowledge it has sufficient ++ copyright rights in its Contribution, if any, to grant the copyright ++ license set forth in this Agreement. ++ ++3. REQUIREMENTS ++ ++A. Distributor may choose to distribute the Program in any form under ++this Agreement or under its own license agreement, provided that: ++ ++ a. it complies with the terms and conditions of this Agreement; ++ ++ b. if the Program is distributed in source code or other tangible ++ form, a copy of this Agreement or Distributor's own license agreement ++ is included with each copy of the Program; and ++ ++ c. if distributed under Distributor's own license agreement, such ++ license agreement: ++ ++ i. effectively disclaims on behalf of all Contributors all warranties ++ and conditions, express and implied, including warranties or ++ conditions of title and non-infringement, and implied warranties or ++ conditions of merchantability and fitness for a particular purpose; ++ ii. effectively excludes on behalf of all Contributors all liability ++ for damages, including direct, indirect, special, incidental and ++ consequential damages, such as lost profits; and ++ iii. states that any provisions which differ from this Agreement are ++ offered by that Contributor alone and not by any other party. ++ ++B. Each Distributor must include the following in a conspicuous ++ location in the Program: ++ ++ Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights ++ Reserved. ++ ++C. In addition, each Contributor must identify itself as the ++originator of its Contribution in a manner that reasonably allows ++subsequent Recipients to identify the originator of the Contribution. ++Also, each Contributor must agree that the additions and/or changes ++are intended to be a Contribution. Once a Contribution is contributed, ++it may not thereafter be revoked. ++ ++4. COMMERCIAL DISTRIBUTION ++ ++Commercial distributors of software may accept certain ++responsibilities with respect to end users, business partners and the ++like. While this license is intended to facilitate the commercial use ++of the Program, the Distributor who includes the Program in a ++commercial product offering should do so in a manner which does not ++create potential liability for Contributors. Therefore, if a ++Distributor includes the Program in a commercial product offering, ++such Distributor ("Commercial Distributor") hereby agrees to defend ++and indemnify every Contributor ("Indemnified Contributor") against ++any losses, damages and costs (collectively"Losses") arising from ++claims, lawsuits and other legal actions brought by a third party ++against the Indemnified Contributor to the extent caused by the acts ++or omissions of such Commercial Distributor in connection with its ++distribution of the Program in a commercial product offering. The ++obligations in this section do not apply to any claims or Losses ++relating to any actual or alleged intellectual property infringement. ++In order to qualify, an Indemnified Contributor must: a) promptly ++notify the Commercial Distributor in writing of such claim, and b) ++allow the Commercial Distributor to control, and cooperate with the ++Commercial Distributor in, the defense and any related settlement ++negotiations. The Indemnified Contributor may participate in any such ++claim at its own expense. ++ ++For example, a Distributor might include the Program in a commercial ++product offering, Product X. That Distributor is then a Commercial ++Distributor. If that Commercial Distributor then makes performance ++claims, or offers warranties related to Product X, those performance ++claims and warranties are such Commercial Distributor's responsibility ++alone. Under this section, the Commercial Distributor would have to ++defend claims against the Contributors related to those performance ++claims and warranties, and if a court requires any Contributor to pay ++any damages as a result, the Commercial Distributor must pay those ++damages. ++ ++5. NO WARRANTY ++ ++EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS ++PROVIDED ON AN"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ++KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY ++WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY ++OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely ++responsible for determining the appropriateness of using and ++distributing the Program and assumes all risks associated with its ++exercise of rights under this Agreement, including but not limited to ++the risks and costs of program errors, compliance with applicable ++laws, damage to or loss of data, programs or equipment, and ++unavailability or interruption of operations. ++ ++6. DISCLAIMER OF LIABILITY ++ ++EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ++ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, ++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING ++WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF ++LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR ++DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED ++HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ++ ++7. EXPORT CONTROL ++ ++Recipient agrees that Recipient alone is responsible for compliance ++with the United States export administration regulations (and the ++export control laws and regulation of any other countries). ++ ++8. GENERAL ++ ++If any provision of this Agreement is invalid or unenforceable under ++applicable law, it shall not affect the validity or enforceability of ++the remainder of the terms of this Agreement, and without further ++action by the parties hereto, such provision shall be reformed to the ++minimum extent necessary to make such provision valid and enforceable. ++ ++If Recipient institutes patent litigation against a Contributor with ++respect to a patent applicable to software (including a cross-claim or ++counterclaim in a lawsuit), then any patent licenses granted by that ++Contributor to such Recipient under this Agreement shall terminate as ++of the date such litigation is filed. In addition, if Recipient ++institutes patent litigation against any entity (including a ++cross-claim or counterclaim in a lawsuit) alleging that the Program ++itself (excluding combinations of the Program with other software or ++hardware) infringes such Recipient's patent(s), then such Recipient's ++rights granted under Section 2(b) shall terminate as of the date such ++litigation is filed. ++ ++All Recipient's rights under this Agreement shall terminate if it ++fails to comply with any of the material terms or conditions of this ++Agreement and does not cure such failure in a reasonable period of ++time after becoming aware of such noncompliance. If all Recipient's ++rights under this Agreement terminate, Recipient agrees to cease use ++and distribution of the Program as soon as reasonably practicable. ++However, Recipient's obligations under this Agreement and any licenses ++granted by Recipient relating to the Program shall continue and ++survive. ++ ++LUCENT may publish new versions (including revisions) of this ++Agreement from time to time. Each new version of the Agreement will be ++given a distinguishing version number. The Program (including ++Contributions) may always be distributed subject to the version of the ++Agreement under which it was received. In addition, after a new ++version of the Agreement is published, Contributor may elect to ++distribute the Program (including its Contributions) under the new ++version. No one other than LUCENT has the right to modify this ++Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, ++Recipient receives no rights or licenses to the intellectual property ++of any Contributor under this Agreement, whether expressly, by ++implication, estoppel or otherwise. All rights in the Program not ++expressly granted under this Agreement are reserved. ++ ++This Agreement is governed by the laws of the State of New York and ++the intellectual property laws of the United States of America. No ++party to this Agreement will bring a legal action under this Agreement ++more than one year after the cause of action arose. Each party waives ++its rights to a jury trial in any resulting litigation. ++ diff --git a/src/cmd/acme/acme.c b/src/cmd/acme/acme.c index da24e706..28c429ec 100644 --- a/src/cmd/acme/acme.c @@ -419,6 +682,113 @@ index 63247a84..5c8d4586 100644 b = mouse->buttons; op = mouse->xy; while(mouse->buttons == b) +diff --git a/src/cmd/acme/config.h b/src/cmd/acme/config.h +new file mode 100644 +index 00000000..c7258e6f +--- /dev/null ++++ b/src/cmd/acme/config.h +@@ -0,0 +1,101 @@ ++/* ++ * fontnames-array takes two fonts, first one ++ * it treats as a proportional-width font and uses ++ * everywhere possible and as a main UI font, while ++ * the second font it treats as a fixed-width font, ++ * changeable to any text window by executing `Font` ++ * from tag window. ++ * ++ * Note: `Font` can also be executed ++ * with arguments with any `fontsrv -p .` approved ++ * fonts, thus allowing you to experiment with font ++ * sizes and whether you want anti-aliasing or not. ++ */ ++ ++char *fontnames[2] = { ++ "/lib/font/bit/profont/profont-12.font", ++ "/lib/font/bit/mntcarlo/mntcarlo.font" ++}; ++ ++/* ++ * globalautoindent tries to guess where to ++ * indent by the context of the previous line. ++ * ++ * comes highly suggested. ++ */ ++ ++int globalautoindent = TRUE; ++ ++/* ++ * swapping scroll buttons makes B1 scroll down ++ * instead of up and B2 up instead of down ++ */ ++ ++int swapscrollbuttons = FALSE; ++ ++/* ++ * bartflag triggers quote unquote experimental ++ * mode, in which instead of mouse following focus ++ * from window to window etc. it in fact, does not. ++ * ++ * comes highly suggested. ++ */ ++ ++int bartflag = TRUE; ++ ++/* ++ * colors-constants. now let me take a minute to explain ++ * them. C_TAGBG/FG/HLBG/HLFG are respectively your tag ++ * windows background, foreground, highlighted back- and ++ * foreground color. The same exact applies to C_TXT*- ++ * variants of the same constant just in this case it handles ++ * the colorscheme of the text window. ++ * ++ * C_WINBUTTON is the button which you adjust your columns ++ * position with. C_COLBUTTON represents a separate text ++ * windows button. C_TMPBUTTON is the so-called "dirty" ++ * or "unclean" -marker aka notifying the file as modified put ++ * in the middle of C_COLBUTTON. C_SCROLLBG is plain and simple ++ * your scrollbars background color. ++ * ++ * the last two defines are for defining the color of the specific ++ * buttons highlight background. ++ */ ++ ++/* ++#define C_TAGBG 0xFFFFFFFF ++#define C_TAGFG 0x000000FF ++#define C_TAGHLBG 0x999999FF ++#define C_TAGHLFG 0x000000FF ++ ++#define C_TXTBG 0xFFFFFFFF ++#define C_TXTFG 0x000000FF ++#define C_TXTHLBG 0x999999FF ++#define C_TXTHLFG 0x000000FF ++ ++#define C_WINBUTTON 0x4d4d4dFF ++#define C_COLBUTTON 0x55aaaaFF ++#define C_TMPBUTTON 0x55aaaaFF ++#define C_SCROLLBG 0x999999FF ++ ++#define C_BUTTON2HL 0x55aaaaFF ++#define C_BUTTON3HL 0x55aaaaFF ++*/ ++#define C_TAGBG 0x2B303BFF ++#define C_TAGFG 0xC0C5CEFF ++#define C_TAGHLBG 0x006CA5FF ++#define C_TAGHLFG 0xEFF1F5FF ++ ++#define C_TXTBG 0x2B303BFF ++#define C_TXTFG 0xC0C5CEFF ++#define C_TXTHLBG 0x006CA5FF ++#define C_TXTHLFG 0xEFF1F5FF ++ ++#define C_WINBUTTON 0x543F5EFF ++#define C_COLBUTTON 0x65737EFF ++#define C_TMPBUTTON 0x65737EFF ++#define C_SCROLLBG 0x222222FF ++ ++#define C_BUTTON2HL 0xB47EADFF ++#define C_BUTTON3HL 0xBF616AFF ++ diff --git a/src/cmd/acme/dat.h b/src/cmd/acme/dat.h index 1dfc6a65..8c4b14ee 100644 --- a/src/cmd/acme/dat.h