Permalink
Browse files

Update to latest

  • Loading branch information...
1 parent cf1630e commit 9d38fbc965d02d3cad10fef567cf45aba1830907 @seanlynch committed Apr 4, 2012
Showing 568 changed files with 190,930 additions and 23 deletions.
View
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+import subprocess
+
+def get_output(args):
+ p = subprocess.Popen(args, stdout=subprocess.PIPE)
+ return p.communicate()[0].split()
+
+
+def get_rdeps(rdeps, formula):
+ r = rdeps[formula]
+ i = 0
+ while i < len(r):
+ for rd in rdeps[r[i]]:
+ if rd not in r:
+ r.append(rd)
+
+ i += 1
+
+ return r
+
+
+def main():
+ rdeps = {}
+ formulas = get_output(['brew', 'list'])
+ for formula in formulas:
+ rdeps.setdefault(formula, [])
+ deps = get_output(['brew', 'deps', formula])
+ for dep in deps:
+ rdeps.setdefault(dep, []).append(formula)
+
+ for formula in rdeps:
+ print formula, get_rdeps(rdeps, formula)
+
+
+if __name__ == '__main__':
+ main()
View
@@ -1,3 +0,0 @@
-#!/bin/sh
-open /usr/local/Cellar/emacs/23.3/Emacs.app
-
View
@@ -0,0 +1,160 @@
+# lastpass2keepass
+# Supports:
+# Keepass XML - keepassxml
+# USAGE: python lastpass2keepass.py exportedTextFile
+# The LastPass Export format;
+# url,username,password,1extra,name,grouping(\ delimited),last_touch,launch_count,fav
+
+import sys, csv, time, datetime, itertools, re, operator # Toolkit
+import xml.etree.ElementTree as ET # Saves data, easier to type
+
+# Strings
+
+fileError = "You either need more permissions or the file does not exist."
+lineBreak = "____________________________________________________________\n"
+
+def formattedPrint(string):
+ print lineBreak
+ print string
+ print lineBreak
+
+# Files
+# Check for existence/read/write.
+
+try:
+ inputFile = sys.argv[1]
+except:
+ formattedPrint("USAGE: python lastpass2keepass.py exportedTextFile")
+ sys.exit()
+
+try:
+ f = open(inputFile)
+except IOError:
+ formattedPrint("Cannot read file: '%s' Error: '%s'" % (inputFile, fileError) )
+ sys.exit()
+
+# Create XML file.
+outputFile = inputFile + ".export.xml"
+
+try:
+ open(outputFile, "w").close() # Clean.
+ w = open(outputFile, "a")
+except IOError:
+ formattedPrint("Cannot write to disk... exiting. Error: '%s'" % (fileError) )
+ sys.exit()
+
+# Parser
+# Parse w/ delimter being comma, and entries separted by newlines
+
+h = re.compile('^http') # Fix multi-line lastpass problems
+q = re.compile(',\d\n')
+
+for line in f.readlines():
+
+ if h.match( line ):
+ w.write( "\n" + line.strip() ) # Each new line is based on this
+ elif q.search( line ):
+ w.write( line.strip() ) # Remove end line
+ else:
+ w.write( line.replace( '\n', '|\t|' ) ) # Place holder for new lines in extra stuff
+
+f.close() # Close the read file.
+
+w.close() # reuse same file - stringIO isn't working
+
+w = open(outputFile, "r") # open for reading - windows problems with reader on stringIO
+
+reader = csv.reader( w, delimiter=',', quotechar='"' ) # use quotechar to fix parsing
+
+# Create a list of the entries, allow us to manipulate it.
+# Can't be done with reader object.
+
+allEntries = []
+
+for x in reader:
+ allEntries.append(x)
+
+w.close() # reader appears to be lazily evaluated leave - close w here
+
+w = open(outputFile, "w") # clean the file - prepare for xml tree write
+
+allEntries.pop(0) # Remove LP format string.
+
+# Keepass XML generator
+
+# Add doctype to head, clear file.
+
+w.write("<!DOCTYPE KEEPASSX_DATABASE>")
+
+# Generate Creation date
+# Form current time expression.
+
+now = datetime.datetime.now()
+formattedNow = now.strftime("%Y-%m-%dT%H:%M")
+
+# Initialize tree
+# build a tree structure
+
+page = ET.Element('database')
+doc = ET.ElementTree(page)
+
+# A dictionary, organising the categories.
+
+resultant = {}
+
+# Parses allEntries into a resultant dict.
+
+for entry in allEntries:
+ resultant.setdefault( entry[5], [] ).append( entry )
+
+sorted_resultant = sorted(resultant.iteritems(), key=operator.itemgetter(1)) # sort for xml tree
+
+# Sort by categories.
+
+# Initilize and loop through all entries
+
+for categoryEntries in sorted_resultant:
+
+ # Place hold sorted data
+
+ category = categoryEntries[0]
+ entries = categoryEntries[1]
+
+ # Create head of group elements
+
+ headElement = ET.SubElement(page, "group")
+ ET.SubElement(headElement, "title").text = str(category)
+ ET.SubElement(headElement, "icon").text = "0" # Lastpass does not retain icons.
+
+ for entry in entries:
+
+ # entryElement information
+
+ # Each entryElement
+
+ entryElement = ET.SubElement(headElement, "entry")
+
+ # entryElement tree
+
+ ET.SubElement(entryElement, 'title').text = str(entry[4]).decode("utf-8") # Use decode for windows el appending errors
+ ET.SubElement(entryElement, 'username').text = str(entry[1]).decode("utf-8")
+ ET.SubElement(entryElement, 'password').text = str(entry[2]).decode("utf-8")
+ ET.SubElement(entryElement, 'url').text = str(entry[0]).decode("utf-8")
+ ET.SubElement(entryElement, 'comment').text = str(entry[3]).replace( '|\t|', '\n').strip('"').decode("utf-8") # fix place holder
+ ET.SubElement(entryElement, 'icon').text = "0"
+ ET.SubElement(entryElement, 'creation').text = formattedNow
+ ET.SubElement(entryElement, 'lastaccess').text = str(entry[6]).decode("utf-8")
+ ET.SubElement(entryElement, 'lastmod').text = formattedNow
+ ET.SubElement(entryElement, 'expire').text = "Never"
+
+# Write out tree
+# wrap it in an ElementTree instance, and save as XML
+
+doc.write(w)
+
+w.close()
+
+print lineBreak
+print "\n'%s' has been succesfully converted to the KeePassXML format." %(inputFile)
+print "Converted data can be found in the '%s' file.\n" %(outputFile)
+print lineBreak
View
@@ -1,19 +0,0 @@
-# Finished adapting your PATH environment variable for use with MacPorts.
-stty erase 
-PATH=$HOME/bin:$HOME/.gem/ruby/1.8/bin:/usr/local/bin:/usr/local/sbin:$PATH
-export PATH
-
-export GOROOT=`brew --prefix`/Cellar/go/HEAD
-export GOARCH=amd64
-export GOOS=darwin
-
-export PS1="\[\e]2;\h:\W\a\]\!,$? \u@\h:\w$ "
-
-export EDITOR=emacsclient
-export ALTERNATE_EDITOR="/Applications/Aquamacs.app/Contents/MacOS/Aquamacs -nw"
-
-alias gerrit='ssh -p 29418 review.northscale.com gerrit'
-alias update-emacs='brew uninstall emacs ; brew install emacs --use-git-head --HEAD --cocoa'
-alias e='emacsclient -n'
-stty erase 
-
View
@@ -98,7 +98,8 @@
python-mode haml-mode sass-mode yaml-mode feature-mode
wikipedia-mode caml-mode go-mode haskell-mode js-mode js2-mode
d-mode lua-mode lisp-mode emacs-lisp-mode ruby-mode
- graphviz-dot-mode haskell-mode php-mode css-mode xhp-mode))
+ graphviz-dot-mode haskell-mode php-mode css-mode xhp-mode
+ scheme-mode))
(dolist (mode my-programming-modes-list)
(let ((hook (intern (concatenate 'string (symbol-name mode) "-hook"))))
@@ -329,3 +330,17 @@
;; If there is more than one, they won't work right.
'(uniquify-buffer-name-style (quote forward) nil (uniquify)))
+;;BEGIN-RACKET-SCRIBBLE-EMACS-INSTALL
+;; Updated: 2011-11-22T18:02:27Z
+(condition-case err
+ (require 'scribble "/Users/seanl/Library/Racket/planet/300/5.2/cache/neil/scribble-emacs.plt/1/2/scribble")
+ (error (message "Could not load Scribble Emacs: %s" err)))
+;;END-RACKET-SCRIBBLE-EMACS-INSTALL
+
+(require 'quack)
+(load-file "~/elisp/geiser/elisp/geiser.el")
+(require 'rainbow-delimiters)
+(global-rainbow-delimiters-mode)
+
+(add-to-list 'exec-path "/usr/local/bin")
+(load-file "~/elisp/ProofGeneral-4.1/generic/proof-site.el")
View
@@ -8,6 +8,7 @@ export GOARCH=amd64
export GOOS=darwin
export PS1="\[\e]2;\h:\W\a\]\!,\$? \u@\h:\w\$ "
+export ALTERNATE_EDITOR="$HOME/Applications/Emacs.app/Contents/MacOS/Emacs"
export EDITOR=emacsclient
export CC="ccache gcc" CXX="ccache g++"
@@ -0,0 +1,22 @@
+Current Authors/Maintainers:
+
+ David Aspinall (all)
+ Pierre Courtieu (coq)
+ Christoph Raffalli (phox)
+ Makarius Wenzel (isar)
+
+Previous Authors:
+
+ Stefan Berghofer (isar)
+ Paul Callaghan (plastic,lego)
+ Healfdene Goguen (coq, generic, doc)
+ Thomas Kleymann (lego, doc, generic)
+ Patrick Loiseleur (coq)
+ David von Oheimb (x-symbol)
+ Dilip Sequeira (lego)
+ Graham Dutton (web support)
+
+These are the main "official" authors of Proof General, but many more
+people have contributed, some very significantly. We're grateful to
+everyone who has! Please see the CREDITS section in the manual for a
+more complete list.
View
@@ -0,0 +1,107 @@
+-*- outline -*-
+
+* Known Bugs and Workarounds for Proof General.
+
+For latest, see: http://proofgeneral.inf.ed.ac.uk/trac
+See also FAQ: http://proofgeneral.inf.ed.ac.uk/FAQ
+
+The bugs here are split into problems which are generic,
+and those which only apply to particular provers.
+
+The FAQ mentions other issues which are not necessarily PG bugs.
+
+* Reporting bugs
+
+If you have a problem that is not mentioned here, please visit the
+Trac at the address above to add a ticket. Please describe your
+problem carefully, include a short demonstration file and tell us the
+exact version of Emacs and Proof General that you are using.
+
+
+* General issues
+
+** If the proof assistant goes into a loop displaying lots of information
+
+It may be difficult or impossible to interrupt it, because Emacs
+doesn't get a chance to process the C-c C-c keypress or "Stop" button
+push (or anything else). In this situation, you will need to send an
+interrupt to the (e.g.) Isabelle process from another shell. If that
+doesn't stop things, you can try 'kill -FPE <emacs-pid>'.
+This problem can happen with looping rewrite rules in the Isabelle
+simplifier, when tracing rewriting. It seems to be worse on
+certain architectures, and slower machines.
+
+** Glitches in display handling, esp with multiple frames
+
+Unfortunately the handling of the display is very difficult to manage
+because the API provided by Emacs is quirky and varies between
+versions. If the eager display/tear-down of frames is annoying you,
+you may customize the variable `proof-shell-fiddle-frames' to nil to
+reduce it a bit. To prevent eagerly displaying new frames at on
+starting the shell, you can also add a mode hook to set
+`proof-eagerly-raise' e.g.:
+
+ (add-hook 'proof-goals-mode-hook
+ (lambda () (setq proof-eagerly-raise nil)))
+ (add-hook 'proof-response-mode-hook
+ (lambda () (setq proof-eagerly-raise nil)))
+
+Generally, the best way of working with multiple frames is to try not
+to stop/start the proof assistant too much (this involves killing
+buffers, which spoils the frame/buffer correspondence).
+
+** Using C-g can leave script management in a mess (rare).
+
+The code is not fully protected from Emacs interrupts.
+Workaround: Don't type C-g while script management is processing.
+If you do, use proof-restart-scripting to be sure of synchronizing.
+
+** When proof-rsh-command is set to "ssh host", C-c C-c broken
+
+The whole process may be killed instead of interrupted. This isn't a
+bug in Proof General, but the behaviour of ssh. Try using rsh
+instead, it is said to forward signals to the remote command.
+
+** In tty mode, the binding C-c C-RET has no effect.
+
+Workaround: manually bind C-c RET to 'proof-goto-point instead.
+
+** Prover does not lock/may not notice dirty files
+
+Files are not locked when they are being read by the prover, so a long
+file could be edited and saved as the prover is processing it,
+resulting in a loss of synchronization between Emacs and the proof
+assistant. Files ought to be coloured red while they are being
+processed, just as single lines are. Workaround: be careful not to
+edit a file as it is being read by the proof assistant.
+
+* Problems with Isabelle
+
+** Issues with tracing mode
+
+Large volumes of output can cause Emacs to hog CPU spending
+all its time processing the output (esp with fontifying and X-symbol
+decoding). It becomes difficult to use normal editing commands,
+even C-c C-c to interrupt the prover. Workaround: hitting C-g,
+the Emacs quit key, will interrupt the prover in this state.
+See manual for further description of this.
+
+
+* Problems with Coq
+
+** Multiple file handling and auto-compilation is incomplete
+
+** C-c C-a C-i on long intro lines breaks line the wrong way.
+
+** coqtags doesn't find all declarations.
+
+It cannot handle lists e.g., with "Parameter x,y:nat" it only tags x
+but not y. [The same problem exists for legotags] Workaround: don't
+rely too much on the etags mechanism.
+
+
+* LEGO Proof General Bugs
+
+See lego/BUGS
+
+
Oops, something went wrong.

0 comments on commit 9d38fbc

Please sign in to comment.