;;; acm-config.el - Handy function for submitting a program to the ACM online judge ;; Copyright (C) 2005 Sandra Jean Chua (sacha@free.net.ph) ;; Use anything you want, it's public domain (defvar acm-submit-id nil "*Userid for the ACM online judge system at acm.uva.es.") (defun acm-submit () (interactive) (let* ((path (buffer-file-name)) (file-name (file-name-nondirectory path)) problem-id extension (file-name-extension path) language) (when (string-match "\\([0123456789]+\\)" file-name) (setq problem-id (match-string 1 file-name)) (setq language (if (string= extension "java") "Java" "C++")) (compose-mail "judge@uva.es" (concat "ACM submission " problem-id)) (insert "/* @JUDGE_ID: " acm-submit-id " " problem-id " " language " */\n") (insert-file-contents path) (goto-char (point-max)) (insert "\n@END_OF_SOURCE_CODE\n")))) (setq acm-submit-id "6723KC") (provide 'acm-config)