{"action":"created","issue":{"url":"https://api.github.com/repos/teyjus/teyjus/issues/109","repository_url":"https://api.github.com/repos/teyjus/teyjus","labels_url":"https://api.github.com/repos/teyjus/teyjus/issues/109/labels{/name}","comments_url":"https://api.github.com/repos/teyjus/teyjus/issues/109/comments","events_url":"https://api.github.com/repos/teyjus/teyjus/issues/109/events","html_url":"https://github.com/teyjus/teyjus/pull/109","id":143814857,"number":109,"title":"Emacs inferior process: teyjus-inferior-mode","user":{"login":"aBathologist","id":1424999,"avatar_url":"https://avatars.githubusercontent.com/u/1424999?v=3","gravatar_id":"","url":"https://api.github.com/users/aBathologist","html_url":"https://github.com/aBathologist","followers_url":"https://api.github.com/users/aBathologist/followers","following_url":"https://api.github.com/users/aBathologist/following{/other_user}","gists_url":"https://api.github.com/users/aBathologist/gists{/gist_id}","starred_url":"https://api.github.com/users/aBathologist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aBathologist/subscriptions","organizations_url":"https://api.github.com/users/aBathologist/orgs","repos_url":"https://api.github.com/users/aBathologist/repos","events_url":"https://api.github.com/users/aBathologist/events{/privacy}","received_events_url":"https://api.github.com/users/aBathologist/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-03-27T14:40:39Z","updated_at":"2016-04-16T00:03:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/teyjus/teyjus/pulls/109","html_url":"https://github.com/teyjus/teyjus/pull/109","diff_url":"https://github.com/teyjus/teyjus/pull/109.diff","patch_url":"https://github.com/teyjus/teyjus/pull/109.patch"},"body":"I have added basic support for a comint-derived inferior process. It is pretty basic, but provides the following functions:\r\n\r\n- `teyjus-run`: Start an inferior process running `tjsim`. This is very handy, since it gives us a command line history (so dearly missed when using `tjsim` alone in the shell), and other nice emacs features. Given an argument, it will load the named module into the simulator (provided it can find a matching *.lp file via `TJPATH`).\r\n- `teyjus-link`: Run `tjlink` on the files matching the basename of the buffer file.\r\n- `teyjus-load-buffer`: Add the directory of the current buffer's file to the `TJPATH`, then save, compile, and link the module files indicated by the current buffer, and load it into a running inferior process.\r\n- `teyjus-path-add-current-buffer` and `teyjus-path-remove-current-buffer`: Add or remove the current buffer file's directory to `TJPATH`. (This is, of course, only for the current emacs session, and does not interfere with the value of `$TJPATH` in the environment at large).\r\n\r\n---\r\n\r\nThis is my first time submitting any sort of pull request, so please advise me if I can or should improve or fix anything, in terms of the code, the documentation, the information here, or my general approach.\r\n\r\nThis basic implementation of teyjus-inferior-mode still leaves plenty to be desired, and I'd be interested in refining it, and adding other helpful features if the need and desire arises.\r\n\r\n![A Screenshot](http://i.imgur.com/vsOQrSy.png)\r\nA screenshot: *Using the default key command `C-c C-f`, My `lists.mod` is loaded into an inferior process running `tjsim`, in the bottom right window. But — oops! — I accidentally used Prolog syntax! Having the command line history available makes it easy to change that into λProlog.*"},"comment":{"url":"https://api.github.com/repos/teyjus/teyjus/issues/comments/210692261","html_url":"https://github.com/teyjus/teyjus/pull/109#issuecomment-210692261","issue_url":"https://api.github.com/repos/teyjus/teyjus/issues/109","id":210692261,"user":{"login":"aBathologist","id":1424999,"avatar_url":"https://avatars.githubusercontent.com/u/1424999?v=3","gravatar_id":"","url":"https://api.github.com/users/aBathologist","html_url":"https://github.com/aBathologist","followers_url":"https://api.github.com/users/aBathologist/followers","following_url":"https://api.github.com/users/aBathologist/following{/other_user}","gists_url":"https://api.github.com/users/aBathologist/gists{/gist_id}","starred_url":"https://api.github.com/users/aBathologist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aBathologist/subscriptions","organizations_url":"https://api.github.com/users/aBathologist/orgs","repos_url":"https://api.github.com/users/aBathologist/repos","events_url":"https://api.github.com/users/aBathologist/events{/privacy}","received_events_url":"https://api.github.com/users/aBathologist/received_events","type":"User","site_admin":false},"created_at":"2016-04-16T00:03:02Z","updated_at":"2016-04-16T00:03:02Z","body":"Just a gentle bump. Is there anything I can/should do this PR to help it along?"}}