* bug#17672: 24.4.50; [PATCH] python.el: Skeleton to insert import statements
@ 2014-06-02 21:02 Matthias Meulien
2014-06-12 2:35 ` Stefan Monnier
0 siblings, 1 reply; 2+ messages in thread
From: Matthias Meulien @ 2014-06-02 21:02 UTC (permalink / raw
To: 17672
[-- Attachment #1: Type: text/plain, Size: 82 bytes --]
The attach patch defines a skeleton to insert import statements in
Python mode.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: python.el: Skeleton to insert import statement --]
[-- Type: text/x-diff, Size: 2383 bytes --]
From 2342a864c8787f59039978196501a007ddb13e5c Mon Sep 17 00:00:00 2001
From: Matthias Meulien <orontee@gmail.com>
Date: Mon, 2 Jun 2014 22:37:07 +0200
Subject: [PATCH] python.el: Skeleton to insert import statements
---
lisp/progmodes/python.el | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 436442d..3d4d5a1 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -155,15 +155,16 @@
;; the shell completion in background so you should run
;; `python-shell-send-buffer' from time to time to get better results.
-;; Skeletons: 6 skeletons are provided for simple inserting of class,
-;; def, for, if, try and while. These skeletons are integrated with
-;; abbrev. If you have `abbrev-mode' activated and
+;; Skeletons: 7 skeletons are provided for simple inserting of class,
+;; def, for, import, if, try and while. These skeletons are
+;; integrated with abbrev. If you have `abbrev-mode' activated and
;; `python-skeleton-autoinsert' is set to t, then whenever you type
;; the name of any of those defined and hit SPC, they will be
;; automatically expanded. As an alternative you can use the defined
;; skeleton commands: `python-skeleton-class', `python-skeleton-def'
-;; `python-skeleton-for', `python-skeleton-if', `python-skeleton-try'
-;; and `python-skeleton-while'.
+;; `python-skeleton-for', `python-skeleton-import',
+;; `python-skeleton-if', `python-skeleton-try' and
+;; `python-skeleton-while'.
;; FFAP: You can find the filename for a given module when using ffap
;; out of the box. This feature needs an inferior python shell
@@ -253,6 +254,7 @@
(define-key map "\C-c\C-td" 'python-skeleton-def)
(define-key map "\C-c\C-tf" 'python-skeleton-for)
(define-key map "\C-c\C-ti" 'python-skeleton-if)
+ (define-key map "\C-c\C-tm" 'python-skeleton-import)
(define-key map "\C-c\C-tt" 'python-skeleton-try)
(define-key map "\C-c\C-tw" 'python-skeleton-while)
;; Shell interaction
@@ -2957,6 +2959,12 @@ The skeleton will be bound to python-skeleton-NAME."
> _ \n
'(python-skeleton--else) | ^)
+(python-skeleton-define import nil
+ "Import from module: "
+ "from " str & " " | -5
+ "import "
+ ("Identifier: " str ", ") -2 \n _)
+
(python-skeleton-define try nil
nil
"try:" \n
--
1.9.3
[-- Attachment #3: Type: text/plain, Size: 7337 bytes --]
In GNU Emacs 24.4.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2)
of 2014-05-27 on choubidou
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
Important settings:
value of $LC_COLLATE: C
value of $LANG: fr_FR.UTF-8
locale-coding-system: utf-8-unix
Major mode: Org
Minor modes in effect:
diff-auto-refine-mode: t
flyspell-mode: t
shell-dirtrack-mode: t
show-paren-mode: t
global-auto-complete-mode: t
global-semantic-mru-bookmark-mode: t
global-semanticdb-minor-mode: t
global-semantic-idle-scheduler-mode: t
semantic-mode: t
desktop-save-mode: t
auto-image-file-mode: t
electric-pair-mode: t
icomplete-mode: t
global-auto-revert-mode: t
auto-insert-mode: t
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
use-hard-newlines: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
auto-fill-function: org-auto-fill-function
transient-mark-mode: t
Recent input:
e m e n t s <return> M-p M-p M-p M-p C-b C-b C-b C-d
<return> C-x d <return> g q M-p C-b C-b ~ <return>
C-x d <return> g p p d x y <return> C-v C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-e <backspace> M-< C-_
C-_ C-x C-f C-x b p y t h <tab> <return> C-s i m p
o r t C-S-s C-s C-s C-s C-s C-s C-g <f9> <f9> <f9>
C-x b s h e l l <tab> 3 <tab> <return> C-x C-f 0 0
<tab> <return> C-n C-n C-x b p y t h o n <tab> <return>
M-g g 2 9 5 7 <return> C-e C-n C-n C-n C-n C-n C-n
C-n C-e <backspace> C-p C-e C-n C-n C-n C-e C-x C-s
C-x b * s h <tab> < <tab> 3 <tab> <return> M-p M-p
M-p SPC - - a m e n d <return> M-p M-p <return> C-x
C-f M-p <return> g C-_ C-x k <return> M-p M-p M-p M-p
M-p M-p M-p M-n <return> M-p M-p M-p <return> M-p M-p
M-p <return> C-x b 0 0 <tab> C-x C-f 0 0 <backspace>
<tab> <backspace> <tab> C-x C-f 0 0 1 <backspace> <tab>
<return> C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p M-< C-x
d <return> C-x 2 C-x d <M-backspace> <M-backspace>
p r o <tab> e m <tab> p a t <tab> <return> g C-x o
R M-p <return> g C-x o C-x o g n <return> C-x o C-x
b p y t h o <tab> <return> M-< C-n C-n C-n C-n M-f
C-n C-n <S-up> C-x o C-x o M-x r e p o r t SPC e m
<tab> <return>
Recent messages:
Omitting...
(Nothing to omit)
Omitting...
(Nothing to omit)
Move: 1 file
Omitting...
Omitted 7 lines.
Omitting...
Omitted 3 lines.
Mark set
Load-path shadows:
None found.
Features:
(shadow sort mail-extr gnus-msg gnus-art mm-uu mml2015 epg-config
mm-view mml-smime smime password-cache dig mailcap gnus-sum emacsbug
sendmail find-dired grep debug org-table org-id conf-mode diff-mode
add-log log-view pcvs-util descr-text hl-line rect dabbrev bookmark
tabify info-look pp derived pcase time-stamp semantic/edit diary-lib
diary-loaddefs reftex-dcr reftex reftex-vars tex-mode warnings inversion
semantic/bovine/c hideif semantic/bovine/c-by semantic/lex-spp
semantic/bovine/gcc semantic/analyze/refs cwarn sh-script executable
css-mode smie semantic/wisent/javascript-jv semantic/wisent/js-wy
semantic/java semantic/doc cap-words superword subword js json imenu
arc-mode archive-mode rst semantic/tag-write face-remap vc-dir ewoc vc
vc-dispatcher generic eieio-opt help-mode misearch multi-isearch
mule-util semantic/html sgml-mode semantic/bovine/make semantic/analyze
semantic/sort semantic/scope semantic/analyze/fcn
semantic/bovine/make-by semantic/bovine make-mode dired-aux avoid
flyspell ox-latex ox-icalendar ox-html ox-ascii ox-publish ox goto-addr
org-element org-rmail org-mhe org-irc org-info org-gnus org-docview
doc-view jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m vc-git
semantic/tag-file semantic/db-file data-debug cedet-files
semantic/wisent/python semantic/decorate/include semantic/db-find
semantic/db-ref semantic/decorate/mode semantic/decorate pulse
semantic/dep semantic/wisent/python-wy semantic/wisent
semantic/wisent/wisent rx python ob-sh shell ob-plantuml paren
choubidou-custom cus-edit cus-start cus-load gnus-demon nntp gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls utf7 netrc
parse-time gnus-spec gnus-win nnoo gnus-int gnus-range message rfc822
mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus gnus-ems
nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit gnus-dired
dired-x dired org-capture org org-macro org-footnote org-pcomplete
pcomplete org-list org-faces org-entities noutline outline easy-mmode
org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table
ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs
dictionary link connection irfc url-vars flymake-csslint php-mode etags
cc-langs speedbar sb-image dframe sql view thingatpt flymake-jslint
flymake-python-pyflakes flymake-easy advice help-fns flymake compile
comint hideshow skeleton find-file whitespace auto-complete edmacro
kmacro cl-macs popup cl minimap semantic/mru-bookmark ring
semantic/db-mode semantic/db gv eieio-base semantic/idle semantic/format
ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
cedet ispell desktop frameset server woman man cl-loaddefs cl-lib
ansi-color image-file tar-mode saveplace elec-pair icomplete windmove
autorevert filenotify autoinsert cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs generic-x
Django-doc-autoloads auto-complete-autoloads
color-theme-solarized-autoloads doctags-autoloads
flymake-csslint-autoloads flymake-jslint-autoloads
flymake-easy-autoloads gist-autoloads finder-inf gh-autoloads eieio
byte-opt bytecomp byte-compile cconv eieio-core info easymenu
gnuplot-autoloads graphviz-dot-mode-autoloads htmlize-autoloads
logito-autoloads php-mode-autoloads popup-autoloads
symbols-mode-autoloads package time-date tooltip electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)
Memory information:
((conses 16 1100492 207925)
(symbols 48 63889 0)
(miscs 40 8990 837)
(strings 32 406285 30443)
(string-bytes 1 8349847)
(vectors 16 64126)
(vector-slots 8 1844234 141588)
(floats 8 408 778)
(intervals 56 43444 0)
(buffers 960 239)
(heap 1024 122508 19429))
^ permalink raw reply related [flat|nested] 2+ messages in thread
* bug#17672: 24.4.50; [PATCH] python.el: Skeleton to insert import statements
2014-06-02 21:02 bug#17672: 24.4.50; [PATCH] python.el: Skeleton to insert import statements Matthias Meulien
@ 2014-06-12 2:35 ` Stefan Monnier
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2014-06-12 2:35 UTC (permalink / raw
To: Matthias Meulien; +Cc: 17672-done
> The attach patch defines a skeleton to insert import statements in
> Python mode.
Thanks, installed,
Stefan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-06-12 2:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-02 21:02 bug#17672: 24.4.50; [PATCH] python.el: Skeleton to insert import statements Matthias Meulien
2014-06-12 2:35 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.