1. 19 Sep, 2021 3 commits
    • Raymond Toy's avatar
      Unify naming of Core X11 and Xft2 fonts in CLM, use in INTERFACE. · 81d8160b
      Raymond Toy authored
      The substance of this commit is the new file,
      src/motif/lisp/fonts.lisp. This file contains a couple of trivial
      models of Core X11 and fontconfig names, heuristics for telling them
      apart, a convention for deciding the ambiguous cases, and a utility
      that uses that convention to generate corresponding resource strings
      for OpenMotif. For the moment the only exported interfaces are
      GENERATE-HEURISTICATED-FONT-RESOURCES and a
      user-customizable *AMBIGUOUS-FONT-DISPOSITION*, exported in
      src/motif/lisp/initial.lisp. src/tools/clmcom.lisp is adjusted to
      include fonts.lisp.
      
      src/interface/interface.lisp take advantage of the new font naming
      functionality, by calling GENERATE-HEURISTICATED-FONT-RESOURCES with
      some tag names and new user-customizable font name variables to create
      fallback resources. src/interface/initial.lisp exports those font name
      variables.
      81d8160b
    • Raymond Toy's avatar
      Expunge all FontList usage, replace with CompoundString tags. · 254aa315
      Raymond Toy authored
      20 or so Widget constructor calls included a :FONT-LIST initarg, which
      had the effect of superseding Xt-based configuration mechanisms (e.g.,
      X resource files). This turns out to have been unnecessary, since
      Motif's XmString type includes tags whose purpose is to direct text
      styling.
      
      This commit simply rips out all Font Lists while ensuring that every
      place a FontList was used instead uses a CompoundString with an
      appropriate tag, one of "header" or "italic".
      
      Given those tags, it becomes possible to achieve all the previous
      styling effects just using Xt/Motif machinery, e.g. by putting
      something like one or the other of the below examples into the user's
      ~/.Xdefaults or an app-defaults file named "Lisp".
      
      (A subseqent commit will arrange for these defaults to get set as
      fallback resources when the GUI starts up, so that no external
      resources file will be needed, and so that users who prefer to
      configure things from within Lisp can do so.)
      
      Sample .Xdefaults content; use one or the other, not both.
      
      !! Core X11 Fonts
      !!
      !! First, setup the defaults for the RenderTable.
      !!
      Lisp*renderTable.fontName: -adobe-helvetica-medium-r-normal--*-120-75-*
      Lisp*renderTable.fontType: FONT_IS_FONT
      !!
      !! Define a rendition called "header", and specify its font.
      !!
      Lisp*header.fontName:  -adobe-helvetica-bold-r-normal--*-120-75-*
      Lisp*header.fontType: FONT_IS_FONT
      !!
      !! Define a rendition called "italic", and specify its font.
      !!
      Lisp*italic.fontName: -adobe-helvetica-medium-o-normal--*-120-75-*
      Lisp*italic.fontType: FONT_IS_FONT
      !!
      !! Add these renditions to the RenderTable
      !!
      !Lisp*renderTable:  header italic
      !! EOF
      
      !! Xft2
      !! This is similar to the above, except that each Xft2 font
      !! requires two extra resources, fontStyle and fontSize.
      !!
      !! First, setup the defaults for the RenderTable.
      !!
      Lisp*renderTable.fontName: Helvetica
      Lisp*renderTable.fontStyle: Medium
      Lisp*renderTable.fontSize: 12
      Lisp*renderTable.fontType: FONT_IS_XFT
      !!
      !! Define a rendition called "header", and specify its font.
      !!
      Lisp*header.fontName: Helvetica
      Lisp*header.fontStyle: Bold
      Lisp*header.fontType: FONT_IS_XFT
      Lisp*header.fontSize: 12
      !!
      !! Define a rendition called "italic", and specify its font.
      !!
      Lisp*italic.fontName: Helvetica
      Lisp*italic.fontSize: 12
      Lisp*italic.fontStyle: Italic
      Lisp*italic.fontType: FONT_IS_XFT
      !!
      !! Add these renditions to the RenderTable
      !!
      Lisp*renderTable:  header italic
      !! EOF
      254aa315
    • Raymond Toy's avatar
      Add support for fallback resources in RUN-MOTIF-APPLICATION · 54c81e4f
      Raymond Toy authored
      At the public API level, it's a new keyword to RUN-MOTIF-APPLICATION.
      At the protocol level, this is one extra object during the greeting.
      
      Internally, this modifies message_read_string_table so that the
      resulting StringTable has a NULL-terminated list of strings. This
      seemed simpler than adding a whole new data transmission type for this
      purpose.
      54c81e4f
  2. 11 Aug, 2021 1 commit
    • Raymond Toy's avatar
      Include debug symbols in motifd · a2dfe20d
      Raymond Toy authored
      Add -g flag so that debug symbols are included in motifd.  I don't
      think there's really any reason not to do this, and makes debugging
      motifd releases easier.
      a2dfe20d
  3. 06 Jul, 2021 3 commits
  4. 31 May, 2021 4 commits
  5. 08 May, 2021 2 commits
  6. 07 May, 2021 2 commits
  7. 10 Apr, 2021 2 commits
  8. 09 Apr, 2021 2 commits
  9. 23 Mar, 2021 2 commits
  10. 13 Feb, 2021 2 commits
  11. 05 Feb, 2021 2 commits
  12. 04 Feb, 2021 5 commits
  13. 30 Jan, 2021 3 commits
  14. 15 Jan, 2021 1 commit
    • Raymond Toy's avatar
      Minor tweak to put use the right EI_OSABI value · ef9fc1bc
      Raymond Toy authored
      Previously, the EI_OSABI value was either ELFOSAB_SOLARIS for solaris
      or ELFOSABI_FREEBSD for everything else.  Let's update this to include
      NetBSD and Linux.  Unlikely we'll ever support other things like
      HP-UX, AIX, IRIX, Tru64, etc.
      
      The value currently doesn't seem matter, but it seems nice to get it
      right.
      ef9fc1bc
  15. 13 Jan, 2021 2 commits
  16. 12 Jan, 2021 2 commits
  17. 11 Jan, 2021 2 commits
    • Raymond Toy's avatar
      Merge branch 'issue-95-fix-disassem-syntax' into 'master' · 5e87a39a
      Raymond Toy authored
      Fix #95: Fix disassembly for je and movzx/movsx instructions
      
      Closes #95
      
      See merge request cmucl/cmucl!64
      5e87a39a
    • Raymond Toy's avatar
      Fix #95: Fix disassembly for je and movzx/movsx instructions · b5bfb153
      Raymond Toy authored
      We were printing `jeq` for the branch on equal instruction, but it
      should be `je`.  This is fixed by changing the order of the options in
      the `defconstant` `conditions`.  The first in the list is the
      preferred value, so we can write `je`, `jeq`, or `jz`, but these will
      all get printed out as `je` instead of the previous `jeq`.
      
      For `movzx` and `movsx`, we need to specify the size of the memory object
      to match Intel syntax.  This is done by changing the size of the
      `ext-reg-reg/mem` format so that the reg/mem field has type
      `sized-reg/mem` instead of just `reg/mem`.
      
      Finally, we just added a note that the `break` instruction is really
      the `int3` instruction.  I don't know why it's called `break` instead
      of `int3`.
      b5bfb153