Giter VIP home page Giter VIP logo

back-button's People

Contributors

jocap avatar rolandwalker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

back-button's Issues

Slow navigation

Back-button navigation is very slow, the local back-button action takes about 4.5 seconds. I'm on Emacs 26.3 and Windows 10, running on a new gaming laptop with an i7-9750H (2.60GHz) processor and 16 GB RAM.

Consume large memory

If I enable back-button-mode on my Ubuntu 16.04 with Emacs 24.5, it consumes at least more 20+MB memory. Is it possible to decrease memory usage?

Does not work with smartrep and arrow keys

This packages is great, but from some reason the smartrep does not keep the C-x prefix with arrows. When I do C-x <left> it activates, but then when I do <left> it immediately quits and move my cursor. The same for C-<left> and right arrow. What works is C-x SPC.

Any idea what is wrong, or how to debug it?

pulse functionality break when using back-button

When back-button mode is enabled, (pulse-momentary-highlight-one-line (point)) call does not work as expected. The line gets highlighted but highlighted color does not disappear until a key is pressed.

This function is used in helm-gtags package

I kindly request you to look into this.

slow autoloading?

I takes a few seconds to execute .e.g. "back-button-local-forward" the first time after starting emacs.

how to preload the relevant parts so that it's fast initially?

`back-button` commands return wrong-type-argument error

Calling any of the back-button commands, such as back-button-local-backward, returns

Debugger entered--Lisp error: (wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil])

Here’s the backtrace:

Debugger entered--Lisp error: (wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil])
  intern("back-button-local-forward" [nil nil nil nil nil nil nil nil nil nil nil nil nil])
  #f(compiled-function (x) #<bytecode 0x830bd57b>)(("<right>" . back-button-local-forward))
  mapc(#f(compiled-function (x) #<bytecode 0x830bd57b>) (("<right>" . back-button-local-forward) ("<left>" . back-button-local-backward) ("<SPC>" . back-button-local) ("<C-right>" . back-button-global-forward) ("<C-left>" . back-button-global-backward) ("<C-SPC>" . back-button-global)))
  smartrep-define-key((keymap) "C-x" (("<right>" . back-button-local-forward) ("<left>" . back-button-local-backward) ("<SPC>" . back-button-local) ("<C-right>" . back-button-global-forward) ("<C-left>" . back-button-global-backward) ("<C-SPC>" . back-button-global)))
  byte-code("\306\30\11\32\n\203\206\0\n@\33\307\310\13!\311P!J\34\f\203~\0\f@\35\312\15\306\313\3\3\3\314$\266\203\2047\0\13\315N\2047\0\316\13\315\317\15!#\210\320\321!\203n\0\0165;\203n\0\0165G\322V\203n\0\323\0165\324Q\15\306\313\3\3\3\314$\266\203\203n\0\325\323\0165\326Q\327\15#\13B\10B\20\202w\0\330\0166\317\15!\13#\210\fA\24)\202\24\0)\nA\22)\202\4\0)\10\203\223\0\331\0166\0165\10#\210)\0167\203\332\0\332\168\333\334\335!\203\250\0\16\35\202\251\0\336#\210\337\340\341\342\343\344\345\346&\7\210\337\347\350\351\343\352\345\353&\7\210\337\354\355\356\343\357\345\360&\7\210\330\169\361\362#\210\330\169\363\364#\210\306\207" [smart-keys back-button-commands tail cmd tail k nil intern symbol-name "-keystrokes" "mouse\\|wheel\\|button" string-match t :advertised-binding put read-kbd-macro featurep smartrep 0 "\\`" "\\>" replace-regexp-in-string "\\>[ \11]*" "" define-key smartrep-define-key define-key-after [separator-backb] boundp menu-bar-separator "--" tool-bar-add-item "left-arrow" back-button-global-backward back-button :label "Back By Mark" :visible (and back-button-mode back-button-show-toolbar-buttons) "mpc/add" back-button-push-mark-local-and-global back-button-push "push Mark" (and back-button-mode back-button-show-toolbar-buttons) "right-arrow" back-button-global-forward forward-button "Forward By Mark" (and back-button-mode back-button-show-toolbar-buttons) [tool-bar S-back-button] back-button-local-backward [tool-bar S-forward-button] back-button-local-forward back-button-smartrep-prefix back-button-mode-map back-button-show-toolbar-buttons tool-bar-map global-map] 8)
  command-execute(back-button-local-backward record)
  execute-extended-command(nil "back-button-local-backward" nil)
  funcall-interactively(execute-extended-command nil "back-button-local-backward" nil)
  command-execute(execute-extended-command)

GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin23.2.0, NS appkit-2487.30 Version 14.2.1 (Build 23C71)) of 2024-03-13
macOS 14.2.1 (23C71)

How to change the prefix?

I'd like to change the prefix from C-x to C-c

I changed back-button-smartrep-prefix but it doesn't affect back-button-global-forward-keywtrokes and other similiar keys with C-x bindings.

Bugs when powerline is loaded earlier

Hello,

This bug is kinda weird, so I'm not sure if it really belongs here or in powerline. I also don't suffer from it because right now back-button is loaded before powerline so everything works fine, which makes me lazy enough to simply report instead of finding the cause :P

If you want to see it tho, here is how to reproduce:

  • Use MELPA
  • M-x package-install back-button
  • M-x package-install powerline
  • M-x powerline-default-theme
  • M-x back-button-mode

This yields the following backtrace:

Debugger entered--Lisp error: (wrong-type-argument consp nil)
  byte-code("\303�>\206 \304�>\305��    �\235\204�\n    \nAB\241\210*\303\207" [mode-line-format newcdr cell mode-line-position mode-line-buffer-identification smartrep-mode-line-string] 3)
  require(smartrep nil t)
  byte-code("\300\301!\210\300\302\303\304#\210\300\305\303\304#\210\300\306\303\304#\210\300\307\303\304#\210\310\311\303\312\313\314\315\316\315\317\315\320\321\322\323\324\323\325&�\210\326\327\330\331\332\333\323\311&�\210\334\327\335\304#\210\326\336\303\337\332\340\323\311&�\210\326\341\304\342\332\340\323\311&�\210\326\343\304\344\332\340\323\311&�\210\326\345\303\346\332\340\323\311&�\210\326\347\303\350\332\340\323\311&�\210\310\351\303\352\323\311%\210\326\353\354\355\332\356\323\351&�\210\326\357\360\361\332\362\323\351&�\210\326\363\364\365\332\333\323\351&�\210\326\366\367\370\332\333\323\351&�\210\310\371\303\372\323\311%\210\326\373\374\375\332\333\323\371&�\210\326\376\377\201@\332\201A\323\371&�\210\326\201B\201C\201D\332\201E\323\371&�\210\326\201F\201G\201H\332\201I\323\371&�\210\326\201J\201K\201L\332\201M\323\371&�\210\326\201N\201O\201P\332\201Q\323\371&�\210\326\201R\201S\201T\332\201U\323\371&�\207" [require cl smartrep nil t nav-flash visible-mark ucs-utils custom-declare-group back-button "Visual navigation through mark rings." :version "0.6.6" :link (emacs-commentary-link :tag "Commentary" "back-button") (url-link :tag "GitHub" "http://github.com/rolandwalker/back-button") (url-link :tag "EmacsWiki" "http://emacswiki.org/emacs/BackButton") :prefix "back-button-" :group convenience navigation custom-declare-variable back-button-mode-lighter " back" "This string appears in the mode-line when `back-button-mode' is active.\n\nSet to nil or the empty string to disable the mode-line\nlighter for `back-button-mode'." :type string put risky-local-variable back-button-less-feedback "Give less echo area feedback." boolean back-button-show-toolbar-buttons "Add buttons to the toolbar." back-button-show-visible-marks "Temporarily show marks using `visible-mark' when available." back-button-no-wrap "Do not wrap around the ring when navigating marks." back-button-never-push-mark "Never add a mark while navigating marks.\n\nThis option makes the back-button command work more like the\nstandard `pop-global-mark command', but breaks the functionality\nof remembering the start location." back-button-index "How to display the mark-ring index after interactive commands." back-button-show-index (quote echo) "How to display the mark-ring index.\n\nThis indicator shows progress through the ring after each\ncommand." (choice (const :tag "Echo Area" echo) (const :tag "Popup" popup) (const :tag "None" nil)) back-button-index-timeout 2 "How long to display the mark-ring index after each command.\n\nSet to nil or 0 for no timeout." ...] 18)
  autoload-do-load((autoload "back-button" "Turn on back-button-mode.\n\nWhen called interactively with no prefix argument this command\ntoggles the mode.  With a prefix argument, it enables the mode\nif the argument is positive and otherwise disables the mode.\n\nWhen called from Lisp, this command enables the mode if the\nargument is omitted or nil, and toggles the mode if the argument\nis 'toggle.\n\n(fn &optional ARG)" t nil) back-button-mode)
  command-execute(back-button-mode record)
  execute-extended-command(nil "back-button-mode" "back-button-mo")
  funcall-interactively(execute-extended-command nil "back-button-mode" "back-button-mo")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

ucs-utils causes slow shutdown on Windows

It seems that ucs-utils causes C-x C-c to take around three, four seconds on Windows 7. I have yet to figure out exactly what causes it within ucs-utils, but in the mean time, seeing as how Unicode characters aren't really essential to back-button-mode, it may be a good idea to make ucs-utils an optional dependency or to disable it when the operating system is Windows. The following change (around line 417) would fix it:

-(when (featurep 'ucs-utils)
+(when (and (featurep 'ucs-utils)
+           (not (equal system-type 'windows-nt)))
-  (setq back-button-spacer-char (ucs-utils-char back-button-index-spacer-ucs-name back-button-spacer-char 'cdp))
-  (setq back-button-thumb-char  (ucs-utils-char back-button-index-thumb-ucs-name  back-button-thumb-char  'cdp)))

As it stands, installing and enabling back-button-mode causes slow shutdowns on my Windows 7 system at least, even with -Q and even if back-button-mode is disabled again. Ideally, I'd like to find the cause in ucs-utils, but I haven't been able to do so yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.