Description
The representation of character code 0x5F
as "←" instead of "_" dates back to the 1963 ASCII standard, and Interlisp/Medley preserved that interpretation for backward compatibility with earlier systems which had Lisp implementations (e.g. DEC-10).
(This seems not to match the XCCS encoding; as that, according to the Wikipedia XCCS article, has character code 0x005F
as "_", with "←" at character code 0x00AC
. Standard Medley fonts seem to have an encoding for character set 0 that differs from XCCS.)
Medley is a bit schizophrenic in how it treats character code 0x5F
.
In general, it is a character that can be used to construct LITATOMs.
However, in CLISP constructs in the Interlisp world it may also be interpreted as an operator character.
Simply changing the glyph for that character code to "_" would render the older CLISP code a bit less readable. (This might be acceptable!)
Leaving it as "←" makes Common Lisp code look odd, and it can frustrate new users as that glyph isn't on modern keyboards. (This would keep all Interlisp/Medley documentation and publications correct.)
The modernization of Medley for modern keyboards and support for Common Lisp that use the Unicode glyph encoding suggests splitting these into two independent first class characters.
There seem to be a few strategies for this:
- Changeover Medley to be fully Unicode based.
- Change character code
0x005F
to "_" (matches Unicode, XCCS, current ASCII), set "←" at character code0x00AC
(XCCS, not Unicode, but it leaves "←" in character set 0). - Change character code
0x005F
to "_" (matches Unicode, XCCS, current ASCII), set "←" at character code0x2190
(Unicode, not XCCS, and it moves "←" to character set 0x21 = 041).
The above 3 strategies (and any others that I didn't think of) would require:
- Adding support for a "←" character in keyboard mapping that is different from "_".
- This should follow, or be part of, the work on consistent keybindings
- File conversion utilities that somehow leave an indication that the file has been "converted".
- These utilities likely would need to be interactive, as many cases would be ambiguous as to the intended character.
- Tedit and Sketch (and other) files likely would use different heuristics for conversion, vs. for code files.
- Revising all CLISP/DWIM code that interprets character code
0x5F
as "←", to instead use the new character code for "←" functionality. (This may be a bit of chicken-and-egg issue with implementing the conversion utilities.) - Modifying all character set 0 font files to add the "_" glyph and update the
WIDTHS
,OFFSETS
, andIMAGEWIDTHS
information.- If there are fonts that have "_" but not "←" then the corresponding modification would be required.
- Revise PostScript/PDF printing to handle the changed character codes appropriately.
#1 clearly would be a huge effort, but also would be most desirable (for the full Unicode support).
#2 is comparatively simplest of the three, (but only because it leaves "←" in character set 0).
As mentioned above, simply changing the glyph for that character code to "_" might be acceptable, and would be the simplest. All that would be required would be updating of fonts and PostScript/PDF printing.
(Interpress and Press could be modified for completeness, but seem to be less useful. IMHO.)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status
Status
Status