Mercurial > emacs
view admin/notes/iftc @ 92055:373b00a4775c
Merge from Dave Love's 2008-01-20 version.
Require sym-comp. Add Python buffer to same-window-buffer-names.
Fixup whitespaces.
(python-font-lock-keywords): Add highlighting for Python builtins.
(python-font-lock-syntactic-keywords): Rewrite.
(python-quote-syntax): Use syntax-ppss-context instead of parsing
ppss directly.
(python-mode-map): Add binding for python-find-function.
(python-calculate-indentation): Clean up the logic.
(python-beginning-of-defun): Explicitly set return value.
(python-beginning-of-statement): Stop looping if we get stuck
going backwards.
(python-next-statement): Stop looping if we somehow end up inside
a string while advancing.
(python-preoutput-continuation, python-version-checked): New vars.
(python-check-version): New function.
(run-python): Set default command to python-command instead of
python-python-command.
(run-python): Use python-check-version. Give PYTHONPATH
precedence over data-directory in the process environment. Load
function definitions in python process after.
(python-check-comint-prompt): New function.
(python-send-command, python-send-receive): Use it.
(python-complete-symbol, python-try-complete): Functions deleted.
Use symbol-complete instead of python-complete-symbol throughout.
(python-fill-paragraph): Further refine the fenced-string regexp.
(def-python-skeleton): Expand to the original abbrev instead if in
a comment or string. Tweak skeletons for `if', `while', `for',
`try/except', `try/finally', `name'.
(python-pea-hook, python-abbrev-pc-hook): New functions.
(python-abbrev-syntax-table): New var.
(python-mode): Add python-pea-hook to pre-abbrev-expand-hook. Use
symbol-completion-try-complete for hippie expansion. Turn on font
lock unconditionally.
(python-mode-hook): Defcustom it. No need to use make-local
variable on indent-tabs-mode in "Turn off Indent Tabs mode"
option, since it's buffer-local.
| author | Chong Yidong <cyd@stupidchicken.com> |
|---|---|
| date | Thu, 21 Feb 2008 17:03:47 +0000 |
| parents | 695cf19ef79e |
| children | 375f2633d815 ef719132ddfa |
line wrap: on
line source
Iso-Functional Type Contour This is a term coined to describe "column int->float" change approach, and can be used whenever low-level types need to change (hopefully not often!) but the meanings of the values (whose type has changed) do not. The premise is that changing a low-level type potentially means lots of code needs to be changed as well, and the question is how to do this incrementally, which is the preferred way to change things. Say LOW and HIGH are C functions: int LOW (void) { return 1; } void HIGH (void) { int value = LOW (); } We want to convert LOW to return float, so we cast HIGH usage: float LOW (void) { return 1.0; } void HIGH (void) { int value = (int) LOW (); } /* iftc */ The comment /* iftc */ is used to mark this type of casting to differentiate it from other casting. We commit the changes and can now go about modifying LOW and HIGH separately. When HIGH is ready to handle the type change, the cast can be removed. ;;; arch-tag: 3309cc41-5d59-421b-b7be-c94b04083bb5
