"Fossies" - the Fresh Open Source Software Archive

Member "perl-5.32.1/symbian/TODO" (18 Dec 2020, 7156 Bytes) of package /linux/misc/perl-5.32.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 =encoding utf8
    2 
    3 =head1 BASE PORT
    4 
    5 =head2 Console
    6 
    7 - The Console only does "ASCII" input: e.g. pressing the "2"
    8   key five times, "aaaaa", does not produce "รค" ("a diaeresis"),
    9   but instead the "2" key rotates through "abc2abc2...".
   10   This is a pity because the Console is actually capable of full
   11   Unicode input and output (if you have the fonts, that is).  You
   12   can verify this by entering e.g. the euro character, which is
   13   U+20AC, well beyond U+00FF.  I don't know why the full repertoire
   14   of the keyboard is not available.
   15 - Enhance the console? (line editing, full x-y movement, history)
   16 - The role of the console needs to be rethought: the best way
   17   would be to have the console visible in the same screen as
   18   the GUI elements (an "embedded console"?)
   19 
   20 =head2 Core Language
   21 
   22 - the $^E does not work
   23 - select() does not work (not our fault)
   24 - starting external application: what now (0.1.0) works is:
   25   - system("app");
   26   - system("app&");
   27   - and those with arguments:
   28     - system("app arg1 arg2")
   29     - system("app arg1 arg2 &")
   30     but remember that a Symbian process does get only argv[0]
   31     and argv[1]: all the arguments of the application are passed
   32     in as a single argument, the second one ("arg1 arg2" in the above)
   33   What does not work:
   34   - I/O redirection
   35   - piped open, in either direction
   36   - qx/backtick/`
   37   - fork/wait (these unlikely to ever work as in POSIX)
   38   - IO redirection or filename globbing in system()
   39     (since there is no POSIX shell beneath)
   40   What might work in future:
   41   - some I/O redirection
   42   - exec() might be made to work
   43   - Symbian::spawn("cmd args") returning a process id (what does Win32 do?) 
   44   - Symbian::waitpid($spawned_pid)
   45 
   46 =head2 Platform
   47 
   48 - in S60 1.2 (at least in 3650 Nokia 3650 v3.11) setjmp/longjmp is
   49   fragile (see Symbian FAQ-0929), intensive debugging and fix needed
   50 
   51 =head2 Unicode
   52 
   53 - Symbian has Unicode filenames, and Unicode all over the place.
   54 - Encode and the use of Symbian Unicode in general
   55   tie into the overall usefulness of PerlIO.
   56 
   57 =head2 Portability
   58 
   59 - Slash versus Backslash: where does one need to use "\\"?
   60   writing Perl applications, where can one get away with using "/" ?
   61 
   62 =head2 Build
   63 
   64 - make xsbuild.pl much more robust (for building external extensions)
   65   (see symbian\ext\README and symbian\ext\Moped\Msg\README)
   66 - now the .mmp functions both as input and as output - bad
   67 - MakeMaker?  Pure PM, PM + XS?
   68 - currently the PerlApp UID is in both config.pl (hardwired) and
   69   in makesis.pl (computed), this is quite error prone
   70 - Enable building also under Cygwin? (could be really hard,
   71   the Symbian SDKs pretty much assume cmd.exe)
   72 
   73 =head1 PACKAGING
   74 
   75 - subdivide perlext.sis?
   76 - pm-stripper: strip pod and comments, while inserting the appropriate
   77   #line commands to keep linenumbers in sync.  Shaves off easily 50%
   78   of the code, making install packages smaller.
   79 - Get MakeMaker to create SIS packages?  In non-Win32?
   80 - Symbian has APIs for opening .zip files
   81 - Investigate Autrijus Tang's PAR format
   82   http://www.autrijus.org/par-intro/
   83 
   84 =head1 PerlBase
   85 
   86 - review for proper Symbian coding practices
   87 
   88 =head1 PerlApp
   89 
   90 - In "Run" see how one could show also the file extensions.
   91 - How to allow passing command line options to scripts being run?
   92 - Terminate/Pause menu entries (to be used while the script is running)?
   93 - review for proper Symbian coding practices
   94 
   95 =head2 All UIs
   96 
   97 - Make it possible to call UI elements (or any other Symbianic
   98   asynchronous services) from Perl.
   99 
  100   There is now a sample of enabling calling CPerlUi::TextQueryDialogL()
  101   from Perl as PerlApp::TextQuery(), see symbian_utils.c.  This, however,
  102   does not work: calling the dialog code blocks so that the screen is not
  103   redrawn at all.  Perl should do both: "yield" so that the GUI framework
  104   can redraw, but in the meanwhile Perl should wait for the completion
  105   (OK or Cancel) of the dialog, but Perl must not exit the current PL_op.
  106   Welcome to the wonderful world of cooperative multitasking.  The right
  107   solution surely involves Active Objects.  The problem may require having
  108   a different Perl op dispatch loop than the standard and debug ones in
  109   run.c and dump.c.
  110 
  111 - menu/toolbar support
  112 - selection lists (single cf multi cf radio)
  113 - on/off (special case of two-item radio selection list)
  114 - forms (multicontrols)
  115 - "secret editor" (special case of text query)
  116 
  117 =head2 Series 60
  118 
  119 - in S60 2.6 (at least in Nokia 6630 v4.03.11) launching scripts via
  120   FExplorer does not open up the console
  121 
  122 =head2 Series 80
  123 
  124 - On exit "PerlApp" gets Symbian USER Panic 44: "This panic is raised
  125   by the Free() and FreeZ() member functions of an RHeap. It is caused
  126   when the cell being freed overlaps the next cell on the free list
  127   (i.e. the first cell on the free list with an address higher than the
  128   one being freed)."  Reason unknown.
  129 - Hotkey Newline so that it functions as 'OK' in dialogs
  130 
  131 =head2 UIQ
  132 
  133 - UIQ 3.0? UIQ 2.0? (now only tried in UIQ 2.1)
  134 - UIQ, at least UIQ 2.1, does not have "file select dialogs" since
  135   "files" are supposed to be hidden from the user.  Therefore, no
  136   "Run" in PerlApp.  (For similar stylistic reasons there is no "Exit".)
  137 - Long notes (e.g. the EPerlAppCommandAbout) are shown badly truncated.
  138 
  139 =head1 CPAN LIBRARIES
  140 
  141 - Include/Package more modules (or work harder on getting CPAN.pm working?)
  142   (but note that lib/**/*.pm is 3.5 megabytes, probably not worth including
  143    all of it, even after pm-stripping):
  144 	- libnet
  145 	- Bundle::CPAN
  146 		- Archive::Tar (now included in 5.9.x)
  147 		- Term::ReadKey (useless?)
  148 		- Term::ReadLine (useless?)
  149 	- Bundle::LWP
  150 		- URI
  151 		- HTML::TagSet
  152 		- HTML::Parser
  153 			- HTML::Entities
  154 		- HTML::HeadParser
  155 		- LWP
  156 	- Crypt::SSLeay? (ssl?)
  157 	- IMAP?
  158 	- Net::Telnet?
  159 	- Archive::Zip?
  160 	- Mail::Send?
  161 	- Date::Calc?
  162 	- XML? XML::Simple? (expat?) (there is builtin xml support)
  163 	- RSS?
  164 	- DBI (DBD::???)
  165 	- DBD::SQLite? (sqlite?)
  166 	- SOAP? XML-RPC?
  167 
  168 =head1 CORE LIBRARIES
  169 
  170 - Fix Devel::PPPort (worth it?) (Note that there is D::PPP 3.x out by now)
  171 - Fix Encode to not to have writeable data: seems to be tricky indeed
  172   because of copious global non-const data.
  173 - Verify that the modified File::Spec::Win32 does work in Symbian.
  174   (File::Spec::Epoc does not seem to be relevant?)
  175 - What does Cwd really do since the concept of cwd is a bit fuzzy in Symbian.
  176 - What should Sys::Hostname return?  GPRS? BT? WLAN?
  177 - ByteLoader problem: byterun.c does not see VERSION and XS_VERSION.
  178 - POSIX problem: STDLIB POSIX is not that POSIX.
  179 
  180 =head1 REGRESSION SUITE
  181 
  182 - how to run the standard test suite on a Symbian device?
  183 
  184 =head1 FUTURE POSSIBILITIES
  185 
  186 - GUI support (problematic that the MVC model enforces an "application")
  187   (name suggestion: Moped::Gui)
  188   (see above for the need of sorting out the Active Objectedness)
  189 - Messaging support (sms:, mms:, mailto:, irdaobex:, btobex:,
  190   cell location, WLAN)
  191   (name suggestion: Moped::Msg)
  192 - PDA support (address book)
  193   (name suggestion: Moped::PDA)
  194 - Device support (memory, camera)
  195   (name suggestion: Moped::Dev::Memory, Moped::Dev::Drives, Moped::Dev::Camera)
  196 - Phone APIs (e.g. how to catch an incoming call: BIO messaging)
  197 - Remote console (Bluetooth/IR/USB?)
  198