Giter VIP home page Giter VIP logo

fire's People

Contributors

aplteam avatar norberturkiewicz avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fire's Issues

Fire-related Message in the status window

Occasionally Fire causes a less than helpful message in the status bar. The attempt to suppress had only limited success: the messages don't show any more when Fire is traced.

Search as well as Replace fail under special circumstances

When searching for, say ⎕Ed in ⎕SE Fire crashes when a demo script is running.

This might be caused partly due to the fact that the demo script is fixing part of itself or/and because it is assigning functions and global variables on the same line separated by a .

Replacing by NL in Fire.RemoveFnsAndOpr avoided the crash but the body, after masking all text, still contained a dfn when it shouldn't.

An attempt to break it down was tested with the new test functions Test_Replace_004 and Test_Replace_005 but both test cases pass. No more time at the moment to investigate further but there must be at least additional condition before the bug shows.

Also, avoiding the crash did net help when a "Replace" let to a WS FULL later on due to an endless loop.

fire does not find ReadMe.html if User command path is [HOME]\MyUCMDs

fire does not find ReadMe.html if User command path is [HOME]\MyUCMDs

I installed fire 9.6

I start Dyalog 18.2 64-bit Unicode

]fire

  • Command Execution Failed: Cannot find HTML documents
    ⍝ using ]udebug on to examine the failure:

v
[HOME]\MyUCMDs [SALT]\spice

 :For thisPath :In v

)si
⎕SE._Fire.Fire.FindFireReadMe[27]*
⎕SE._Fire.Fire.Run[27]
⎕SE.input.c.Fire_UC.LoadFire[18]
⎕SE.input.c.Fire_UC.Run[26]

⎕SE.SALTUtils.CallUserCode[0]
⎕SE.UCMD[2]

After installing, I do not have a Fire key in APLTree. I work around this issue by creating a Fire key and a string value HelpFileFolder as I can see in the code.
HKCU\Software\APLTree\Fire\HelpFileFolder

⎕ED's search box

WHen after a search operation "Report hits" is triggerd and then an objects edited from that report via its conext menu then the "Search" box in the editor is not pre-populated.

Report needed for which packages depend on a specific package

Imagine you've fixed a very important bug in a package Foo, and now you want to find out which packages are using Foo in order to update all of them.

Currently this is not possible in Tatin, but there should be a user command and an API function that scans all known registries and report the findings to the session (user command) or return it as the result (API function) as

[alias]package-ID

Since a new version needs to be created, reporting the very last version of any <group>-<name>-<majorNo> is sufficient.

Revisit search in names only (⎕NL)

Obviously the tab ⎕NL can be confusing, in particular when the user closes Fire without switching back to the "Workspace" tab and then later does not realize that after a restart ⎕NL is still the selected tab.

Therefore it might be better to move the name search feature to the "Report" menu. Not ideal either because it does create a new hit list!

Alternatively after a restart the "Workspace" tab could become automatically the active one.

Another option is to associated an icon with the Tabs "Workspace" and ⎕NL but to display the icon only with the active Tab.

Under reproducible circumstances Fire crashes

A particular combination of trad fns, dfns, assigned functions and diamonds make Fire crash.

A test case (Test_Replace_008) was added that crashes on this code:

:Namespace NS
    f1←{⍵} ⋄ f2←f1∘⌽
    ∇ Fns y;a;b
      a←⍬ ⋄ b←{⍵}
    ∇
:EndNamespace

"Hit" report

Should the "Hit report" become visible in an additional space added to the right of the current GUI?

Actions like "Remove from hit list" would become much more understandable. Also, checking the "Hit" report is almost always advisable, therefore it should be visible all the time one could argue,

RegEx replacements on multiple objects in one go

So far when a search expression is a RegEx and the user wants to replace any hits she must go through all objects one by one.

There should be a button "I know what I am up to, fix all in one go" really

Fire does not reposition to existing monitor after being closed on nonexistent monitor

If I close fire while its position is on monitor B and unplug the monitor, fire will not reposition on the main monitor.

This fixes the issue

 n←CreateGUI debugFlag;isAv;posn;size;IsPosnAvailable
⍝
 n←##.CreateGuiRefContainer
 n←CreateIcon n
 n←CreateMainForm debugFlag n
 n←CreateHiddenButtons n
 n←CreateFind n
 n←CreateWhereToLook n
 n←CreateTabs n
 n←CreateTab1Children n
 n←CreateTab2Children n
 n←CreatePushButtons n
 n←CreateCheckBoxes n
 n←CreateHitList n
 n←SetStateAndActive n
 n←CheckStartButton n

 IsPosnAvailable←{
 ⍝ check if coords are actually available to be displayed on
     ⎕USING←'System.Windows.Forms,System.Windows.Forms.dll' 'System.Drawing,System.Drawing.dll'
     (y x)(h w)←⍵
     pt←⎕NEW Point(x y)
     screens←Screen.AllScreens
     contains←screens.Bounds.Contains pt
     ∨/contains
 }


 :Trap 0
     :If IsPosnAvailable ##.G.(Posn Size)
         posn←##.G.Posn
         size←##.G.Size
     :EndIf
 :EndTrap

 n.Form.Posn←posn
 n.Form.Size←size
⍝Done

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.