From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Francesco =?UTF-8?Q?Potort=C3=AC?= Newsgroups: gmane.emacs.bugs Subject: bug#25454: 25.1; improvement ftoopy-from-above-command Date: Sun, 15 Jan 2017 21:00:30 +0100 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: blaine.gmane.org 1484510487 29996 195.159.176.226 (15 Jan 2017 20:01:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 15 Jan 2017 20:01:27 +0000 (UTC) To: 25454@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jan 15 21:01:20 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cSqzK-0006Oo-Fm for geb-bug-gnu-emacs@m.gmane.org; Sun, 15 Jan 2017 21:01:14 +0100 Original-Received: from localhost ([::1]:52738 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cSqzL-0001cK-LU for geb-bug-gnu-emacs@m.gmane.org; Sun, 15 Jan 2017 15:01:15 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52748) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cSqzB-0001bi-6m for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:01:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cSqz7-0002jy-VF for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:01:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39629) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cSqz7-0002jq-RP for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:01:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cSqz7-0001an-L5 for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:01:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Francesco =?UTF-8?Q?Potort=C3=AC?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Jan 2017 20:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 25454 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.14845104526095 (code B ref -1); Sun, 15 Jan 2017 20:01:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 15 Jan 2017 20:00:52 +0000 Original-Received: from localhost ([127.0.0.1]:55028 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cSqyy-0001aE-0Y for submit@debbugs.gnu.org; Sun, 15 Jan 2017 15:00:52 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:33509) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cSqyv-0001Zz-Mo for submit@debbugs.gnu.org; Sun, 15 Jan 2017 15:00:50 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cSqyo-0002gi-Kc for submit@debbugs.gnu.org; Sun, 15 Jan 2017 15:00:44 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:38414) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cSqyo-0002ge-Ho for submit@debbugs.gnu.org; Sun, 15 Jan 2017 15:00:42 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cSqym-0001aN-94 for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:00:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cSqyi-0002g1-RL for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:00:40 -0500 Original-Received: from blade3.isti.cnr.it ([194.119.192.19]:47123) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cSqyi-0002fr-7M for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 15:00:36 -0500 Original-Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #1251) with ESMTPSA id <01Q9Q6PHA1USDFBFYZ@mx.isti.cnr.it> for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 21:00:31 +0100 (MET) Original-Received: from pot by tucano.isti.cnr.it with local (Exim 4.88) (envelope-from ) id 1cSqyd-0002ZH-2s for bug-gnu-emacs@gnu.org; Sun, 15 Jan 2017 21:00:31 +0100 X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:128135 Archived-At: This is the version I use: it copies line from above as the stock one, but when called repeatedl= y it copies from further above lines. Moreover, when called with a numeric argument, increments all the numbers fund in the copied text = by the argument. ;; Modified from misc.el distributed with 19.30 ;; by "Francesco Potort=C3=AC " (defvar my-copy-from-above-lines -1) (defvar my-copy-from-above-chars 0) (defvar my-copy-from-above-inc 0) (defun my-copy-from-above-command (&optional arg) "Copy the previous line incrementing numbers, starting just above p= oint. All integer numbers fetched as part of the line are incremented by AR= G. If no argument is given, numbers are left as they are. Successive invocations of this command fetch successively previous li= nes. The characters copied are inserted in the buffer before point, mark i= s set to the beginning of the inserted string." (interactive "P") (if (eq last-command 'copy-from-above-command) (progn =09(delete-char (- copy-from-above-chars)) =09(setq copy-from-above-lines (1- copy-from-above-lines))) (push-mark) (setq copy-from-above-lines -1) (setq copy-from-above-inc (if arg (prefix-numeric-value arg) 0))) (let ((cc (current-column)) =09(string "")) (save-excursion (forward-line copy-from-above-lines) (move-to-column cc) ;; If current column winds up in middle of a tab, ;; copy appropriate number of "virtual" space chars. (if (< cc (current-column)) =09 (if (=3D (preceding-char) ?\t) =09 (setq string (make-string (- (current-column) cc) ?\ )) =09 ;; In middle of ctl char =3D> copy that whole char. =09 (backward-char 1))) (setq string (concat string =09=09=09 (buffer-substring (point) =09=09=09=09=09 (save-excursion =09=09=09=09=09 (end-of-line) (point)))))) (let ((index 0) =09 (oldstr "") =09 (newstr "")) (while (string-match "[0-9]+" string index) =09(setq oldstr (match-string 0 string)) =09(setq newstr =09 (format =09 (concat "%0" (int-to-string (length oldstr)) "d") =09 (+ copy-from-above-inc (string-to-number oldstr)))) =09(setq index (+ (match-beginning 0) (length newstr))) =09(setq string (replace-match newstr nil nil string)))) (setq copy-from-above-chars (length string)) (insert string))) (global-set-key "\M-p" 'my-copy-from-above-command) In GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bar= s) of 2016-10-24, modified by Debian built on trouble Windowing system distributor 'The X.Org Foundation', version 11.0.119= 00000 System Description:=09Debian GNU/Linux testing (stretch) Configured using: 'configure --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs25:/etc/emacs:/usr/local/share/em= acs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/= 25.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=3Dalsa --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs25:/etc/emacs:/usr/local/share/em= acs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/= 25.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=3Dalsa --with-x=3Dyes --with-x-toolkit=3Dlucid --with-toolkit-scroll-bars --without-gconf --without-gsettings 'CFLAGS=3D-g -O2 -fdebug-prefix-map=3D/build/emacs25-25.1+1=3D. -fstack-protector-str= ong -Wformat -Werror=3Dformat-security -Wall' 'CPPFLAGS=3D-Wdate-time -D_FORTIFY_SOURCE=3D2' LDFLAGS=3D-Wl,-z,relro' Configured features: XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS NOTIFY AC= L LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 Important settings: value of $LC_COLLATE: it_IT.UTF-8 value of $LC_CTYPE: it_IT.UTF-8 value of $LC_NUMERIC: C value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Text Minor modes in effect: filladapt-mode: t global-visual-fill-column-mode: t diff-auto-refine-mode: t TeX-PDF-mode: t desktop-save-mode: t epa-global-mail-mode: t shell-dirtrack-mode: t openwith-mode: t xterm-mouse-mode: t display-time-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill Recent messages: No following nondeleted message Expunging deleted messages...done Computing summary lines...done Showing message 897... Saving file /home/pot/Mail/RMAIL... Wrote /home/pot/Mail/RMAIL [2 times] Showing message 1363...done (No new mail has arrived) 0 new messages read Showing message 1363...done Load-path shadows: ~/elisp/bhl hides /usr/share/emacs/site-lisp/bhl /usr/share/emacs25/site-lisp/flim/md4 hides /usr/share/emacs/25.1/lis= p/md4 /usr/share/emacs25/site-lisp/flim/hex-util hides /usr/share/emacs/25.= 1/lisp/hex-util /usr/share/emacs/site-lisp/rst hides /usr/share/emacs/25.1/lisp/textm= odes/rst ~/elisp/bibtex hides /usr/share/emacs/25.1/lisp/textmodes/bibtex /usr/share/emacs25/site-lisp/flim/ntlm hides /usr/share/emacs/25.1/li= sp/net/ntlm /usr/share/emacs25/site-lisp/flim/hmac-md5 hides /usr/share/emacs/25.= 1/lisp/net/hmac-md5 /usr/share/emacs25/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/25= .1/lisp/net/sasl-ntlm /usr/share/emacs25/site-lisp/flim/sasl-digest hides /usr/share/emacs/= 25.1/lisp/net/sasl-digest /usr/share/emacs25/site-lisp/flim/sasl hides /usr/share/emacs/25.1/li= sp/net/sasl /usr/share/emacs25/site-lisp/flim/sasl-cram hides /usr/share/emacs/25= .1/lisp/net/sasl-cram /usr/share/emacs25/site-lisp/flim/hmac-def hides /usr/share/emacs/25.= 1/lisp/net/hmac-def /usr/share/emacs25/site-lisp/auctex/tex-fold hides /usr/share/emacs/s= ite-lisp/auctex/tex-fold /usr/share/emacs25/site-lisp/auctex/context-en hides /usr/share/emacs= /site-lisp/auctex/context-en /usr/share/emacs25/site-lisp/auctex/tex-info hides /usr/share/emacs/s= ite-lisp/auctex/tex-info /usr/share/emacs25/site-lisp/auctex/plain-tex hides /usr/share/emacs/= site-lisp/auctex/plain-tex /usr/share/emacs25/site-lisp/auctex/tex-mik hides /usr/share/emacs/si= te-lisp/auctex/tex-mik /usr/share/emacs25/site-lisp/auctex/texmathp hides /usr/share/emacs/s= ite-lisp/auctex/texmathp /usr/share/emacs25/site-lisp/auctex/context-nl hides /usr/share/emacs= /site-lisp/auctex/context-nl /usr/share/emacs25/site-lisp/auctex/toolbar-x hides /usr/share/emacs/= site-lisp/auctex/toolbar-x /usr/share/emacs25/site-lisp/auctex/tex hides /usr/share/emacs/site-l= isp/auctex/tex /usr/share/emacs25/site-lisp/auctex/tex-jp hides /usr/share/emacs/sit= e-lisp/auctex/tex-jp /usr/share/emacs25/site-lisp/auctex/bib-cite hides /usr/share/emacs/s= ite-lisp/auctex/bib-cite /usr/share/emacs25/site-lisp/auctex/multi-prompt hides /usr/share/ema= cs/site-lisp/auctex/multi-prompt /usr/share/emacs25/site-lisp/auctex/font-latex hides /usr/share/emacs= /site-lisp/auctex/font-latex /usr/share/emacs25/site-lisp/auctex/prv-emacs hides /usr/share/emacs/= site-lisp/auctex/prv-emacs /usr/share/emacs25/site-lisp/auctex/tex-style hides /usr/share/emacs/= site-lisp/auctex/tex-style /usr/share/emacs25/site-lisp/auctex/context hides /usr/share/emacs/si= te-lisp/auctex/context /usr/share/emacs25/site-lisp/auctex/preview hides /usr/share/emacs/si= te-lisp/auctex/preview /usr/share/emacs25/site-lisp/auctex/tex-font hides /usr/share/emacs/s= ite-lisp/auctex/tex-font /usr/share/emacs25/site-lisp/auctex/tex-bar hides /usr/share/emacs/si= te-lisp/auctex/tex-bar /usr/share/emacs25/site-lisp/auctex/latex hides /usr/share/emacs/site= -lisp/auctex/latex /usr/share/emacs25/site-lisp/auctex/tex-buf hides /usr/share/emacs/si= te-lisp/auctex/tex-buf ~/elisp/bhl hides /usr/share/emacs25/site-lisp/bhl /usr/share/emacs/site-lisp/debian-startup hides /usr/share/emacs25/si= te-lisp/debian-startup Features: (find-dired loadhist novice wdired animate misc ruler-mode cal-x debu= g two-column iso-transl apropos pcmpl-gnu pcmpl-linux macros python tramp-sh tar-mode anything-config anything woman mailcap undigest cal-move smerge-mode diff doc-view vc-cvs pcmpl-unix json-mode rx cus-edit wid-edit cus-start cus-load rmailedit tabify man vc-dir ewoc tramp-cache shadow emacsbug reporter debian-bug mail-extr texmathp nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml= -ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok tm= m ido etags xref project ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff js json map imenu ispell log-v= iew pp visual-fill-column locate dired-aux eieio-opt speedbar sb-image ezimage dframe find-func timezone rmailsort face-remap url-handlers n= ero cl rect log-edit pcvs-util add-log grep dabbrev diff-mode vc rmailkwd mailalias rmailout shr-color color time-stamp misearch multi-isearch server parse-time unrmail qp url-util shr dom subr-x browse-url jka-compr cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-ali= gn cc-engine cc-vars cc-defs bibtex info sh-script executable sgml-mode vc-filewise vc-rcs image-mode view conf-mode generic octave smie latexenc plain-tex vc-dispatcher vc-svn preview prv-emacs tex-bar tex-buf toolbar-x noutline outline font-latex latex easy-mmode edmacr= o kmacro tex-style tex dbus xml crm tex-mode compile rmailmm message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader mail-parse rfc2231 desktop frameset term/xterm xterm pot skeleton rmailsum rmail warnings sendmail rfc2047 rfc2045 ietf-drums mime-compose epa-mail mail-utils epa derived epg cal-china lunar sola= r cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs vc-hg ap= pt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete comint ring format-spec bhl switch-to-shell openwith hi-lock xt-mouse ffap thingatpt url-parse auth-source cl-seq eieio eieio-core cl-macs gnus-util time-date mm-util help-fns mail-prsvr password-cache url-va= rs scroll-in-place filladapt ansi-color advice time quail dired-x dired generic-x disp-table finder-inf package epg-config seq byte-opt gv bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib debian-el debian-el-loaddefs w3m-load vm-autoload vm-autoloads vm-version vm-vars vm-init preview-latex tex-site auto-loads mule-util tooltip eldoc electric uniquify ediff-hook vc-ho= oks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fonts= et image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mod= e prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic c= ham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-h= ook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded 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 dbusbind inotify dynamic-setting font-render-setting x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1167121 238907) (symbols 48 60626 41) (miscs 40 7205 6060) (strings 32 175459 30474) (string-bytes 1 5173380) (vectors 16 86824) (vector-slots 8 2196884 87712) (floats 8 1410 1185) (intervals 56 165132 8825) (buffers 976 242))