{"id":26895912,"url":"https://github.com/mittelmark/microemacs","last_synced_at":"2025-05-12T20:18:07.857Z","repository":{"id":64891175,"uuid":"430268477","full_name":"mittelmark/microemacs","owner":"mittelmark","description":"Modern Jasspa's Microemacs fork -  based on  Dave Conroy and Daniel Lawrences code.  Text editor with GUI and terminal mode, with syntax highlighting, folding, outlines, abbreviations, own extension language, calendar, games, notes, ...","archived":false,"fork":false,"pushed_at":"2025-05-04T09:09:42.000Z","size":36086,"stargazers_count":21,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-04T10:23:01.508Z","etag":null,"topics":["crossplatform","editor","emacs","gui-editor","linux","macos","microemacs","terminal-editor","text-editor","windows"],"latest_commit_sha":null,"homepage":"https://github.com/mittelmark/microemacs","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mittelmark.png","metadata":{"files":{"readme":"README-standalone.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-21T03:58:49.000Z","updated_at":"2025-05-04T09:09:45.000Z","dependencies_parsed_at":"2024-03-28T08:32:31.522Z","dependency_job_id":"eb2cf0ce-8cd6-4b7e-bdf9-84bac195edb1","html_url":"https://github.com/mittelmark/microemacs","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fmicroemacs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fmicroemacs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fmicroemacs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fmicroemacs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mittelmark","download_url":"https://codeload.github.com/mittelmark/microemacs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253815028,"owners_count":21968563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crossplatform","editor","emacs","gui-editor","linux","macos","microemacs","terminal-editor","text-editor","windows"],"created_at":"2025-04-01T02:59:04.652Z","updated_at":"2025-05-12T20:18:07.848Z","avatar_url":"https://github.com/mittelmark.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: \"Readme for the Jasspa Microemacs Text Editor\"\nauthor: Detlef Groth\ndate: 2024-08-30 08:28\n---\n\n## Table of Contents\n\n- [Introduction](#Intro)\n- [Main files](#Main)\n- [Installation](#Install)\n- [TTF-Fonts for X11](#Fonts)\n    - [X11 Font Tools](#Fonttools)\n- [Spelling](#Spell)\n- [Modification of the Executable](#Modi)\n- [User Profile](#Profile)\n- [User Identification](#Identity)\n- [Personal Directory](#Personal)\n- [Creating Your Profile](#Create)\n- [Company Profiles](#Company)\n- [Support](#Support)\n\n\u003ca name=\"Intro\"\u003e \u003c/a\u003e\n## Introduction\n\nThe  MicroEmacs  09 Text  Editor is a small  footprint  text  editor  with the\nfollowing features:\n\n- small  single  file  binary  approx  2.5Mb  (with  help  file  and  American\n  dictionary embedded)\n- fast startup and low memory footprint (less than 2Mb usually)\n- Emacs like editing\n- support for many programming and markup languages\n- extensible macro language\n- session management\n- sophisticated embedded hypertext help system\n- same interface for terminal and GUI application\n- many themes\n- menu AND shortcut enabled\n- cross  platform  same  functionality  MacOS, Linux and Windows (many others on\n  request)\n- easy embedding of other tools   \n\nThe main cons:\n\n- no  Unicode  support - only ISO  8859-1 .. 15 amd  Windows-Cp1252  support -\n  because it is an __Micro__Emacs\n- but:  converting  Unicode to these code pages and back would be  possible if\n  really required\n- no softwrap facilities, wrap mode means automatically wrapping with newlines\n\n\u003ca name=\"Main\"\u003e \u003c/a\u003e\n## Main files\n\nAs these builds are stand-alone files, installation is simply a copy operation\non your file  system  after  downloading the release file.  The  following  files  provide  the\nfollowing functionality.\n\nMandatory:\n\n- _mecb.bin_ - the terminal  version of the MicroEmacs 09, rename it to mec (mec.exe\n  on Windows) and place it into a folder  belonging to your PATH,  contains as\n  well the help file and the American dictionary files.\n- _mewb.bin_ - the GUI version  (mewb.exe),  using X11 on Linux and MacOS, rename it\n  to mew  (mew.exe on Windows)  and place it into a folder  belonging  to your\n  PATH, contains as well the help file and the American dictionary files.\n\nOptional:  \n\n- _mecw.bin_ - the combined  terminal and GUI version which is only  available\n  for Unix systems like Linux and MacOS\n- _xfontsel_ - X11 tool (Linux, MacOS) for better font selection, installable\n  via package manager (see below for details)\n- _ttf-files.zip_ - for X11 (Linux, MacOS) selection of good looking TrueType fonts\n  in a form usable for MicroEmacs and other X11  applications  (can be as well\n  installed for Windows)\n- _mkfontscale_ - X11 (Linux, MacOS) tool to add your own TrueType font to\n  be used with MicroEmacs\n- _bfs.bin_  (bfs.exe)  - an  archiving  tool  which  allows  you to  modify  a\n  MicroEmacs executable for instance adding your own macro or dictionary files\n\nDetails about these components are following below.\n\nIf you just need an Emacs like terminal  editor for your server, grab the mecb\nexecutable  for your  platform  and place it into a folder  belonging  to your\nPATH.\n\n\u003ca name=\"Install\"\u003e \u003c/a\u003e\n## Installation\n\nThe prefered way is to install the single file binaries  which can be of three\ntypes:\n\n- __mecb__ - terminal only editor, menu access using the \"Esc =\" shortcut\n- __mewb__ - GUI only editor, menu access using \"Alt-[Letter]\" or as well \"Esc =\"\n- __mecwb__ - terminal and GUI enabled, terminal mode can be used by using the\n              _-n_ command line option\n\nAfter you  downloaded  the appropiate Zip file for your platform you will find\nthe following files within the Archive:\n\n* `bin/mec` and `bin/mew` - the zero install standalone executables with all macro files attached in the following called `ME`\n* `bin/bfs` - the archive tool to create and modify the standalone mec/mew executables\n* `man/me.1` - the MicroEmacs manual page\n* `share/jasspa/license.txt` - license.txt the GPL license - the source code is available from [https://github.com/mittelmark/microemacs](https://github.com/mittelmark/microemacs).\n* `share/jasspa/README-standalone.md` - this README\n* `readme.txt` a readme which explains the folder structure\n\nThe installation just follows these basic steps:\n\n__Linux and MacOS:__\n\n- create a folder  `~/.jasspa`  in your home  directory - this  folder will keep\n  your personal settings, macros, sessions etc\n- copy the _mec-VERSION-PLATFORM.bin_ (or _mew-VERSION-PLATFORM.bin_) file as \n  mec (mew) to the folder  `~/.local/bin`  - this folder  should\n  usually  belong to your PATH  variable,  if not add to the PATH  variable in\n  your `~/.bashrc` or `~/.zshrc` file like this: `export PATH=~/.local/bin:$PATH`\n- make the file executable using `chmod 755 ~/.local/bin/me*`\n- run the mec/mew  executable and do do general setup  and then run the user setup\n  \"Esc x user-setup\"  or use the menu entry \"Tools -\u003e User Setup\" by selecting\n  the users keyboard\n- optionally  install a few better  looking TTF fonts in the users font folder\n  (see below)\n\nIf you like to have  support  for colors in the  terminal  version  you should\ncheck in the  User-Setup  in the Platform Tab the Termcap  Color  checkbox and\nstart me with a redefined terminal varianle like this:\n\n```\nTERM=xterm mec \n### or ...\nTERM=rxvt mec\n```\n\nIt is advisible if this works on your  terminal to make an alias in your shell\nconfiguration file like this:\n\n```bash\nalias mec=\"TERM=xterm mec\"\n```\n\nCheck  which  settings  cause no  trouble  for  instance  with  colors and the\nbackspace  key.  This  might  depend  on  your  used  terminal  emulator  like\nlxterminal  or  terminal  multiplexer  like tmux. It is usually  adivisble  to\nstick with the default MicroEmacs color scheme using the terminal  version and switch the\ntheme if required  using the terminal  emulator. On lxterminal you can use for\ninstance the Solarized themes for a more pastel like basic scheme.\n\n\n__Windows:__\n\n- if not yet existing - create a folder 'C:\\Users\\\u003cUsername\u003e\\bin'\n- copy the mecb.exe and mewb.exe files to this folder as mec.exe and mew.exe\n- add this folder to your PATH variable if it is not yet there like this:\n    - Right-click on \"This PC\" or \"Computer\" and select \"Properties.\"\n    - Go to \"Advanced system settings\" on the left.\n    - Click on \"Environment Variables.\"\n    - Under \"System variables,\" find the Path variable and click \"Edit.\"\n    - Add the path to your new directory (e.g., C:\\Users\\\u003cUsername\u003e\\bin) to the list of paths.\n- run the mec/mew  executables (Win-r and typing mew\u003cENTER\u003e)  and do general setup giving your username and\n  then the user setup \"Esc x user-setup\" mainly here selecting  the right keyboard for your computer\n- If you after  selecting the keyboard get an error about not having writing the\n  _username.erf_   file  you  might  to  create  the   appropriate   directory\n  `~./jasspa` by yourself and then repeat the procedure. To use the  spell-checking  facilities you have\n  to download and unpack the spell-checking files from here https://github.com/mittelmark/microemacs/releases/tag/v0.9.0\n\n\u003ca name=\"Fonts\"\u003e \u003c/a\u003e\n\n## TTF-Fonts for the X11-Application (mew) on Linux, MacOS and FreeBSD\n\nThe default X11  installation  on Linux and MacOS using [XQuartz](https://www.xquartz.org/) has only a few\nnot so good looking  fonts  available  for the base install. To get more fonts\nit is advisible to use the collection of TrueType fonts from the MicroEmacs\nproject package by doing the following:\n\n- download the file  `ttf-files.zip` from  the   current   release   page\n- unzip   these  files  into  the  folder  `~/.local/share/fonts`  - if  this\n  folder does not exists yet, create it\n- for MacOS the path should be `~/Library/Fonts`\n- add this  folder  to your  current  font-path  by  executing  the  following\n  commands\n\n```\nxset +fp ~/.local/share/fonts\n### xset +fp ~/Library/Fonts (MacOS)\nxset fp rehash\n```\n\nThese commands are available as a shell script in the ttf-files folder. \nYou should place a desktop file into your  ~/.config/autostart  folder usually\nfor Window  managers  like Gnome or XFCE tp run this script  automatically  at\nstartup.\n\nIf this does not work for _MacOS_ it is probably since X11  applications  on\nMacOS  typically  use the system's font  configuration,  ensuring the fonts are\ninstalled in the system or user font directories should make them available to\nX11.  However, if you need to specify font paths for X11  explicitly,  you can\nadd the font paths to your X11  configuration.  For  example,  you can add the\nfollowing lines to your `~/.Xresources` or `~/.Xdefaults` file text: \n\n```\nXft.dpi: 96\nXft.antialias: true\nXft.hinting: true\nXft.hintstyle: hintfull\nXft.rgba: rgb\nxft.fontpath: /Library/Fonts:/System/Library/Fonts:/Users/your_username/Library/Fonts\n```\n\n\u003ca name=\"Fonttools\"\u003e \u003c/a\u003e\n\n### X11 Font Tools\n\nIf you add more TTF fonts on your own to this  folder you have later to update\nthe  files   `fonts.scale`   and   `fonts.dir`  by  using  the   _mkfontscale_\napplication. \n\nTo have a look at the  available  list of  X11-fonts  you can use the _xfontsel_\napplication on X11. If this tool is available on your machine it will as well\noffer it in the font-selection  part of the user-setup dialog as a possibility\nto choose your own font.\n\nYou can install these applications with the following commands:\n\n```\n### Fedora and other RedHat like systems for instance AlmaLinux\nsudo dnf install xorg-x11-apps # xfontsel \nsudo dnf install mkfontscale   # indexing X11 fonts\nsudo dnf install xlsfonts      # font list in the terminal\n### Debian and distros based on it like Ubuntu, Linux Mint, MX Linux\nsudo apt install x11-utils    # xfontsel, xlsfonts\nsudo apt install xfonts-utils  # mkfontscale \n### Arch-Linux and distros based on it like Manjaro Linux\nsudo pacman -S xorg-xfontsel\nsudo pacman -S xorg-mkfontscale\nsudo pacman -S xorg-xlsfonts\n### MacOS using MacPorts\nsudo port install mkfontscale\nsudo port install xfontsel\nsudo port install xlsfonts\n### FreeBSD\nsudo pkg install mkfontscale\nsudo pkg install xfontsel\n\n```\n\nAs with MacOS the folders where these fonts are in should be then added to the FontPath.\n\nHint: On some Arch-Linux distros like Manjaro a few TTF fonts  usuable  by  MicroEmacs  can be\ninstalled by the package  manager as the folders where they are installed will\nget a fonts.dir and fonts.scale file automatically be the package installer.\n\nSo you can do there a:\n\n```\nsudo pacman -S ttf-fira-mono \nsudo pacman -S ttf-ubuntu-font-family \nsudo pacman -S adobe-source-code-pro-fonts\nxset fp rehash\n```\nTo get these and other monospaced programming fonts.\n\n\nOther package manager allow you as well to install a few TTF files but they do\nnot update the fontpaths for older X11  applications. For instance the FreeBSD\npackage manager requires afterwards to update the fontpath yourself:\n\n```\n### FreeBSD\n### get two additional fonts if you do not use ttf-files\nsudo pkg install liberation-fonts-ttf\nsudo pkg install source-code-pro-ttf\nxset +fp /usr/local/share/fonts/Liberation\nxset +fp /usr/local/share/fonts/SourceCodePro\nxset fp rehash\n```\n\nHint: To view only monospaced  programming  fonts with _xfontsel_ run the tool\nwith the pattern argument like this:\n\n```\nxfontsel -pattern \"*-m-*\" -scaled\n```\n\nTo install TTF fonts for use with X11 applications on a Mac, you need to ensure the fonts are accessible to both the Mac's native environment and the X11 environment. Here are the steps to follow:\nInstall Fonts for Mac Environment:\n\nUsing Font Book:\n\n- Double-click the TTF font file to open it in Font Book.\n- Click \"Install Font\" at the bottom of the preview window.\n\nManually:\n\n- Open Finder and navigate to ~/Library/Fonts.\n- Drag and drop the TTF font files into this folder.\n- Make Fonts Available to X11:\n\n## Spelling Dictionaries\n\nMe supports  spelling checks. You need to download the spelling files from the\nGithub release page here:\n\n[https://github.com/mittelmark/microemacs/releases/tag/v0.9.0](https://github.com/mittelmark/microemacs/releases/tag/v0.9.0)\n\nJust  download  the and  unzip the  required  spelling  directories  into your\n`~/.jasspa` folder for instance for the German spelling rules like this:\n\n```\nwget https://github.com/mittelmark/microemacs/releases/download/v0.9.0/ls_dede.zip\nunzip ls_dede.zip -d ~/.jasspa/\n```\n\n\u003ca name=\"Modi\"\u003e \u003c/a\u003e\n## Modification of the MicroEmacs Executable\n\nYou can modify the macro tree of the executable using the `bfs` command line\napplication. The steps to do so are described in much detail here: [http://www.jasspa.com/zeroinst.html](http://www.jasspa.com/zeroinst.html).\n\nBelow the short version.\n\nIn case you  created new macro files for a specific  filetype or you  modified\nexisting macro files and you would deploy these  modifications in a standalone\nexecutable you can create a new me-standalone file by:\n\n* let's assume that you like to modify the terminal executable\n* make a copy of it and name it `mec.bin`\n* you can then detach the current archive from the stand-alone executable into\n  a folder *mearchive* like this:\n\n```\nbfs -x mearchive mec.bin\n```\n\n* thereafter you add your own or replace changed files into the folders\n  _spelling_ (for dictionaries), _macros_ (for macro files) and thereafter you\n  attach this changed folder to the old executable like this:\n\n```\nbfs -a mec.bin ./mearchive\n```\n\nThis will replace the old archive with the new one. You can now copy simply\nthis file and use it on other machines having the same platform.\n\n\u003ca name=\"Profile\"\u003e \u003c/a\u003e\n\n## Local User Profile\n\nMicroEmacs uses local  user configuration profiles  to store user specific\ninformation.  The  user  information  may  be  stored  in  the  MicroEmacs\ndirectory, or  more  typically  in  a users  private  directory.  On login\nsystems  then  the  user  name  and  user  private  directory  location is\nautomatically determined from the system. \n\nThe user name identified by MicroEmacs  is `$user-name(5)` this value may be\nset or re-defined using the environment variable `$MENAME(5)`.\n\nThe location  of  the  user  information depends  upon  your  platform and\ninstallation configuration. The private directory identified by MicroEmacs\nis `$user-path(5)` this location may  be changed by defining the environment\nvariable `$MEUSERPATH(5)`. \n\nMicrosoft Windows users may use  the me32.ini(8) file to define MicroEmacs\nconfiguration path and name information. \n\n__User Profile Files__\n\nFiles contained in the user profiles typically include:- \n\n     \u003cname\u003e.emf - The users start up profile - \u003cuser\u003e.emf. \n     \u003cname\u003e.edf - The users spelling dictionary. \n     \u003cname\u003e.erf - The users registry configuration file. \n\nThese files  are  automatically  set  up by  MicroEmacs.  These  files are\nestablished from the  menu \"Tools  -\u003e User  Setup\". The  \"Setup Path\" item\ndefines the location  of the files,  but must be  MANUALLY included in the\n`$MEPATH` environment. \n\n__Company Profiles__\n\nCompany profiles  include standard  files and  extensions to  the standard\nfiles which may be  related to a company,  this is typically \u003ccompany\u003e.emf\nwhere \u003ccompany\u003e is the name of the company. \n\nThe directory may also  include template files  etf(8) files which defines\nthe standard header  template used  in the  files. Files  in the \"company\"\ndirectory would over-ride the standard template files. \n\n\n\u003ca name\"Identity\"\u003e \u003c/a\u003e\n## User Identification \n\nIn order to identify a user MicroEmacs 2009 uses information in the system\nto determine the name of  the user, and in  turn the configuration to use.\nOn all  systems the  value  of the  environment variable  $MENAME(5) takes\npriority over any other means of  user identification. If this variable is\nnot defined  then  the  host  system  typically  provides  a  mechanism to\ndetermine the current  user. \n\nUNIX \n\nThe  login  name  is  determined  from  the  `/etc/passwd`  file  and  defines\n`$user-name(5)`. The environment  variable `$MENAME(5)` may be defined alter the\ndefault user configuration file name. \n\nMicrosoft Windows \n\nMicrosoft windows environments  may, or may  not, have login enabled.\nIf login is enabled then `$user-name(5)` is set to the login user name.\nThe login name may be  overridden by setting the environment variable\n`$MENAME(5)` this may  be performed  in the environment  or through the\n`me32.ini(8)` file. \n\n\n\n\n\n\n\u003ca name=\"Personal\"\u003e \u003c/a\u003e\n## Personal MicroEmacs Directory \n\nThe private user profile is stored  in a separate directory. The directory\nthat MicroEmacs uses is  typically automatically created  at start up, but\nmay be created manually by the user. If the directory is to be placed in a\nspecial location  then the  `$MEUSERPATH(5)` environment  variable should be\ndefined and set to point at this directory location. \n\n__UNIX__\n\nIn the UNIX environment then the local directory is typically created\nin the users home directory obtained from the `/etc/passwd` file and is\ncalled  `~/.jasspa`.  MicroEmacs  will   automatically  look  for  this\ndirectory and  set  the  `$user-path(5)` variable  to  this  value. The\nlocation  may  be  overridden  by  setting  the  environment variable\n`$MEUSERPATH(5)` to reference a different directory location. \n\n\n__Windows__\n\nIn Microsoft Windows environment  using Explorer 4.0  or later then a\nuser application data directory exists (`$APPDATA`) and MicroEmacs will\ncreate a directory jasspa in  this directory location to hold private\ndata. If there  is no such  data area then  all user configuration is\nstored in  the  executable  directory  location  (or  a sub-directory\ncalled `$user-name(5)`). \n\nThe user data  area `$user-path(5)` may  be modified by  creating a new\ndirectory and  setting  the  environment  variable  `$MEUSERPATH(5)` to\npoint to this new directory location.  The location be specified by a\nmeuserpath entry  in  the `me32.ini(8)`  file  rather than  setting the\nenvironment variable `$MEUSERPATH(5)`. \n\n\u003ca name=\"Create\"\u003e \u003c/a\u003e\n##  Creating Your Profile \n\nOn starting MicroEmacs for the first  time then the user is guided through\nthe configuration file setup to create any local configuration files. Once\nset up then MicroEmacs may be configured using the user-setup(3) dialog:- \n\n       Tools -\u003e User Setup \n\nThe User Profile \n\n\u003e Files created in the user directory include:- \n\n*  Setup  registry  and  previous  session  history  `$user-name.erf` (see\n   erf(8)). This  stores the  user-setup settings  and the  context from\n   previous edit sessions. \n*  Users start-up  file `$user-name.emf`  (see `emf(8)`).  This is typically\n   referred to as  \"user.emf\" in  the documentation and  means the users\n   private MicroEmacs  macro file.  The user  may make  local changes to\n   MicroEmacs in  this  file, this  may  include definition  of  new key\n   bindings, defining new  hook functions  etc. You  should override the\n   standard MicroEmacs  settings  from  your start-up  file  rather than\n   modifying the standard MicroEmacs files. \n*  Personal  spelling  dictionary  lsdplang.edf  (see  `edf(8)`). Multiple\n   spelling dictionaries  may  be created,  one  for each  language. Any\n   words that are added  to the spelling dictionary  are stored in these\n   files. \n\nIn addition to the above, if  new private macro files are constructed then\nthey should be  added to  this directory  (if they  are not  global to the\ncompany). \n\n__EXAMPLE:__\n\nThe following are examples of some individuals start-up files:- \n\n```\n  ; Jon's special settings \n  ; \n  ; Last Modified \u003c190698.2226\u003e \n  ; \n  ; Macro to delete the whitespace, or if an a word all of the \n  ; word until the next word is reached. \n  define-macro super-delete \n      set-variable #l0 0 \n      !while \u0026not \u0026sin @wc \" \\t\\n\" \n          forward-char \n          set-variable #l0 \u0026add #l0 1 \n      !done \n      !repeat \n          !force forward-char \n          !if $status \n              set-variable #l0 \u0026add #l0 1 \n          !endif \n      !until \u0026or \u0026seq @wc \"\" \u0026not \u0026sin @wc \" \\t\\n\" \n      #l0 backward-delete-char \n      !return \n  !emacro \n  ; Make a previous-buffer command. \n  define-macro previous-buffer \n      \u0026neg @# next-buffer \n  !emacro \n  ; spotless; Perform a clean and remove any multi-blank lines. \n  define-macro spotless \n      -1 clean \n  !emacro \n  ; comment-adjust; Used for comments in electric-c mode (and the other \n  ; electic modes. Moves to the comment fill position, saves having to mess\n  ; around with comments at the end of the line. \n  0 define-macro comment-adjust \n      ; delete all spaces up until the next character \n      !while \u0026sin @wc \" \\t\" \n          forward-delete-char \n      !done \n      ; Fill the line to the current $c-margin. We use this as \n      ; this is the only variable that tells us where the margin \n      ; should be. \n      !if \u0026gre $window-acol 0 \n          backward-char \n          !if \u0026sin @wc \" \\t\" \n       forward-delete-char \n              !jump -4 \n          !else \n              forward-char \n          !endif \n      !endif \n      ; Now fill to the $c-margin \n      \u0026sub $c-margin $window-acol insert-string \" \" \n  !emacro \n  ; Macro to force buffer to compile buffer for C-x ' \n  define-macro compile-error-buffer \n      !force delete-buffer *compile* \n      change-buffer-name \"*compile*\" \n  !emacro \n  ; \n  ; Set up the bindings. \n  ; \n  global-bind-key super-delete            \"C-delete\" \n  global-bind-key beginning-of-line       \"home\" \n  global-bind-key end-of-line             \"end\" \n  global-bind-key undo                    \"f4\" \n  !if \u0026seq %emulate \"ERROR\" \n      global-bind-key comment-adjust      \"esc tab\" \n      global-bind-key comment-adjust      \"C-insert\" \n      ; Like a korn shell please. \n      ml-bind-key tab \"esc esc\" \n  !endif \n  ; \n  ; Setup for windows and UNIX. \n  ; \n  ; Define my hilighting colour for Windows and UNIX. \n  !if \u0026equ \u0026band $system 0x001 0 \n      !if \u0026not \u0026seq $platform \"win32\" \n          ; Small bold font is better for me. \n          change-font \"-*-clean-medium-r-*-*-*-130-*-*-*-*-*-*\" \n      !endif \n  !endif \n  ; Change the default diff command-line for GNU diff utility all platforms\n  set-variable %diff-com \"diff --context --minimal --ignore-space-change --report-identical-files --recursive\"\n  set-variable %gdiff-com \"diff --context --ignore-space-change -w\" \n  ; Setup for cygwin \n  !if \u0026seq $platform \"win32\" \n      set-variable %cygwin-path \"c:/cygwin\" \n      set-variable %cygwin-hilight 1 \n  !endif \n  ; Set up the ftp flags. The letters have the following meaning: \n  ; c   - Create a console (*ftp-console* for ftp, *http-console* for http)\n  ; s   - Show the console \n  ; p   - Show download progress ('#' every 2Kb downloaded) \n  set-variable %ftp-flags \"csp\" \n  ; Info files \n  ;To hilight the .info and also the dir file \n  add-file-hook \".info dir\"                                   fhook-info   ; Info-files\n  ;To hilight all info files without the extension .info \n  ;but starting with the text \"This is info file.. \n  -2 add-file-hook \"This is Info file\"                        fhook-info \n\n  ; Finished \n  ml-write \"Configured to Jon's requirements\" \n```\n\n\u003ca name=\"Company\"\u003e \u003c/a\u003e\n## COMPANY PROFILES \n\nThis section describes how  a company profile  should be incorporated into\nMicroEmacs  2009.  A  company  profile  defines  a  set  of  extensions to\nMicroEmacs which  encapsulate settings  which are  used on  a company wide\nbasis. This  type  of configuration  is  typically used  with  a networked\n(shared) installation. The company profile would typically include:- \n\n  *  Name of the company. \n  *  Standard header files including company copyright statements. \n  *  Standard file layouts \n  *  Company defined language extensions. \n\nLocation Of The Company Information \n\nIt is suggested that  all of the company  extensions applied to MicroEmacs\n2009 are  performed in  a  separate directory  location which  shadows the\nMicroEmacs standard macro file directory.  This enables the original files\nto be sourced if a  user does not want to  include the company files. This\nmethod  also  allows  MicroEmacs  to  be  updated  in  the  future, whilst\nretaining the company files. \n\nThe company  files  are  generally  placed  in  the  company sub-directory\ndescribed in the installation notes. \n\nContent Of The Company Information \n\nCompany macro file \n\nThe company  file  is  typically  called by  the  company  name (i.e.\njasspa.emf) create a new company file. The file includes your company\nname and hook functions for any new file types that have been defined\nfor the company, an example company  file for Jasspa might be defined\nas:- \n\n```\n   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n   ; \n   ;  Author        : Jasspa \n   ;  Created       : Thu Jul 24 09:44:49 1997 \n   ;  Last Modified : \u003c090829.1633\u003e \n   ; \n   ;  Description     Extensions for Jasspa \n   ; \n   ;  Notes \n   ; \n   ;  History \n   ; \n   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n   ; Define the name of the company. \n   set-variable %company-name \"Jasspa\" \n   ; Add Jasspa specific file hooks \n   ; Make-up foo file hook \n   add-file-hook \".foo\"    fhook-foo \n   1 add-file-hook \"-!-[ \\t]*foobar.*-!-\" fhook-foo ; -!- foobar -!- \n   ; Override the make with localised build command \n   set-variable %compile-com \"build\" \n```\n\nThe file contains company specific file hooks and the name of the company. \n\nOther Company Files \n\nFiles defined on  behalf of the  company are included  in the company\ndirectory. These would include:- \n\n  *  Template header files etf(8). \n  *  Hook file  definitions (hkXXX.emf)  for company  specific files,\n     see add-file-hook(2). \n  *  Extensions to  the  standard  hook  definitions  (myXXX.emf) for\n     company specific language extensions to the standard hook files.\n     See File Hooks and File Language Templates. \n\n\u003ca name=\"Support\"\u003e \u003c/a\u003e\n\n## Support\n\n__Issues:__\n\nIn case you find bugs or have  suggestions  for  improvements or would like to\nport the code to other platforms use the Issues tab on the Github page:\n\n[https://github.com/mittelmark/microemacs/issues](https://github.com/mittelmark/microemacs/issues)\n\n__Help:___\n\nMicroEmacs  contains an embedded  help  system. Use the 'Help' menu entry on the\nright. There is as well a set of older HTML files online available from here:\n\n\n[http://www.jasspa.com/me.html](http://www.jasspa.com/me.html)\n\n__Contact:__\n\nIn case of  questions,  suggestions,  trouble  etc,  write to dgroth  (at) uni\n(minus) potsdam (dot) de or use the issue tracker at the Github project page.\n\n## Future\n\nBTW: Currently  a new  release,  named ME 2024,  with more  features  (https, git)\nsupport, is prepared.\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmittelmark%2Fmicroemacs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmittelmark%2Fmicroemacs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmittelmark%2Fmicroemacs/lists"}