- 03 Apr, 2015 2 commits
-
-
Robert Sprowson authored
The txt library part of RISC_OSLib was essentially contrary to everything Acorn was telling its developers, to use the global clipboard. Additionally, support is added for swap case within a selection. txt.h: Add a new charoption type 'txt_READONLY' to inform txt that the buffer is notionally read only, this is used to supress 'Paste' in the selection menu when appropriate. Correct some typos in the comments. txt1.h: Kill off modula 2 dummy structure member. txtar.h: Remove unused function export. txtfile.h: Rename basicimport to be consistent with the text version of the same function. We use 'import' to denote RAM transfers and 'insert' to denote file/scrap transfers throughout. txtmisc.h: Redundant internal functions removed. txtundo.h: Add a new undo operation type 't' for swap case, to avoid polluting the undo buffer with an entire copy of the text where only the case changed. Kill off modula 2 double pointer requirement. txtedit.h: Unused structure member 'selectctl' removed. txt.c: Kill off modula 2 double pointer requirement. txtar.c: Refactor message despatch with a switch statement so the save/load/open operations are explicitly checked for, in case the application enables other messages. txtedit.c: Adopt MOVERWRITE, been enabled since 1988 so is probably good to keep. Dynamically generate the Select menu by first sending a clipboard request, and fading Paste if no reply comes back. Implement changed mouse selection logic. Implement different hotkeys and caret navigation. Implement copy and paste/replace operations. Implement swap case operation. txtfile.c: Type corrections and function rename admin. Implement copy and paste/replace operation for detokenised BASIC. txtmisc.c: Supporting functions for clipboard added, supporting functions for ArcEdit removed. txtscrap.c: Make sure the caret is visible for programmatical zero sized selections. txtundo.c: Allow suspension of undo during known complex operations, such as import via RAM transmit. This was a longstanding bug where the import buffer was grabbed in ~4k chunks (even if only 1 byte was being transferred) which in turn resulted in a +4000 undo insertion and a -3999 removal, which given the default undo buffer is only 5k would result in it failing the reversibility test, so no undo was possible. Now, during a RAM transmit undo is suspended until the total transfer size is known, and only that data is placed in the undo buffer (subject to the same 5k reversibility limit). Add new undo type 't' for swap case operation. rlibdata.s: 4 new ints and 1 new BOOL, so RlibSpace increases by 5. Version 5.85. Tagged as 'RISC_OSLib-5_85'
-
Robert Sprowson authored
Add xferrecv_last_ref to get hold of the Wimp message id of the request for a scrap file data save, when the RAM transfer gets no reply. This is useful to allow the data save to be distinguished from a file being dragged to an application, without having to resort to string compares against <wimp$scrap>. SWIOptions: Also add RTC to SWI exports, and remove redundant ones. armsys.c: Treat cmd_string as a pointer. xferrecv.c/.h/rl_entries: New function xferrecv_last_ref. Version 5.84. Tagged as 'RISC_OSLib-5_84'
-
- 29 Mar, 2015 2 commits
-
-
Robert Sprowson authored
Now ObjAsm can ALIGN with arbitrary numbers, use the same trick FileCore does in its header by padding with newlines. Not tagged.
-
Robert Sprowson authored
-
- 16 Jan, 2015 2 commits
-
-
Jeffrey Lee authored
Detail: s/modulewrap - Escape some dollars contained in strings to avoid warnings from objasm Admin: Resulting binary unchanged (FilerAction) Version 5.83. Retagged as 'RISC_OSLib-5_83'
-
Jeffrey Lee authored
Detail: kernel/s/k_body, s/initmodule - Escape some dollars contained in strings to avoid warnings from objasm Admin: Resulting binary unchanged Version 5.83. Retagged as 'RISC_OSLib-5_83'
-
- 23 Aug, 2014 1 commit
-
-
Robert Sprowson authored
dbox.c: address of cancelled by dereference event.c: spelling txtar.c: don't grab the caret when clicking toggle size txtedit.c: use BOOL for a boolean win.c: when looking at the behind window handle we want -1 not 'DUD' (which happens to be -1) wimp.h: add comment about window handle -3 Retagged as RISC_OSLib-5_83. Version 5.83. Not tagged
-
- 01 Aug, 2014 2 commits
-
-
Jeffrey Lee authored
Detail: Makefile - Get the -depend option from ${STDTOOLOPTIONS}; also allows us to pull in the throwback flag. Fix all ${AS} calls to use ${AFLAGS} so that dependencies are tracked properly. Admin: Identical to previous binary Version 5.83. Retagged as 'RISC_OSLib-5_83'
-
Jeffrey Lee authored
Detail: rlib/s/rlibdata - Reduce RlibSpace by 1, to take into account the removal of a static from rlib/c/xfersend Admin: Tested on BB-xM Fixes 'Static data size in library and stub disagree' error when running ROM apps Version 5.83. Retagged as 'RISC_OSLib-5_83'
-
- 31 Jul, 2014 1 commit
-
-
Robert Sprowson authored
menu.c/menu.h: Add a new menu_setcolours() function to allow the fore/background colour bits to be set on a menu entry. colourmenu.c: Use the new menu_setcolours() function instead of making assumptions about menu's internal structure layout. dbox.c/dbox.h: New functions dbox_hidefield and dbox_unhidefield added to complement the fade/unfade ones. As dbox_findicon/findiconbefore are only ever used to find writables, rename them as such. Also, make them find writable (type 15) AND writable draggable (type 14) icons. Allow navigation by tab/shift tab through icons like the Style Guide chapter 16 says we should. In fact it's a little odd that dbox is emulating 'Ktar' validation itself manually when the Wimp has done this since version 2.92, but maintaining it is less effort than going and checking all the templates. Fix bug when looking for leading capital letter matches to complete a dbox, the previous code was looking at the cached copy of the icon flags in d->window rather than the ones the Wimp is actually showing on screen (as might have been modified by dbox_fadefield() for example), so it was possible to complete a dbox for an icon which wasn't visible or selectable. Fix bug when looking for leading capital letter matches when the icon doesn't have any text - the template file format is defined as being 0x0D terminated. This would then lead to 'R' and 'S' being accepted as matches having run off the end of the text buffer and into the validation string (which usually contains an 'R' or 'S' validation first). Changed to accept any control terminator. event.c: When force closing the current menu, don't forget to set the two state variables back to 0. fileicon.c/resspr.c/txt1.c/txtundo.c/wimp.c: Use existing pointer type definitions. flex.c: Treat bools as bools and pointers as pointers. Say something useful in an error box if flex fails its internal consistency check, rather than just data aborting. font.c: Remove ROM conditionals from around font_readdef() function, always include the function. fontselect.c: Use font_readdef() rather than local copies of the exact same function. txtedit.c/txtfile.c/txtfind.c/txtedit.h: Remove redundant 'deletepending' state variable, and confusion over 'selectrecent' being a bool. Call os_byte directly rather than passing to os_cli("*FX"). Other minor tidy ups. wimpt.c: Mark messages list as a constant. xferrecv.c: Also preserve the size member while recycling the xferrecv_ack message block, rather than corrupting it as 256. xfersend.c/xfersend.h: Take out the leaf name formulator as a common function for the two places to use it. This also allows the function to return the length of the leaf name so the correct message block size can be used. Inspection with MsgMon/!Reporter was showing that all xfersend initiated saves were passing the leaf name padded to 256 with garbage. Reindent a few functions. Make the draggable sprite replacement follow the same validation string rules as the Wimp, previously only ";s" was accepted, so upper case 'S' and validation strings that start with the sprite validation didn't work. xfersend_pipe() function prototype changed to match xfersend() more closely - not being able to respond to the context of a wimp_eventstr made this function practically unusable. akbd.h: Windows logo and menu keys defined. flex.h/help.h/wimpt.h Some typos in comments. wimp.h: Missing wimp message action codes and structure defs added for completeness. Version 5.83. Not tagged
-
- 08 Jul, 2014 1 commit
-
-
Robert Sprowson authored
Edit-1_70 and SrcEdit-1_28 no longer require these private headers. Version 5.83. Not tagged
-
- 15 Jun, 2014 1 commit
-
-
Ben Avison authored
Detail: These were previously languishing in the C compiler sources, but they belong in the C library. Note however that the library does not implement the functions described in these headers at the present time, so any attempt to use them will result in link-time errors. Admin: Untested (known not working) Version 5.83. Tagged as 'RISC_OSLib-5_83'
-
- 08 May, 2014 1 commit
-
-
Robert Sprowson authored
menu.c: if NULL return -1, this has the added advantage that a menu maker (see event_attachmenumaker) can return NULL to mean "no menu thanks" and not data abort in event.c dbox.c: if NULL return 0, this is somewhat consistent with template_syshandle() menu.h: typo in comment corrected Version 5.82. Tagged as 'RISC_OSLib-5_82'
-
- 25 Mar, 2014 1 commit
-
-
Ben Avison authored
Detail: Large file support made use of long longs in various definitions. These were switched out in PCC mode, but no allowances were made for the fact that C90 doesn't define long long either. Remember that to force cc to use non-builtin standard headers, you need to point at these using the -j switch (e.g. -jC:). The only version of cc which featured the C90-incompatible stdio.h was 5.70. Admin: Checked that the header now works when included in -pcc, -c90 and -c99 modes. Version 5.81. Tagged as 'RISC_OSLib-5_81'
-
- 21 Jan, 2014 1 commit
-
-
Robert Sprowson authored
msgs.c: includes a MessageTrans parser that duplicates MessageTrans_Lookup (needed because the lookup function returns pointers to static C strings). However, did not allow '?' wildcards in the message token names. Version 5.80. Tagged as 'RISC_OSLib-5_80'
-
- 20 Jan, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: kernel/s/k_body - At CopyUpDone in _kernel_system(), a big block of conditional code was converted to unconditional as part of the 32bit conversion process. However one line for setting up the error handler remained conditional, potentially preventing the correct error buffer pointer being set when about to start the child task. Admin: Tested on BB-xM Version 5.79. Tagged as 'RISC_OSLib-5_79'
-
- 24 Oct, 2013 1 commit
-
-
Robert Sprowson authored
Fix for problem passing long command lines via system(), while there are good arguments to leave the threshold at 255, non DDEUtils aware programs get brutally truncated command strings, and since the old threshold of 255 applied when the kernel handled 256 command lines, upping the limit to 1k is no worse than before. Fix for Edit failing to draw lines of text longer than 192 characters (ticket #350). Several factors were conspiring here: on a mode change the window width in characters wasn't being clamped, whereas user entered limits in the menu were, then the internal buffer ("PAINTBUFSIZE") was too short so lines got truncated, and when larger than 256 got wrapped modulo 256 due to the use of an array of chars. Now set at compile time with BIG_WINDOW_SIZE_LIMIT with a new theoretical maximum of 8192. Currently limited to 480 since it uses stack variables. In the C library: armsys.c: adapt the threshold at which to use DDEUtils based on the kernel version number scanf.c: squash a warning time.c: mark the table of month lengths as constant so we can claw back 13 words of static workspace without having to change the stubs In RISC OS lib: bbc.c: remove local definitions of some SWI numbers template.c: squash a warning txt.c: delete Modula-2 support txt1.c: compare pointer with NULL not an integer txtar.c: introduce BIG_WINDOW_SIZE_LIMIT, rationalise a few sprintf's, mark private functions as static txtundo.c/txtedit.c: squash old style function warnings txtoptmenu.c: clamp the window width read from Edit$Options properly, delete long disabled code txtscrap.c: dead function deleted Version 5.78. Tagged as 'RISC_OSLib-5_78'
-
- 06 Oct, 2013 1 commit
-
-
Jeffrey Lee authored
Detail: SWIOptions,feb - Add BlendTable and InverseTable SWIs to the generated swis.h Admin: Tested in OMAP3 ROM build Version 5.77. Retagged as 'RISC_OSLib-5_77'
-
- 30 Jun, 2013 1 commit
-
-
Robert Sprowson authored
font.h: missing flags defined (those flags that can be used without needing to change the prototype of font_paint() fontlist.h: comment typo No code changes, retagged as RISC_OSLib-5_77
-
- 06 Apr, 2013 1 commit
-
-
Robert Sprowson authored
No code change, retagged as RISC_OSLib-5_77.
-
- 24 Mar, 2013 1 commit
-
-
Robert Sprowson authored
s/h_brazil: use Hdr:System instead of GETting them one at a time c/scanf: type cast Version 5.77. Tagged as 'RISC_OSLib-5_77'
-
- 20 Mar, 2013 1 commit
-
-
Robert Sprowson authored
In this situation, the conversion should fail. Fixes ticket #252. Version 5.76. Tagged as 'RISC_OSLib-5_76'
-
- 15 Jan, 2013 1 commit
-
-
Robert Sprowson authored
This is in the 'SprExtend' header, which messes up the alphabetical ordering a bit. Version 5.75. Tagged as 'RISC_OSLib-5_75'
-
- 12 Oct, 2012 1 commit
-
-
Ben Avison authored
Detail: This change was first applied to the inbuilt headers in the C compiler at version 5.59 (07 Apr 2005), but was accidentally not copied into the RISC_OSLib version of math.h. Fortunately, this would only have affected anyone compiling software with the -jC: switch. Admin: Untested, but should be a safe change. Version 5.74. Tagged as 'RISC_OSLib-5_74'
-
- 25 Sep, 2012 1 commit
-
-
Robert Sprowson authored
While the txtedit part of RISC_OSLib has never been famed for its adherence this brings the delete operation (^K ref Style Guide p38, !ResEd, and the drag & drop protocol specification) into line. Version 5.73. Tagged as 'RISC_OSLib-5_73'
-
- 01 Sep, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile - The symbols file that gets generated during the build now gets copied to the install folder for ROM builds. This allows it to be picked up easily by debugging tools. Admin: Tested with BCM2835, OMAP3 & Disc builds Version 5.72. Retagged as 'RISC_OSLib-5_72'
-
- 28 Aug, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: c/armsys - _desktop_report now always caches the error message in the local error block. This avoids the error potentially being overwritten with "Task not known" if TaskManager_TaskNameFromHandle fails. Admin: Tested on Raspberry Pi Version 5.72. Tagged as 'RISC_OSLib-5_72'
-
- 21 Aug, 2012 1 commit
-
-
Robert Sprowson authored
This is the other half of !Edit, which now uses the centralised awk script to insert its version number into about boxes. Retagged as RISC_OSLib-5_71.
-
- 15 Aug, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: SWIOptions,feb - Added VCHIQ to SWI header list Makefile - Add SWIOptions as a dependency to s.swioptions, so exported swis.h will rebuild correctly if SWIOptions is changed Admin: Tested briefly Version 5.71. Tagged as 'RISC_OSLib-5_71'
-
- 26 Jun, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: kernel/s/k_body - Now ignores unaligned PC values, as they either indicate stack corruption or Thumb use (which the unwind handler doesn't support anyway) Admin: Tested on Raspberry Pi with high processor vectors Version 5.70. Tagged as 'RISC_OSLib-5_70'
-
- 11 Jun, 2012 1 commit
-
-
Robert Sprowson authored
Following an earlier fix, the logic of mktime() has turned out to need reviewing too. To summarise time() -> a UTC time in seconds gmtime() -> breaks down a UTC time into components localtime() -> breaks down a UTC time into local components (tz + DST) mktime() -> converts local components back into UTC time, normalising In mktime(), the current locale (via setlocale()) is considered and used to choose the timezone, assuming an appropriate territory module is loaded. The value of the tm_isdst field is factored into the offset calculation. However, mktime() is also defined as normalising the components of time and updating the caller's block with normalised values, in local time, so the local offset is reapplied at the end. Moved time_to_tm up in the function so mktime() can use it. Corrected/lined up some comments. Also, mktime() no longer forces tm_isdst to -1, it preserves the user's value, so consecutive mktime()s are consistent. Added test to "test/tzones.c", results compared with Windows XP. Version 5.69. Tagged as 'RISC_OSLib-5_69'
-
- 28 May, 2012 1 commit
-
-
Robert Sprowson authored
Ammended time() to match ISO9899 and just return UTC like it says. Inlined the single use of _bbctime() macro. locale.c The timezone within a territory can now be specified as part of the setlocale() function. This uses a qualifier to the already accepted territory name, for an example see test/tzones.c Shock addition of some comments to the locale parsing function. To avoid needing to mess about with C library workspace the timezone and territory are encoded internally into 1 word, with 10 bits allowing up to 1024 territories worldwide. Ripple through to strftime(). time.c localtime() updated to respect locale selection. test/file,gen_inputs,test64 Copyright headers added. Output compared with Windows XP using setlocale versus tzset to shift the program into Pacific time. Version 5.68. Tagged as 'RISC_OSLib-5_68'
-
- 27 Mar, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: clib/s/cl_entries - Symbol names containing $'s are now wrapped in |'s to prevent potential unintended variable expansion s/h_modmacro, s/h_stubs - Modify Entry/Entry2 to not add their own vertical bars to symbol names (causing two sets of bars that cancel each other out) Admin: Tungsten ROM version identical to before when built under objasm Needs Library-1_54 for ROM link symbol files to be generated correctly Version 5.67. Retagged as 'RISC_OSLib-5_67'
-
- 16 Feb, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: kernel/s/k_body - NOP in Aborted2 is only needed if we're targeting StrongARM s/longlong - Make ReadCPUArch StrongARM & ARM2 safe Admin: Tested in IOMD ROM softload Version 5.67. Tagged as 'RISC_OSLib-5_67'
-
- 04 Feb, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: SWIOptions,feb - Now includes ZLib module SWIs Admin: SWI export tested, seems OK Version 5.66. Not tagged
-
- 06 Dec, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/longlong - Only look for ARMv5 support when deciding if CLZ is available, not ARMv5T Admin: Tested in OMAP3 ROM Version 5.66. Tagged as 'RISC_OSLib-5_66'
-
- 26 Nov, 2011 1 commit
-
-
Robert Sprowson authored
Was being used to conditionalise things which aren't really StrongARM related, now should be read as "support split I+D caches" switch. Version 5.65. Tagged as 'RISC_OSLib-5_65'
-
- 13 Nov, 2011 1 commit
-
-
Robert Sprowson authored
Retagged as 5.64.
-
- 12 Nov, 2011 1 commit
-
-
Ben Avison authored
Detail: A minus sign was missing - this meant that any module built using stubs from the last 2 weeks would branch through zero at the end of initialisation. Admin: Modules now work again! Retagged as 'RISC_OSLib-5_64' Version 5.64. Not tagged
-
- 28 Oct, 2011 1 commit
-
-
Ben Avison authored
Detail: * Added 64-bit file pointer API support, following the LFS spec v1.5 (see Docs directory). Internally, now uses 64-bit file pointers exclusively. For now, the backend still limits you to 4GB-1 files, but clients of the C library won't need recompiling again to support larger files than this once they use the new API. * Fixed a large number of warnings produced in compilation, assembly and linking, many of them new and resulting from the improved checks in the latest toolchain. * Increased the maximum stream buffer size from 16MB to 1GB. * Added Hdr:SDFS and Hdr:SDIO to the list of headers used to build swis.h if they are present. Admin: Verified that the new 64-bit file pointer buffering code works using a ROM build (since the toolchain makes extensive use of reading, writing and seeking internally). Version 5.64. Tagged as 'RISC_OSLib-5_64'
-