[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 300 baud V.21 terminal emulation
From: |
Daniel J Sebald |
Subject: |
Re: 300 baud V.21 terminal emulation |
Date: |
Sat, 05 Oct 2013 11:22:21 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16 |
On 10/04/2013 06:37 AM, Mike Miller wrote:
On Fri, Oct 04, 2013 at 02:29:09 -0500, Daniel J Sebald wrote:
From that it seems Octave can then modify blink-matching behavior
without having to relaunch the terminal (or Octave). The steps
would be something like:
1) Octave looks for, say, .octaveinputrc. If it doesn't exist,
create it with the contents
set blink-matching-paren off
Octave already installs its own inputrc. Look in scripts/startup. You
can try adding whatever commands you want there.
This is confusing. I was unfamiliar with startup.c. I thought the
startup configuration is what .octaverc is for. Even Octave indicates that:
----------
help startup
error: help: startup is not implemented. Octave uses the file
".octaverc" instead.
Please read `http://www.octave.org/missing.html' to learn how you can
contribute missing functionality.
which('startup')
----------
How is the new user supposed to know how to set this? Why should a new
user be expected to modify such a file when there is the Preferences
section of the GUI? Does one put a startup.m in their root directory?
Does an administrator have to change this in the search tree?
2) Octave sets the environment variable INPUTRC to .octaveinputrc
before launching the terminal emulator.
No need because of the above. Also wrong, INPUTRC is a user environment
variable, programs should never override that.
It would only be overridden for the Octave environment. The question is
whether the user is expecting the command line in the GUI to be a shell
terminal, or only something similar to it. I can imagine the interface
within the GUI having features beyond the standard shell emulation, and
in fact it already has that. For example, one can use Control-C to copy
text into the clipboard whereas that doesn't work with an actual shell.
3) In Octave's options, if the user changes the setting for
blink-matching, Octave can simply change .octaveinputrc to
set blink-matching-paren off
and then force a Ctrl-x Ctrl-r into the terminal emulator to make it
reread .octaveinputrc.
I believe Octave's own inputrc is already read after any default inputrc
files when readline is initialized. Any extra effort to force another
reload of the settings is unnecessary. Even if the user does change the
setting, programs should not try to override that because they think
they know better.
You can certainly try adding this directive to Octave's inputrc and see
if it helps, but don't do anything like trying to force a reload to
override user prefs.
I'm understanding the purpose of the GUI release to target a big sector
of potential users who have no savvy about startup files, shells,
environment variables, etc. They would be unaware they actually have a
say in how their terminal behaves. Of these options:
1) Do not override user prefs, and possibly have very slow cut-and-paste
while the shell emulation stops and blinks (if it is in fact doing that,
as I can't really tell) for a half second every time there are brackets.
2) Disable blink-matching-paren by default (with an option to turn it
on), and let the Qscintilla editor do the parenthesis matching feature.
it seems the second makes more sense for the target audience.
Dan